……………………………………………………………精品资料推荐…………………………………………………
第四届全国ITAT教育工程就业技能大赛预赛试题
C语言
一、单选题(共60小题,每题1分,共60分)
1. 执行下列程序中的输出语句后,x的值是______.(知识点3.10) main() {int x ;
printf(“%d\\n”,(x=5*6,x*2,x+20));} A)30 B)60 C)50 D)80
2. 下列程序的输出结果是_______.(知识点3.8) 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 -1
3. 在C语言中,下列选项属于合法的长整型常数的是_______.(知识点3.3) A)0L B)1234567 C)0.0234567 D)3.14159e3
4. 下列选项中属于不正确的赋值语句的是_____. (知识点3.6) 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的正确程序段是________. (知识点4.2) 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. 下列转义字符不正确的是_______.(知识点3. 5) A)'\\\\' B)'\\' C)'\\053' D)'\\0'
7. 下列选项可作为C语言赋值语句的是_______.(知识点4.2) A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);
8. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是_______.(知识点5.2) 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);}
该程序运行后的输出结果是_______.(知识点4.5) A)-1 B)65535 C)32767 D)-32768
10. 若x、b、m、n均为int型变量,执行下面语句后b的值为_______.(知识点3.10) m=20;n=6;
x=(- -m= =n++)?- -m:++n; b=m++;
A)11 B)6 C)19 D)18 11. 有以下程序: main()
{ int a=111,b=222; printf(“%d\\n”,a,b); }
该程序运行后的输出结果是_______.(知识点4.5) A)错误信息 B)111 C)222 D)111,222
12. 以下程序的输出结果是_______.(知识点4.5) 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=%%d
13. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_______.(知识点3.8) A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100 C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*100
14. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=a>b)&&(n=c>d) 后m,n的值为______.(知识点5.2) A) 2,2 B) 2,0 C) 0,2 D) 0,0
15. 语句printf(“%d\\n”,strlen(“asd\\n\\x12\\1\\\\”));的输出结果是______.(知识点7.3) A) 9 B) 11 C) 7 D) 8 16. 有以下程序: main( ) {
int y=1234;
printf(“y=m”,y); printf(“y=%+06d\\n”,y); }
1
……………………………………………………………精品资料推荐…………………………………………………
该程序的运行结果是______.(知识点4.5) A) y= 1234y=001234 B) y= 1234y=+01234 C) y=1234y=+01234 D) y= 1234y=1234
17. 语句:printf(“%d”, !9);的输出结果是______.(知识点5.2) A) 0 B) 1 C) 有语法错误 ,不能执行 D) -9
18. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是______.(知识点5.3) if(x A) x=4,y=5,z=6 B) x=4,y=6,z=6 C) x=4,y=5,z=5 D) x=5,y=6,z=4 19. 下列选项中属于正确的switch语句的是______.(知识点5.4) A)switch(1.0) B)swicth(1) { case 1.0 :printf(“A\\n”); { case 1 :printf(“A\\n”); case 2.0 :printf(“B\\n”); } case 2 :printf(“B\\n”);} C)switch((int)(1.0+2.5)) 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型变量,以下语句段执行后的输出结果是______.(知识点5.3) k=-3; if(k<=0) printf(“####”) else printf(“****”); A) #### B) **** C) ####**** D) 有语法错误 ,不能执行 21. 当a=2,b=3,c=4,d=5时, 执行下面一段程序后x的值为_____.(知识点5.3) if(a>b) if(c A)2 B)3 C)4 D)5 22. 下列程序的运行结果是________.(知识点6.3) main() { int y=10; do { y- - ;} while(- -y); printf(“%d\\n”,y- -);} A)-1 B)1 C)8 D)0 23. 下列程序的运行结果是________.(知识点6.5) # include for(i=1;i<=5;i++) { if(i %2)printf(“*”); else continue ; printf(“#”); } printf(“$\\n”); } A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)***#$ 24. 若x是int型变量,且有下面的程序片段: (知识点6.5) 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 ; } 该程序的输出结果是________.(知识点5.4) A)**** B)****$$$$ C)****####$$$$ D) ####$$$$ 26. 下列程序段的输出结果是_______.(知识点6.4) int x=3; do {printf(“=”,x-=2);} while(!(——x)); A)1 B)3 0 C)1 -2 D)死循环 27. 有以下程序,其中x、y为整型变量; 2 ……………………………………………………………精品资料推荐………………………………………………… for(x=0,y=0;(x<=1)&&(y= 1);x++,y——); printf(“x=%d,y=%d”,x,y); 该程序的输出结果是_____.(知识点6.5) A)x=2,y=0 B) x=1,y=0 C) x=1,y=1 D) x=0,y=0 28. 有以下程序段: int n=0,p; do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3); 此处do-while循环的结束条件是_____.(知识点6.4) A)p的值不等于12345并且n的值大于3 B)p的值等于12345并且n的值大于等于3 C)p的值不等于12345或者n的值小于3 D)p的值等于12345或n的值大于等于3 29. 在下述程序中,if (i>j) 语句共执行的次数是_____.(知识点6.5) 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)6 30. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结果不正确。 main() { int n,k;float score,ave; ave=0.0; 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);} }造成程序计算结果错误的语句行是_____.(知识点6.6) A)ave=0.0; 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));的结果是_____.(知识点7.3) A)3 B)4 C)8 D)10 32. 设有数组定义:char array[ ]=“abcdef”;则数组array所占的空间为_____.(知识点7.3) A)4个字节 B)5个字节 C)6个字节 D)7个字节 33. 有以下程序: main() { char str[ ][10]={“China”,“Beijing”},*p=str; printf(“%s\\n”,p+10);} 该程序运行后的输出结果是_____.(知识点10.4) A)China B)Beijing C)ng D)ing 34. 阅读下面程序,该程序段的功能是_____.(知识点7.1) #include { 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. 下列程序的输出结果是_____.(知识点7.2) 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)值不确定 3 ……………………………………………………………精品资料推荐………………………………………………… 36. 下列函数调用语句中含有______个参数。(知识点8.3) func((f1,f2),(f2,f3,f4),f5) A)3 B)4 C)5 D)6 37. 下列程序的运行结果是_______.(知识点7.3) #include { char *p1,*p2,ch[20]=“ABCDEFabcdef”; p1=“1234”;p2=“abcd”; strcpy(ch+1,p2+1);strcpy(ch+3,p1+3); pintf(“%s\\n”,ch);} A)Abc4EFabcde B)Abc4EF C)AbcdEF D)Abc4 38. 下列程序的运行结果是_______.(知识点8.6) # include return(f(a-2)+f(a-3)); } main() { int b; b=f(10); printf(“b=%d\\n”,b); } A) 12 B)10 C)9 D)8 39. 有以下程序: fun(int n) { if(n= =1|| n= =2)return 2; return s=n-fun(n-2);} main() {printf(“%d\\n”,fun(7));} 该程序运行后的输出结果是_____.(知识点8.6) A) 1 B)2 C)3 D)4