当前位置:文档之家› C语言程序设计试题

C语言程序设计试题

全国软件专业人才设计与开发大赛校内选拔赛C语言程序设计试题说明:本试题共15页,请把答案写在答题卡上。

一、单选题(共60小题,每题1分,共60分)1. 执行下列程序中的输出语句后,x的值是______.main(){int x ;printf(“%d\n”,(x=5*6,x*2,x+20));}A)30 B)60 C)50 D)802. 下列程序的输出结果是_______.main(){int x=1,y=0,z;z=(x<=0)&&(y- ->=0);printf(“%d %d% d%\n”,z,x,y);}A)0 -1 -1 B)0 -1 0 C)0 1 0 D)0 1 -13. 在C语言中,下列选项属于合法的长整型常数的是_______.A)0L B)1234567 C) D)4. 下列选项中属于不正确的赋值语句的是_____.A)t++; B)n1=(n2=(n3=0)); C)k=i= =j; D)a=b,c=1;5. 若有定义:int a,b;char x,y;并有以下输入数据: 14 22 XxYy (回车)则能给a赋整数14,给b赋整数22,给x赋字符x,给y赋字符y的正确程序段是________.A) scanf(“%d %d”,&a,&b);x=getchar();y=getchar();B) scanf(“%d%d %c %c”, &a, &b,&x,&x,&y,&y);C) scanf(“%d %d %c%c%c %c”, &a,&b,&x,&x,&y,&y);D) scanf(“%d%d %c %c”, &a, &b,&x,&y);6. 下列转义字符不正确的是_______.A)'\\' B)'\' C)'\053' D)'\0'7. 下列选项可作为C语言赋值语句的是_______.A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);8. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是_______.A)c=b=a; B)(a=c)‖(b=c); C)(a=c)&&(b=c); D)a=c=b;9. 有以下程序:main(){ unsigned int a ;int b=-1;a=b;printf(“%u”,a);}该程序运行后的输出结果是_______.(知识点)A)-1 B)65535 C)32767 D)-3276810. 若x、b、m、n均为int型变量,执行下面语句后b的值为_______.m=20;n=6;x=(- -m= =n++)- -m:++n;b=m++;A)11 B)6 C)19 D)1811. 有以下程序:main(){ int a=111,b=222;printf(“%d\n”,a,b);}该程序运行后的输出结果是_______.A)错误信息 B)111 C)222 D)111,22212. 以下程序的输出结果是_______.main(){ int a=2,c=5;printf(“a=%%%d,b=%%%d\n”,a,c);}A) a=%2,b=%5 B) a=2,b=5 C) a=%%%d,b=%%%d D) a=%%d,b=%%d13. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_______.A)f=(f*100+)/ B)f=(f*100+)/100C)f=(int)(f*100+)/ D)f=(f/100+)*10014. 设 a=5, b=6, c=7, d=8, m=2, n=2,执行(m=a>b)&&(n=c>d)后m,n的值为______.A) 2,2 B) 2,0 C) 0,2 D) 0,015. 语句printf(“%d\n”,strlen(“asd\n\x12\1\\”));的输出结果是______.A) 9 B) 11 C) 7 D) 816. 有以下程序:main(){int y=1234;printf(“y=%6d”,y);printf(“y=%+06d\n”,y);}该程序的运行结果是______.A) y= 1234y=001234 B) y= 1234y=+01234C) y=1234y=+01234 D) y= 1234y=123417. 语句:printf(“%d”,!9);的输出结果是______.A) 0 B) 1 C)有语法错误,不能执行 D) -918. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是______.if(x<y)z=x;x=y ;y=z;A) x=4,y=5,z=6 B) x=4,y=6,z=6C) x=4,y=5,z=5 D) x=5,y=6,z=419. 下列选项中属于正确的switch语句的是______.A)switch() B)swicth(1){ case :printf(“A\n”); { case 1 :printf(“A\n”);case :printf(“B\n”); } case 2 :printf(“B\n”);}C)switch((int)(+)) D)switch(“a”);{ case 1 :printf(“A\n”); { case “a”:printf(“A\n”);case 1+2 :printf(“B\n”);} case “b”:printf(“B\n”);}20. 若k为int型变量,以下语句段执行后的输出结果是______.k=-3;if(k<=0) printf(“####”)else printf(“****”);A) #### B) **** C) ####**** D)有语法错误,不能执行21. 当a=2,b=3,c=4,d=5时,执行下面一段程序后x的值为_____.if(a>b)if(c<d)x=1 ;elseif(a<c)if(b>d)x=2 ;else x=3 ;else x=4 ;else x=5 ;A)2 B)3 C)4 D)522. 下列程序的运行结果是________.main(){ int y=10;do { y- - ;} while(- -y);printf(“%d\n”,y- -);}A)-1 B)1 C)8 D)023. 下列程序的运行结果是________.# include <>main(){int i ;for(i=1;i<=5;i++){ if(i %2)printf(“*”);else continue ;printf(“#”);}printf(“$\n”);}A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)***#$24. 若x是int型变量,且有下面的程序片段:for(x=5;x<8;x++)printf((x%2)(“**%d”):(“##%d\n”),x);该程序片段的输出结果是 _______.A)**5##6 B)##5 C)##5**6##7 D)**5##6**7 **7 **6##7 25. 有以下程序:main(){int a=1,b=0;switch(a){ case 1:switch(b){ case 0:printf(“****”);break ;case 1:printf(“####”);break ; }case 2: printf(“$$$$”);break ; }该程序的输出结果是________.A)**** B)****$$$$ C)****####$$$$ D) ####$$$$26. 下列程序段的输出结果是_______.int x=3;do {printf(“%3d”,x-=2);}while(!(——x));A)1 B)3 0 C)1 -2 D)死循环27. 有以下程序,其中x、y为整型变量;for(x=0,y=0;(x<=1)&&(y= 1);x++,y——);printf(“x=%d,y=%d”,x,y);该程序的输出结果是_____.A)x=2,y=0 B) x=1,y=0 C) x=1,y=1 D) x=0,y=028. 有以下程序段:int n=0,p;do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3);此处do-while循环的结束条件是_____.A)p的值不等于12345并且n的值大于3B)p的值等于12345并且n的值大于等于3C)p的值不等于12345或者n的值小于3D)p的值等于12345或n的值大于等于329. 在下述程序中,if (i>j)语句共执行的次数是_____.main(){ int i=0,j=10,k=2,s=0;for(;;){ i+= k ;if(i>j){ printf(“%d”,s);break ;}s+=i ;}}A)4 B)7 C)5 D)630. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。

