精品文档
2008-2009(上)C语言程序设计1-5章测试试题 姓名__________学号__________成绩__________
一、选择题(每小题1分,共60分) 1、 若有以下程序段 int m=0xabc,n=0xabc; m-=n;
printf(\
执行后输出结果是(C )。
A) 0X0 B) 0x0 C) 0 D) 0XABC 2、以下不合法的用户标识符是( C )
A)j2_KEY B)Double C) 4d D) _8_ 3、以下不合法的数值常量是( C )
A)011 B)1e1 C) 8.0E0.5 D) 0xabcd 4、以下不合法的字符常量是 ( A )
A)'\\018' B) '\\”' C) '\\\\' D) ‘\\xcc' 5、表达式3.6-5/2+1.2+5%2的值是 ( D )
A)4.3 B) 4.8 C) 3.3 D) 3.8 6、以下能正确定义字符串的语句是( D )
A)char str[]={‘s',’t’,’r’,’i’,’n’,’g’}; B) char str=”\\x43”; C) char str=”string”; D) char *str=”string”; 7、以下数组定义中错误的是( B )
A) int x[][3]={0}; B) int x[2][3]={{1,2},{3,4},{5,6}}; C) nt x[][3]={{1,2,3},{4,5,6}}; D) int x[2][3]={1,2,3,4,5,6}; 8、若要求从键盘读入含有空格字符的字符串,应使用函数( B ) A)getc() B) gets() C) getchar() D) scanf() 9、 下四个程序中,完全正确的是( B )
A)#include
{/*programming*/ {/*/programming/*/ printf(“programming!\\n”);} printf(“programming!\\n”);} C) #include”stdio.h” D) include
{/*/*programming*/*/ {/*programming*/ printf(“programming!\\n”);} printf(“programming!\\n”);}
10、若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是(C ) 精品文档
精品文档
A)switch(x) B) switch((int)x); {case 1.0: printf(“*\\n”); {case 1: printf(“*\\n”); case 2.0: printf(“**\\n”); } case 2: printf(“**\\n”);} C) switch(a+b) D) switch(a+b)
{ case 1: printf(“*\\n”); {case 1: printf(“*\\n”); case 2+1: printf(“**\\n”);} case c: printf(“**\\n”);}
11、若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是( A )
A)main() B) float fun(int a,int b){……} {……x=fun(2,10);……} main()
float fun(int a,int b){……} {……x=fun(i,j);……} C) float fun(int,int); D) main()
main() { float fun(int i,int j); {……x=fun(2,10);……} ……x=fun(i,j);……} float fun(int a,int b){……} float fun(int a,int b){……}
12、在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( C) A)(!E=0) B) (E>0||E<0) C) (E==0) D) (E!=0)
13、要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是 ( A )
A) while((ch=getchar())!='N') printf(“%c”,ch); B) while(ch=getchar()!='N') printf(“%c”,ch); C) while(ch=getchar()==’N') printf(“%c”,ch); D) while((ch=getchar())=='N') printf(“%c”,ch); 14、有以下程序 #include
char c1,c2,c3,c4,c5,c6;
scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c\\n”,c5,c6);
精品文档
精品文档 }
程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车>
则输出结果是 ( D )
A)1267 B)1256 C)1278 D)1245 15、若有以下程序 main() {int y=10; while(y- -); printf(“y=%d\\n”,y); }
程序运行后的输出结果是 ( A )
A)y=0 B)y=-1 C) y=1 D)while构成无限循环 16、有以下程序 main() {
int a=0,b=0,c=0,d=0; if(a==1) b=1; c=2; else d=3;
printf(“%d,%d,%d,%d\\n”,a,b,c,d); }
程序输出 ( D )
A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)编译有错 17、有以下程序 main() { int i,j,x=0; for(i=0;i<2;i++) { x++;
for(j=0;j<=3;j++) {
if(j%2) continue; x++; } 精品文档