云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > ITAT 第五届C语言预赛试题(修改版)

ITAT 第五届C语言预赛试题(修改版)

  • 62 次阅读
  • 3 次下载
  • 2026/1/9 6:00:30

一、单选题(共60小题,每题1分,共60分)

1. 执行下列程序中的输出语句后,x的值是__A____。(知识点3.10)

main() {int x ;

printf(“%d\\n”,(x=5*6,x*2,x+20));} A)30 B)60 C)50 D)80

考查点:逗号表达式,变量的赋值。逗号表达式的按照表达式顺序依次求值,整个逗号表达式的值为最后一个表达式的值,所以此题的输出结果是D。 2. 下列程序的输出结果是__C_____。(知识点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

考查点:逻辑表达式。此题注意可以通过判断x和y的值未改变,快速选择C。 3. 在C语言中,下列选项属于合法的长整型常数的是___A____。(知识点3.3) A)0L B)1234567 C)0.0234567 D)3.14159e3 考查点:常数类型的判断。长整型常数后加L。

4. 下列选项中属于不正确的赋值语句的是__D___。 (知识点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的正确程序段是__C______。 (知识点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. 下列转义字符不正确的是___B____。(知识点3. 5) A)?\\\\? B)?\\? C)?\\053? D)?\\0?

7. 下列选项可作为C语言赋值语句的是____C___。(知识点4.2) A)x=3,y=5 B)a=b=6 C)i- -; D)y=int(x);

考查知识点:赋值语句,强制类型转换。A和B项不是语句,正确应该加分号;D项强制类型转换用法不正确,正确应该是y= (int)x;C项正确,等价为语句i=i+1;。

8. 当c的值不为0时,下列选项中能正确将c的值赋给变量a、b的是__C_____。(知识点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);}

该程序运行后的输出结果是____B___。(知识点4.5)

A)-1 B)65535 C)32767 D)-32768

考查点:不同类型变量值的赋值会强制类型转换。-1的二进制补码存放为16个1。 10. 若x、b、m、n均为int型变量,执行下面语句后b的值为____C___。(知识点3.10)

1

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); }

该程序运行后的输出结果是___B____。(知识点4.5) A)错误信息 B)111 C)222 D)111,222 考查点:格式输出,按照%d的个数进行输出。 12. 以下程序的输出结果是__A_____。(知识点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中的值在小数点后第三位进行四舍五入的表达式是____C___。(知识点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的值为___C___。(知识点5.2) A) 2,2 B) 2,0 C) 0,2 D) 0,0 15. 语句printf(“%d\\n”,strlen(“asd\\n\\x12\\1\\\\”));的输出结果是___C___。(知识点7.3) A) 9 B) 11 C) 7 D) 8 16. 有以下程序: main( ) {

int y=1234; printf(“y=m”,y); printf(“y=%+06d\\n”,y); }

该程序的运行结果是__B____。(知识点4.5)

A) y= 1234y=001234 B) y= 1234y=+01234 C) y=1234y=+01234 D) y= 1234y=1234 17. 语句:printf(“%d”, !9);的输出结果是__A____。(知识点5.2) A) 0 B) 1 C) 有语法错误 ,不能执行 D) -9

18. 已有定义语句:int x=6,y=4,z=5;执行以下语句后,能正确表示x、y、z值的选项是___C___。(知识点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

考查点:选择语句。可以通过判断z的值没有变,快速选择C。 19. 下列选项中属于正确的switch语句的是___C___。(知识点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”);

2

{ case 1 :printf(“A\\n”); { case “a” :printf(“A\\n”); case 1+2 :printf(“B\\n”);} case “b” :printf(“B\\n”);}

考查知识点:switch语句用法。A项的错误在数据类型为double,不能做相等操作;B项的错误在switch拼写错误;D项的错误是switch后的不应该加分号。

20. 若k为int型变量,以下语句段执行后的输出结果是___D___。(知识点5.3) k=-3;

if(k<=0) printf(“####”) else printf(“****”);

A) #### B) **** C) ####**** D) 有语法错误 ,不能执行 21. 当a=2,b=3,c=4,d=5时, 执行下面一段程序后x的值为__D___。(知识点5.3) if(a>b)

if(c

if(a

if(b>d)x=2 ;

else x=3 ; else x=4 ; else x=5 ;

A)2 B)3 C)4 D)5 考查点:if嵌套,else和if的配对问题。 22. 下列程序的运行结果是__D______。(知识点6.3) main() { int y=10;

do { y- - ;} while(- -y); printf(“%d\\n”,y- -);}

A)-1 B)1 C)8 D)0

考查点:自减和循环条件判断。本题中最后退出循环时y的值为0,输出时先输出y为0,再让其值减为-1。 23. 下列程序的运行结果是___C_____。(知识点6.5) # include main() {

int i ;

for(i=1;i<=5;i++) { if(i %2)printf(“*”); else continue ; printf(“#”); } printf(“$\\n”); }

A)*#*#$ B)#*#*#*$ C)*#*#*#$ D)***#$ 考查点:continue语句,结束本次循环,提前进入下一次循环。 24. 若x是int型变量,且有下面的程序片段: (知识点6.5) for(x=5;x<8;x++) printf((x%2)?(“**%d”):(“##%d\\n”),x); 该程序片段的输出结果是 __A_____。

A)**5##6 B)##5 C)##5**6##7 D)**5##6**7 **7 **6##7

3

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 ; } 该程序的输出结果是___B_____。(知识点5.4)

A)**** B)****$$$$ C)****####$$$$ D) ####$$$$

考查点:switch语句以及嵌套使用。Case后如果没有break语句,则执行完此case后的语句则将继续执行后面的case语句。

26. 下列程序段的输出结果是__C_____。(知识点6.4) int x=3;

do {printf(“=”,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____。(知识点6.5)

A)x=2,y=0 B) x=1,y=0 C) x=1,y=1 D) x=0,y=0

考查点:循环条件表达式。注意y= 1为赋值语句,而不是比较运算符==。 28. 有以下程序段: int n=0,p; do { scanf(“%d”,&p);n++;} while(p!=12345&&n<3); 此处do-while循环的结束条件是__D___。(知识点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) 语句共执行的次数是_D____。(知识点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

考查点:break语句,只能跳出本层switch选择或者循环语句。共判断了6次,i的值依次为2,4,6,8,10,12。

30. 以下程序的功能是:按顺序读入10名学生和4门课程的成绩,计算出每位学生的平均分进行输出,但运行结

4

搜索更多关于: ITAT 第五届C语言预赛试题(修改版) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

一、单选题(共60小题,每题1分,共60分) 1. 执行下列程序中的输出语句后,x的值是__A____。(知识点3.10) main() {int x ; printf(“%d\\n”,(x=5*6,x*2,x+20));} A)30 B)60 C)50 D)80 考查点:逗号表达式,变量的赋值。逗号表达式的按照表达式顺序依次求值,整个逗号表达式的值为最后一个表达式的值,所以此题的输出结果是D。 2. 下列程序的输出结果是__C_____。(知识点3.8) main() {int x=1,y=0,z; z=(x=0); printf(“%d %d% d%\\n”,z,x,y) ;} A)0 -1 -1 B)0

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com