《C语言程序设计试题 .》由会员分享,可在线阅读,更多相关《C语言程序设计试题 .(16页珍藏版)》请在金锄头文库上搜索。
1、全国软件专业人才设计与开发大赛校内选拔赛C语言程序设计试题说明:本试题共15页,请把答案写在答题卡上。一、单选题(共60小题,每题1分,共60分)1. 执行下列程序中的输出语句后,x的值是_.main()int x ;printf(“%dn”,(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);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)
2、1234567 C)0.0234567 D)3.14159e34. 下列选项中属于不正确的赋值语句的是_. 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%
3、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)07. 下列选项可作为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);该程序运行
4、后的输出结果是_.(知识点4.5)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(“%dn”,a,b);该程序运行后的输出结果是_. A)错误信息 B)111 C)222 D)111,22212. 以下程序的输出结果是_. main() int a=2,c=5;printf(“a=%d,b=%dn”,a,c);A) a=%2,b=%
5、5 B) a=2,b=5 C) a=%d,b=%d D) a=%d,b=%d13. 对于浮点型变量f,能实现对f中的值在小数点后第三位进行四舍五入的表达式是_. A)f=(f*100+0.5)/100.0 B)f=(f*100+0.5)/100C)f=(int)(f*100+0.5)/100.0 D)f=(f/100+0.5)*10014. 设 a=5, b=6, c=7, d=8, m=2, n=2, 执行(m=ab)&(n=cd) 后m,n的值为_. A) 2,2 B) 2,0 C) 0,2 D) 0,015. 语句printf(“%dn”,strlen(“asdnx121”);的输出结果
6、是_. A) 9 B) 11 C) 7 D) 816. 有以下程序:main( )int y=1234;printf(“y=%6d”,y);printf(“y=%+06dn”,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(xy)z=x;x=y
7、;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(1.0) B)swicth(1) case 1.0 :printf(“An”); case 1 :printf(“An”);case 2.0 :printf(“Bn”); case 2 :printf(“Bn”);C)switch(int)(1.0+2.5) D)switch(“a”); case 1 :printf(“An”); case “a” :printf(“An”);case 1+2 :pr
8、intf(“Bn”); case “b” :printf(“Bn”);20. 若k为int型变量,以下语句段执行后的输出结果是_.k=-3;if(kb)if(cd)x=1 ;elseif(ad)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(“%dn”,y- -);A)-1 B)1 C)8 D)023. 下列程序的运行结果是_.# include main()int i ;for(i=1;i=5;i+) if(i %2)p
9、rintf(“*”);else continue ;printf(“#”);printf(“$n”);A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)*#$24. 若x是int型变量,且有下面的程序片段: for(x=5;x8;x+)printf(x%2)?(“*%d”):(“#%dn”),x);该程序片段的输出结果是 _.A)*5#6 B)#5 C)#5*6#7 D)*5#6*7 *7 *6#725. 有以下程序:main()int a=1,b=0;switch(a) case 1:switch(b) case 0:printf(“*”);break ;case 1:printf
10、(“#”);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
11、n=0,p;do scanf(“%d”,&p);n+; while(p!=12345&nj) 语句共执行的次数是_. main() int i=0,j=10,k=2,s=0;for(;) i+= k ;if(ij) printf(“%d”,s);break ;s+=i ;A)4 B)7 C)5 D)630. 以下程序的功能是:按顺序读入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:%fn”,n,ave);造成程序计算结果错误的语句行是_.A)ave=0.0; B)for(n=1;n=10;n+)C)ave+=score/4 ; D)printf(“NO%d:%fn”,n,ave);31. 若有以下定义:char s10=a,b,c,0,0,2,x32,0;执行语句printf(“%d”,strlen(s);的结果是_.A)3 B