17春北理工《C语言程序设计》在线作业.doc
2017秋17春北理工《C语言程序设计》在线作业
一、单选题(共 40 道试题,共 80 分。)
1. 已知:int x=1,y=2,z;则执行z=x>y?++x:++y;则z的值为( )。
A. 1
B. 2
C. 3
D. 4
正确答案:
2. 指出程序结束时,j、i、k的值分别是( )。main(){int a=10,b=5,c=5,d=5,i=0,j=0,k=0;for(;a>b;++b)i++;while(a> ++c)j++;do k++;while(a>d++);}
A. j=5,i=4,k=6;
B. i=5,j=4,k=6;
C. j=6,i=5,k=7
D. j=6,i=6,k=6;
正确答案:
3. 执行以下程序段后,c3的值是()。int c1=1,c2=2,c3; c3=c1/c2;
A. 0
B. 1/2
C. 0.5
D. 1
正确答案:
4. 已知:char s[10],*p=s,则在下列语句中,错误的语句是( )。
A. p=s+5;
B. s=p+s;
C. s[2]=p[4];
D. *p=s[0];
正确答案:
5. 以下程序的输出是( )。main(){char a[2][5]={“6937”,”8254”};int i,j,s=0;for(i=0;i<2;i++)for(j=0;a[i][j]>'0'&&a[i][j]<='9';j+=2)s=10*s+a[i][j]-‘0’;printf(“s=%d ”,s);}
A. 6385
B. 69825
C. 63825
D. 693825
正确答案:
6. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是( )。
A. 编辑和编译
B. 编译和连接
C. 连接和运行
D. 编辑和运行
正确答案:
7. 已知: struct{int i; char c; float a; }test; 则sizeof(test)的值是( )。
A. 4
B. 5
C. 6
D. 7
正确答案:
8. 下列说法中正确的是( )。
A. break用在switch语句中,而continue用在循环语句中。
B. break用在循环语句中,而continue用在switch语句中。
C. break能结束循环,而continue只能结束本次循环。
D. continue能结束循环,而break只能结束本次循环。
正确答案:
9. 下面个选项组中,均属于C语言关键字的一组是( )。
A. auto,enum,include
B. switch,typedef,continue
C. signed,union,scanf
D. if,struct,type
正确答案:
10. 若有char a[80],b[80];则正确的是( )。
A. puts(a,b);
B. printf(“%s,%s”a[ ],b[ ]);
C. putchar(a,b);
D. puts(a);puts(b);
正确答案:
11. 说明语句"int (*p)(); "的含义是( )。
A. p是一个指向一维数组的指针变量
B. p是一个指针变量,指向一个整型数据
C. p是一个指向函数的指针,该函数的返回值是一个整型
D. 以上都不对
正确答案:
12. 执行以下程序段后,a,b,c的值分别是( )。int a,b=100,c,x=10,y=9;a=(--x= =y++)?—x:++y; if(x<9) b=x++;c=y;
A. 9,9,9
B. 8,8,10
C. 9,10,9
D. 1,11,10
正确答案:
13. 若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是( )。
A. scanf("%f",&c);
B. scanf("8.4f",&c);
C. scanf("%6.2f",&c);
D. scanf("8f",&c);
正确答案:
14. 若有以下定义和语句:struct student{int num,age;};struct student stu[3]={{1001,20},{1001,19},{1003,21}};struct student *p=stu;则以下错误的引用是( )。
A. (p++)->num
B. p++
C. (*p).num
D. p=&stu.age
正确答案:
15. 已知:int a,*p=&a; 则下列函数调用中错误的是( )
A. scanf("%d",&a);
B. scanf("%d",p);
C. printf("%d",a);
D. printf("%d",p);
正确答案:
16. 利用f