main(){ int n,k;float score,ave;ave=;for(n=1;n<=10;n++){ for(k=1;k<=4;k++){ scanf(“%f”,&score);ave+=score/4 ;}printf(“NO%d:%f\n”,n,ave);}}造成程序计算结果错误的语句行是_____.A)ave=; B)for(n=1;n<=10;n++)C)ave+=score/4 ; D)printf(“NO%d:%f\n”,n,ave);31. 若有以下定义:char s[10]={'a','b','c','0','\0','2','\x32','\0'};执行语句printf(“%d”,strlen(s));的结果是_____.A)3 B)4 C)8 D)1032. 设有数组定义:char array[ ]=“abcdef”;则数组array所占的空间为_____.A)4个字节 B)5个字节 C)6个字节 D)7个字节33. 有以下程序:main(){ char str[ ][10]={“China”,“Beijing”},*p=str;printf(“%s\n”,p+10);}该程序运行后的输出结果是_____.A)China B)Beijing C)ng D)ing34. 阅读下面程序,该程序段的功能是_____.#include <>main(){ int c[ ]={23,1,56,234,7,0,34},i,j,t;for(i=1;i<7;i++){ t=c[i];j=i-1;while(j>=0&&t>c[j]) { c[j+1]=c[j];j- - ;}c[j+1]=t;}for(i=0;i<7;i++)printf(“%d ”,c[i] );putchar('\n');}A)对数组元素的升序排列 B)对数组元素的降序排列C)对数组元素的倒序排列 D)对数组元素的随机排列35. 下列程序的输出结果是_____.main(){ int n[3][3],i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)n[i][j]=i+j;for(i=0;i<2;i++)for(j=0;j<2;j++)n[i+1][j+1]+= n[i][j];printf(“%d \n”,n[i][j]);}A)14 B)0 C)6 D)值不确定36. 下列函数调用语句中含有______个参数。

相关主题