“中国航信杯”C语言程序设计-答案解析版(2)

2019-01-07 16:27

}

sum=sqrt(sum);

printf(\结果为:%f\\n\fp=fopen(\

fwrite(&sum,sizeof(double),1,fp); fclose(fp);

第四届全国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 解析:

题中问的是x的值,并非输出结果。 答案: A

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 解析:

x<=0为假,&&且运算,一个为假结果为假,产生逻辑判断短路,不会再判断y- ->=0 答案: C

3. 在C语言中,下列选项属于合法的长整型常数的是_______.( 3.3)

A)0L B)1234567 C)0.0234567 D)3.14159e3 解析:

考察概念,长整型会在数值后加L或l 答案: A

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)

- 6 -

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. 有以下程序:

- 7 -

main( ) {

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

该程序的运行结果是______.( 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

if(a

if(b>d)x=2 ; else x=3 ; else x=4 ; else x=5 ;

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

- 8 -

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型变量,且有下面的程序片段: ( 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为整型变量; 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()

- 9 -

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

- 10 -


“中国航信杯”C语言程序设计-答案解析版(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-2022年中国激光雷达市场竞争态势及十三五发展策略分析报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: