2019年上海市高等学校计算机等级考试试卷二级C语言程序设计10页word
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2019年上海市高等学校计算机等级考试试卷
二级 C语言程序设计
(本试卷考试时间 120 分钟)
一、单选题 ( 本大题 15 道小题,每小题 1 分,共 15 分),从下面题目给出的A、B、C、
D四个可供选择的答案中选择一个正确答案。
1. 以下C程序中预处理命令写法正确的是:
答案: D
A. #include (stdio.h)
B. #include [stdio.h]
C. #include {stdio.h}
D. #include
2. 设有变量定义语句char a; 则下面的赋值语句中 ( ) 是正确的。
答案: A
A. a='&';
B. a="&";
C. a=' ' ';
D. a='16' ;
3. 设有char ch; 与语句“ch=getchar();”等价的语句是:答案: D
A. printf("%c",ch);
B. printf("%c",&ch);
C. scanf("%c",ch);
D. scanf("%c",&ch);
4. int a=2, b=5;则表达式21%9/(float)a+4/b*b的运算结果为( )。
答案: C
A. 2
B. 1
C. 1.5
D. 0
5. 能正确表示逻辑关系"a>=10 或 a<=0"的C语言表达式是( )。
答案: C
A. a>=10 or a<=0
B. a<=0|a>=10
C. a<=0||a>=10
D. a>=10 && a<=0
6. 设有int n=60;写出下列语句的运行结果
switch (n/10)
case 6: printf("@");break;
case 5: printf("#");
default: printf("$");
答案: D
A. @#$
B. #$
C. $
D. @
7. 设有int i; 以下语句中,循环次数为100次的语句是:
答案: D
A. for ( i=0; i<=100; i++ )
B. for ( i=0; i<99; i++ )
C. for ( i=1; i<99; i++ )
D. for ( i=0; i<100; i++ )
8. C程序中,用于提前结束本次循环、进行下一次循环的语句是( )。
答案: B
A. break
B. continue
C. return
D. exit
9. 若有数组定义语句:int t[3][2];则 t数组最后一个元素是:
答案: D
A. t[3][2]
B. t[2][3]
C. t[2]
D. t[2][1]
10. 设有定义int a[]={1,3,5,7,9},*p=a; while(*p!=3) p++; 结果为7的表达式是:
答案: A
A. *(p+2)
B. *(p+3)
C. *p+2
D. *p+3
11. char a[10];不能将字符串"abc"存储在数组a中的是( )。
答案: C
A. strcpy(a,"abc");
B. a[0]=0;strcat(a,"abc");
C. a="abc";
D. int i; for(i=0;i<3;i++)a[i]=i+97;a[i]=0;
12. 设有下列函数原型和变量定义语句,则合法的函数调用语句是:
int func( int a[], int n );
int a[10], n, x;
答案: B
A. func( a, n ) = x;
B. x = func( a, n );
C. x = func( a[], n );
D. x = func( a[10], n );
13. 若有以下定义,输出字母M的语句是:
struct person
char name[9];
int age;
struct person st[10] =
{{"john",17},{"paul",19},{"Mary",18}};
答案: D
A. printf("%c",st[2].name);
B. printf("%c",st[3].name[1]);
C. printf("%c",st[2].name[1]);
D. printf("%c",st[2].name[0]);
14. 需要以写模式打开当前目录下一个名为myfile.txt的文本文件,下列打开文件正确的选项是:
答案: B
A. fopen("myfile.txt","r");
B. fopen("myfile.txt","w");
C. fopen("myfile.txt","rb");
D. fopen("myfile.txt","wb");
15. 假定建立了以下链表结构:struct node{
char id ;
struct node *next;
} *head,*p;
如下图所示:指针p指向一个新结点,将新结点插入到链表成为头结点的两条C语言语句是【】答案: D
A. head=p->next; p=head;
B. p->data=head; head=p;
C. head=p->data; p=head;
D. p->next=head; head=p;
二、程序填空题 ( 本大题 3 道小题,每空 2.5 分,共 30 分)。
1. 程序运行时输出如图所示的数字倒三角形
1234567
12345
123
1
源程序:
#include
void main()
{ int i,j;
____1____;
for(i=1;i<=4;i++)
{ k=1;
for(j=1;j
putchar(' '); /* 输出空格 */
for(j=9-2*i;j>0;j--)
printf("%d", k );
____2____;
putchar(____3____);
1):【int k】