
湖南科技大学C语言期末试题库 (4).doc
6页志伟分享 左凯小编1选择题(共 题),成绩()1、 设变量 a 是整型,f 是实型,i 是双精度型,则表达式 10+'a'+i*f 的数据类型是:A) int 型 B) float 型 C) double型 D) 不确定正确答案是: C 你选择的答案是:未选 ×2、 下面四个选项中,均是合法浮点数的选项是:A) 1e+1 5e-9.4 03e2 B) -.60 12e-4 -8e5C) 123e 1.2e-.4 e-4 D) -e3 e-4 5.e-0 正确答案是: B 你选择的答案是:未选 ×3、 在 C 语言中,以下叙述不正确的是:A) 在 C 程序中,无论是整数还是实数,都能被准确无误的表示B) 在 C 程序中, 变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C 语言中变量必须先说明后引用正确答案是: A 你选择的答案是:未选 ×4、 C 语言中, 要求运算量必须是整型的运算符是:A) + B) / C) % D) *正确答案是: C 你选择的答案是:未选 ×5、 阅读下面的程序#includevoid main(){int i,j;scanf("%2d %*3d %2d",&i,&j);printf("%d%4d",i,j);}如果从键盘上输入12 345 67则程序的运行结果是:A) 12 67 B) 12 345 C) 12345 D) 程序语法出错正确答案是: A 你选择的答案是:未选 ×6、 以下程序的输出结果是#includevoid main(){int a=-1,b=4,k;k=(++avoid main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 24正确答案是: B 你选择的答案是:未选 ×8、 设 int a=12,则执行完语句 a+=a-=a*a 后,a 的值是A) 552 B) 264 C) 144 D) -264正确答案是: D 你选择的答案是:未选 ×9、 下面程序的输出是 #includevoid main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b正确答案是: D 你选择的答案是:未选 ×10、 以下选项中,两个条件语句语义等价的是( )。
A) if(a=2)printf("%d\n",a); B) if(a-2)printf("%d\n",a);if(a==2)printf("%\n",a); if(a!=2)printf("%\n",a);C) if(a)printf("%d\n",a); D) if(a-2)printf("%d\n",a);if(a==0)printf("%\n",a); if(a==2)printf("%\n",a);正确答案是: B 你选择的答案是:未选 ×11、 若变量已正确定义,以下语句段的输出结果是( )int x=0,y=2,z=3;switch (x){case 0: switch (y==2){case 1: printf("&");break;case 2: printf("%");break;}case 1: switch (z){case 1: printf("$");志伟分享 左凯小编2case 0: printf("*");break;default: printf("#");}}A) * B) C) *% D) %#正确答案是: B 你选择的答案是:未选 ×12、 两次运行下面的程序,如果从键盘上分别输入6 和 4,则输出结果是#include void main( ){ int x;scanf("%d",&x);if(x++>5) printf("%d",x);else printf("%d\n",x--);}A) 7 和 5 B) 6 和 3 C) 7 和 4 D) 6 和 4正确答案是: A 你选择的答案是:未选 ×13、 设 x 和 y 均为 int 型变量,则执行下面的循环后,y的值为for(y=1,x=1;y=10) break;if (x%2==1){ x+=5; continue;}x-=3;}A) 2 B) 4C) 6 D) 8正确答案是: C 你选择的答案是:未选 ×14、 与 y=(x>0?1:x0) y=1; B) if(x)else if (x0) y=1;else y=0; else if (x=0)if (x>0) y=1; if (x>0) y=1;else if (x==0) y=0; else y=-1;else y=-1; 正确答案是: A 你选择的答案是:未选 ×15、 假定等级和分数有以下对应关系:等级:A 分数:85 ~100等级:B 分数:60 ~84等级:C 分数:60 以下对于等级 grade 输出相应的分数区间,能够完成该功能的程序段是( )。
A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60 以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60 以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60 以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n");break;default:printf("等级错误!\n");}正确答案是: D 你选择的答案是:未选 ×16、 下列程序执行后的输出结果是( )。
include void main( ){ int x,y=1,z;if ((z=y)",则输出结果是( )include void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x",则程序的输出结果是( )include void main( ){ char c;c=getchar( );if (c>='a' && c='v' && cvoid main( ){ int count,i=0;for(count=1; countvoid main( ){ int i,n;float x,avg=0.0;scanf("%d",&n);for(i=0;i void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--void main(){ char s;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;k=10) break;if (x%2==1){ x+=5; continue;}x-=3;}A) 2 B) 4 C) 6 D) 8正确答案是: C 你选择的答案是:未选 ×28、 以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。
例如, 输入的字符串为:556,则输出十进制整数 366,划线处应填________include void main(){ char s[6]; int n,j;gets(s);if(s[0]!='\0') n=s[0]-'0';j=0;while(_________!='\0') n=n*8+s[j]-'0';printf("%d\n",n); }A) s[0] B) s[j++] C) s[j] D) s[++j]正确答案是: D 你选择的答案是:未选 ×29、 有如下说明:int a[10]={0,1,2,3,4,5,6,7,8,9};则数值不为 9 的表达式是________ A) a[10-1] B) a[8] C) a[9]-0 D) a[9]-a[0]正确答案是: B 你选择的答案是:未选 ×30、 以下程序的输出结果是________includevoid main(){ int a[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;for(i=0;ivoid main(){ char b[]="Hello,you"; b[5]=0;printf("%s\n",b); }A) Hello,you B) Hello C) Hello0you D) H正确答案是: B 你选择的答案是:未选 ×32、 请读程序片段(字符串内没有空格字符 ):printf("%d\n",strlen("ATS\t\b012\1\\"));上面程序片段的输出结果是________。
A) 11 B) 10 C) 9 D) 8正确答案是: B 你选择的答案是:未选 ×33、 请读程序片段(字符串内没有空格字符 ):printf("%d\n",strlen("ATS\n\t\012\1\\"));上面程序片段的输出结果是________A) 11 B) 10 C) 9 D) 8正确答案是: D 你选择的答案是:未选 ×34、 若希望下面的程序运行后输出 45,程序空白处的正确选择是________include void main( ){ int i,j=10,a[ ]={1,3,5,7,9,11,13,15};for( ____________ )j+=a[i];printf("%d\n",j); }A) i=5;i>1;i-- B) i=0;i=1;--i D) i=2;ivoid main( ){ int i=0;char s1[10]="1234",s2[10]="567"。
