C语言考试题库及答案_第1页
C语言考试题库及答案_第2页
C语言考试题库及答案_第3页
C语言考试题库及答案_第4页
C语言考试题库及答案_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

---C语言理论上机考试选择题部分(共 200题,仅针对 11级定向专业)1、下面程序的输出是 ___D______ 5、C语言提供的合法的数据类型关#include<stdio.h> 键字是_____B____.voidmain() A) Double B) short{intk=11; C)integer D)Charprintf("k=%d,k=%o,k=%x\n"6、字符(char)型数据在微机内存中,k,k,k);的存储形式是__D__.}A)反码B)补码C)A)k=11,k=12,k=11EBCDIC码D)ASCII码B)k=11,k=13,k=13C)k=11,k=013,k=0xb7、C语言程序的基本单位是D)k=11,k=13,k=b_____C______.A)程序行B)语句C)2、在下列选项中,不正确的赋值语函数D)字符句是__D______.A)++t;B)8、设inta=12,则执行完语句n1=(n2=(n3=0));a+=a-=a*a后,a的值是____D____C)k=i=j;D)a=b+c=1;A)552B)264C)144D)-2643、下面合法的C语言字符常量是______A____.9、执行下面程序中的输出语句后,A)'\t'B)"A"C)输出结果是____B__.65D)A#include<stdio.h>voidmain()4、表达式:10!=9的值是{inta;________D____.A)trueB)非零值printf("%d\n",(a=3*5,a*4,a+C)0D)15));}-------A)65B)20C)A)67,DB)B,CC)15D)10C,DD)不确定的值10、下面程序的输出是13、若要求在if后一对圆括号中表____B______.示a不等于0的关系,则能正确表示#include<stdio.h>这一关系的表达式为____D__.voidmain()A)a<>0B)!aC){intx=023;a=0D)aprintf("%d\n",--x);}14、以下程序的输出结果是A)17B)18C)____D_____.23D)24#include<stdio.h>11、下面程序的输出的是voidmain()_____C____.{intx=10,y=10;#include<stdio.h>printf("%d%d\n",x--,--y);voidmain()}{intx=10,y=3;A)1010B)99C)printf("%d\n",y=x/y);910D)109}A)0B)1C)315、设有如下定义:D)不确定的值intx=10,y=3,z;则语句12、已知字母A的ASCII码为十进制的65,下面程序的输出是printf("%d\n",z=(x%y,x/y));______A_____.的输出结果是_____D_____.#include<stdio.h>A)1B)0C)4voidmain()D)3{charch1,ch2;ch1='A'+'5'-'3';16、为表示关系x≥y≥z,应使用Cch2='A'+'6'-'3';语言表达式___A___.printf("%d,%c\n",ch1,ch2);A)(x>=y)&&(y>=z)B)}(x>=y)AND(y>=z)-------C)(x>=y>=z)D)(x>=y)&(y>=z)20、阅读下面的程序#include<stdio.h>17、C语言中非空的基本数据类型voidmain()包括____B____.{A)整型,实型,逻辑型B)inti,j;整型,实型,字符型i=010;C)整型,字符型,逻辑型j=9;D)整型,实型,逻辑型,字符型printf("%d,%d",i-j,i+j);18、若x和y都是int型变}量,x=100,y=200,且有下面的程序则程序的运行结果是____D____.片段:A)1,19B)-1,19C)printf("%d",(x,y));1,17D)-1,17上面程序片段的输出结果是____A___.21、阅读下面的程序A)200B)100#include<stdio.h>C)100200D)输出格式符voidmain()不够,输出不确定的值{inti,j,m,n;19、阅读下面的程序i=8;j=10;#include<stdio.h>m=++i;voidmain()n=j++;{charch;printf("%d,%d,%d,%d",i,j,m,scanf("%3c",&ch);n);printf("%c",ch);}}程序的运行结果是______C____.如果从键盘上输入A)8,10,8,10B)abc<回车>9,11,8,10则程序的运行结果是__A_____.C)9,11,9,10D)A)aB)bC)c9,10,9,11程序语法出错-------22、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.printf("%d,%d,%d\n",k,a,b);A)0B)144C)}12D)-264A)1,1,2B)1,0,3C)23、若已定义inta,则表达式0,1,2D)0,0,3a=10,a+10,a++的值是__B_.A)20B)10C)26、下面程序的输出结果是21D)11____A____.#include<stdio.h>24、阅读下面的程序voidmain()#include<stdio.h>{voidmain()inta=5,b=3;{floatx=3.14,y=6.5;inti,j;scanf("%3d%2d",&i,&j);printf("%d,%d\n",a+b!=a-b,xprintf("i=%d,j=%d\n",i,j);<=(y-=6.1));}}如果从键盘上输入1234567<回A)1,0B)0,1C)车>,则程序的运行结果是1,1D)0,0____D____.A)i=123,j=4567B)27、执行下面程序段后,输出结果是i=1234,j=567____A____.C)i=1,j=2D)inta;i=123,j=45intb=65536;a=b;25、下面程序的输出结果是printf("%d\n",a);____D____.A)65536B)0C)#include<stdio.h>-1D)1voidmain(){28、若有以下定义和语句:inta=-1,b=4,k;inta=010,b=0x10,c=10;k=(++a<=0)&&(b--<=0);-------printf("%d,%d,%d\n",a,b,c);A)14B)15C)则输出结果是____B_____.11D)12A)10,10,10B)8,16,10C)8,10,10D)8,8,1033、若d为double型变量,则表达29、已知有double型变量式d=1,d+5,d++的值是_____D__.x=2.5,y=4.7,整型变量a=7,A)1B)6.0C)则表达式2.0D)1.0x+a%3*(int)(x+y)%2/4的值是_____B____.34、表达式5!=3的值是A)2.4B)2.5C)____D____.2.75D)0A)TB)非零值C)0D)130、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的35、若有定义inta=12,n=5,则表值是____C____.达式a%=(n%2)运算后,a的值A)5.5B)5C)3______A____.D)4.0A)0B)1C)12D)6、以下程序的输出结果是____D____.36、若有定义intx=3,y=2和float#include<stdio.h>a=2.5,b=3.5,则表达voidmain()式:(x+y)%2+(int)a/(int)b的值是{__D__.inta=12,b=12;A)0B)2C)printf("%d,%d\n",--a,++b);1.5D)1}A)10,10B)12,12C)37、在C语言中,以下叙述不正确11,10D)11,13的是_____A____.A)在C程序中,无论是整数还是实32、设有以下语句:int数,都能被准确无误的表示x=10;x+=3+x%(3),则x的值B)在C程序中,变量名代表存储器是.____A_____中的一个位置-------静态变量的生存期与整个程序的生存期相同C语言中变量必须先定义后引用38、C语言中的变量名只能由字母 ,数字和下划线三种字符组成,且第一个字符____C____.必须为字母必须为下划线必须为字母或下划线可以是字母,数字或下划线中的任意一种39、设有说明:charw;intx;floaty; double z;则表达式:w*x+z-y值的数据类型是 ___D____.A)float B)char C)int D)double40、一个 C 语言的执行是从_____A______.本程序的主函数开始,到本程序的主函数结束本程序的第一个函数开始,到本程序的最后一个函数结束本程序的主函数开始,到本程序的最后一个函数结束本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达

式是____A____.A) 10<a<15 B)a==11||a==12||a==13||a==14C) a>10&&a<15D)!(a<=10)&&!(a>=15)、下列程序执行后的输出结果是_____C____.#include<stdio.h>voidmain(){inta=5,b=60,c;if(a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A)60/5=12B)300C)60*5=300D)1243、如果c为字符型变量,判断 c是 否 为 空 格 不 能 使 用____A____.(假设已知空格 ASCII码为32)A) if(c=='32') B)if(c==32)C) if(c=='\40') D)if(c==' ')-------、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include<stdio.h>voidmain(){intx,y;scanf("%d,%d",&x,&y);if(x==y)printf("x==y");elseif(x>y)printf("x>y");elseprintf("x<y");}A)3<5 B) 5>3 C)x>y D)x<y、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include<stdio.h>voidmain(){inta,b,c;scanf("%d,%d,%d",&a,&b,&c);if(a>b)if(a>c)printf("%d\n",a);elseprintf("%d\n",c);else

if(b>c)printf("%d\n",b);elseprintf("%d\n",c);}A)5B)6C)7不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include<stdio.h>voidmain(){intk;charcp;cp=getchar();if(cp>='0'&&cp<='9')k=cp-'0';elseif(cp>='a'&&cp<='f')k=cp-'a'+10;elsek=cp-'A'+10;printf("%d\n",k);}A)2B)4C)1D)1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include<stdio.h>voidmain(){floata,b;scanf("%f",&a);-------if(a<0.0)b=0.0;elseif((a<0.5)&&(a!=2.0)) scanf("%d,%d,%d",&x,&y,&z);b=1.0/(a+2.0); if(x<y)else if (a<10.0) if(y<z)printf("%d\n",z);b=1.0/2; elseprintf("%d\n",y);elseb=10.0; elseif(x<z)printf("%d\n",z);printf("%f\n",b); elseprintf("%d\n",x);} }A) 0.000000 B) A)34 B) 12 C) 90.500000 D)不确定的值C) 1.000000 D)0.250000 50、运行下面程序时,从键盘输入48、执行下面程序后 ,运行结果是 字母H,则输出结果是 _____C___.____A____. #include<stdio.h>#include<stdio.h> voidmain()voidmain() {charch;{intx=41,y=1; ch=getchar();if(x%3==0&&x%7==0) switch(ch){ case{y+=x;printf("y=%d\n",y);} 'H':printf("Hello!\n");else case 'G':printf("Good{y=x;printf("y=%d",y);} morning!\n");}A)y=41 B)y=43 C) default:printf("Bye_Bye!\n");y=42 D)y=1 }}49、运行下面程序时,从键盘输入 A)Hello! B)"12,34,9<CR>" ,则输出结果是 Hello!___A___.#include<stdio.h> GoodMorning!voidmain() C)Hello! D){intx,y,z; Hello!-------Good morning! "5 <CR>",则程序的输出结果是Bye_Bye! _____B___.Bye_Bye! #include<stdio.h>voidmain()51、执行下列程序段后的输出结果 {inta;是_____A____. scanf("%d",&a);intx=1,y=1,z=1; if(a++>5)printf("%d\n",a);x+=y+=z; elseprintf("%d\n",a--);printf("%d\n",x<y?y:x); }A)3 B)2 C) A)7 B)6 C)1 D)4 5 D)452、设ch是char 型变量,值为'A',则 表 达 式 ch=(ch>='A' && 55、运行下面程序时,若从键盘输ch<='Z')?ch+32:ch 的 值 是 入"3,4<CR>",则程序的输出结__B___. 果是____B___.A)Z B)a C)z #include<stdio.h>D)A voidmain(){inta,b,s;53、下面程序的输出结果是 scanf("%d,%d",&a,&b);____C____. s=a;#include<stdio.h> if(s<b)s=b;voidmain() s=s*s;{intx=8,y=-7,z=9; printf("%d\n",s);if(x<y) }if(y<0)z=0; A)14 B)16 C)18elsez-=1; D)20printf("%d\n",z);} 56、下列程序的执行结果是A)8 B)1 C) _____D____.9 D)0 #include<stdio.h>voidmain()54、运行下面程序时 ,若从键盘输入 {intx=0,y=1,z=0;-------if(x=z=y) C) switch(grade)x=3; {printf("%d,%d\n",x,z); case} 'A':printf("85--100\n");break;A)3,0 B)0,0 C) case0,1 D)3,1 'B':printf("60--84\n");break;57、假定等级和分数有以下对应关 case'C':printf("60 以下\n");系: default:printf(" 等 级 错等级:A 分数:85~100 误!\n");等级:B 分数:60~84 }等级:C 分数:60 以下 D)switch(grade)对于等级 grade输出相应的分数区 {间,能够完成该功能的程序段是 case____D____. 'A':printf("85--100\n");break;A)switch(grade) case{ 'B':printf("60--84\n");break;case case 'C':printf("60 以 下'A':printf("85--100\n"); \n");break;case'B':printf("60--84\n"); default:printf(" 等 级 错case'C':printf("60 以下\n"); 误!\n");default:printf(" 等 级 错 }误!\n");} 58、能够完成如下函数计算的程序B) switch(grade) 段是__B____.{ ┌-1 x<0case y=┤ 0 x=0'A':printf("85--100\n");break; └ 1 x>0case'B':printf("60--84\n"); A)y=1; B) ifcase'C':printf("60 以下\n"); (x>=0)default:printf(" 等 级 错 if(x!=0) if(x>0)误!\n"); y=1;} if(x>0) y=1; else-------y=0;elsey=0; elsey=-1;C) y=0; D)y=-1;if (x>=0) if(x>0)y=1;if (x>0) y=1; elsey=0;elsey=-1;、有如下程序#include<stdio.h>voidmain(){floatx=5.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}该程序的输出结果是 ____C_____.A)0.000000B)0.50000C)0.200000D)1.000000、以下程序的执行结果是___B_____.#include<stdio.h>voidmain(){intx=1,y=0;switch(x){case1:

switch(y){case0:printf("first\n");break;case1:printf("second\n");break;}case2:printf("third\n");}}A)first B)firstsecond thirdC) first D)secondthird、以下程序的执行结果是____A____.#include<stdio.h>void main(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf("d=%d\n",d);}A)d=20 B)d=10 C)d=15 D)25-------62、有如下程序:#include<stdio.h>voidmain(){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf("%d\n",c);}该程序的输出结果是 ___C_____.A)0B)12D)3、下列程序执行后的输出结果是____B____.#include<stdio.h>voidmain(){intx,y=1,z;if((z=y)<0) x=4;elseif(y==0)x=5;elsex=6;printf("%d,%d\n",x,y);}A)4,1 B) 6,15,0 D)出错信息

{case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是 ______A____.A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2C)、下面程序的输出结果是____C_____.#include<stdio.h>voidmain(){inta=-1,b=1,k;if((++a<0)&&(b--<=0))printf("%d%d\n",a,b);elseprintf("%d%d\n",b,a);}A)-11 B)01 C)10 D)00C) 66、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;64、有如下程序 m=(w<x)?w:x;#include<stdio.h> m=(m<y)?m:y; m=(m<z)?m:z;voidmain() 则该程序段执行后,m 的值是{intx=1,a=0,b=0; ____D_____.switch(x) A)4 B)3 C)2-------D)1printf("%d\n",m--);elseprintf("%d\n",--m);67、以下程序的输出结果是}___D______.A)7B)6C)5main()D)4{inta=100;if(a>100)70、若执行下面的程序从键盘上输printf("%d\n",a>100);入5,则输出结果是.else#include<stdio.h>printf("%d\n",a<=100);voidmain()}{intx;A)a<=100B)100C)scanf("%d",&x);0D)1if(x++>5)printf("%d\n",x);elseprintf("%d\n",x--);68、若执行下面的程序从键盘上输}入9,则输出结果A)7B)6C)是.______B________5D)4#include<stdio.h>voidmain()71、以下程序段运行结果是{intn;____A____.scanf("%d",&n);intx=1,y=1,z=-1;if(n++<10)printf("%d\n",n);x+=y+=z;elseprintf("%d\n",n--);}printf("%d\n",x<y?y:x);A)11B)10C)9A)1B)2C)4D)8D)不确定的值72、有以下程序69、以下程序输出结果是#include<stdio.h>_____D_____.voidmain()#include<stdio.h>{inta,b,c=246;voidmain()a=c/100%9;{intm=4;b=(-1)&&(-1);if(++m>5)printf("%d,%d\n",a,b);-------}A)123B)1,2,3C)输出结果是____A____.321D)3,2,1A)2,1B)3,2C)4,3D)2,-174、执行下列程序后的输出结果是___D____.73、运行下面程序时,若从键盘输#include<stdio.h>入数据为"123",voidmain()则输出结果是___C____.{intk=4,a=3,b=2,c=1;#include"stdio.h"voidmain()printf("%d\n",k<a?k:c<b?c:a);{intnum,i,j,k,place;}scanf("%d",&num);A)4B)3C)2if(num>99)D)1place=3;elseif(num>9)75、以下条件表达式中能完全等价place=2;于条件表达式x的是____B___.elseA)(x==0)B)(x!=0)C)place=1;(x==1)D)(x!=1)i=num/100;j=(num-i*100)/10;76、若运行下面程序时,给变量ak=(num-i*100-j*10);输入15,则输出结果是___A___.switch(place)#include<stdio.h>{case3:voidmain()printf("%d%d%d\n",k,j,i);{inta,b;break;scanf("%d",&a);case2:b=a>15?a+10:a-10;printf("%d%d\n",k,j);printf("%d\n",b);break;}case1:A)5B)25C)printf("%d\n",k);15D)10}}77、运行下面程序后,输出是-------___D___.#include<stdio.h>voidmain(){intk=-3;if(k<=0)printf("****\n");elseprintf("####\n")}####****####****有语法错误不能通过编译、执行下面程序的输出结果是____C____.#include<stdio.h>voidmain(){inta=5,b=0,c=0;if (a=a+b)printf("****\n");else printf("####\n");}有语法错误不能编译能通过编译,但不能通过连接输出****输出####79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.缩排位置相同的if在其之前未配对的if在其之前尚未配对的最近的if

同一行上的if80、设x、y、z、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x||++y&&++z;A)不定值 B)4 C)1D)081、以下程序段____C______.x=-1;do{x=x*x;}while(!x);A)是死循环 B)循环执行两次C)循环执行一次 D)有语法错误、对下面程序段描述正确的是___B____.intx=0,s=0;while(!x!=0)s+=++x;printf("%d",s);运行程序段后输出0运行程序段后输出1程序段中的控制表达式是非法的程序段循环无数次-------83、下面程序段的输出结果是 86、下面程序段的运行结果是____C____. ___D_____.x=3; intx=0,y=0;do{y=x--; while(x<15)y++,x+=++y;if (!y) printf("%d,%d",y,x);{printf("*");continue;} A)20,7 B)6,12 C)printf("#"); 20,8 D)8,20}while(x=2); 87、下面程序的运行结果是A)## B)##* C)死循环 ___B_____.D)输出错误信息 #include<stdio.h>voidmain()84、下面程序的运行结果是 {ints=0,i=1;____B____. while(s<=10)#include<stdio.h> {s=s+i*i;voidmain() i++;{inta=1,b=10; }do printf("%d",--i);{b-=a;a++; }}while(b--<0); A)4 B)3 C)printf("%d,%d\n",a,b); 5 D)6}A)3,11 B)2,8 C) 88、函数pi的功能是根据以下近似1,-1 D)4,9 公式求π值:____C______85、下面程序段的运行结果是 (π*π)/6=1+1/(2*2)+1/(3*3)+..+____B______. 1/(n*n)intn=0; 请填空,完成求π的功能。while(n++<=2) #include<math.h>printf("%d",n); voidmain()A)012 B) 123 C) {doubles=0.0;inti,n;234 D) 错误信息 scanf("%ld",&n);for(i=1;i<=n;i++)-------s=s+_______;26D)25s=(sqrt(6*s));91、下面程序段的运行结果是printf("s=%e",s);_____D______.}for(i=1;i<=5;)A)1/i*iB)1.0/i*iC)printf("%d",i);1.0/(i*i)D)1.0/(n*n)i++;A)12345B)1234C)89、下面程序段的运行结果是15D)无限循环____B____.for(x=10;x>3;x--)92、下面程序的输出结果是{if(x%3)x--;_____B_____.--x;--x;#include<stdio.h>printf("%d",x);voidmain()}{intn=4;A)63B)74C)6while(n--)printf("%d2D)73",n--);}90、下面程序的运行结果是A)20B)31C)3____D_____.21D)210#include<stdio.h>voidmain()93、以下程序运行后的输出结果是{inta,b;___D_____.a=-1;#include<stdio.h>b=0;voidmain()do{{inti=10,j=0;++a;do++a;{j=j+1;i--;b+=a;}while(i>2);}while(a<9);printf("%d\n",j);printf("%d\n",b);}}A)50B)52C)A)34B)24C)51D)8-------m++;94、以下函数的功能是:求 x的y printf("%d\n",m);次方,请填空.____C______ A)12 B)15 C)20#include<stdio.h> D)25voidmain(){inti,x,y; 97、下面程序的输出结果是doublez; ______A_____.scanf("%d%d",&x,&y); #include<stdio.h>for(i=1,z=x;i<y;i++) voidmain()z=z*______; {inti;printf("x^y=%e\n",z); for(i=1;i<6;i++)} { if (i%2!=0)A)i++ B)x++ C) {printf("#");continue;}x D)i printf("*");}95、有如下程序 printf("\n");#include<stdio.h> }voidmain() A)#*#*# B)##### C){intx=23; ***** D)*#*#*do{printf("%d",x--); 98、下面程序的输出结果是}while(!x); ____D______.} #include<stdio.h>该程序的执行结果是 ___B____ void main()A)321 B)23 {intx=10,y=10,i;C)不输出任何内容 D) 陷 for(i=0;x>8;y=++i)入死循环 printf("%d %d96、以下程序段的执行结果是 ",x--,y);____C____. }inti,j,m=0; A)10192 B)9876for(i=1;i<=15;i+=4) C)10990 D)101091for(j=3;j<=19;j+=4)-------、执行以下程序后,输出的结果是_____D_____.#include<stdio.h>void main(){inty=10;do{y--;}while(--y);printf("%d\n",y--);}A)-1B)1C)8D)0、有如下程序#include<stdio.h>voidmain(){intn=9;while(n>6){n--;printf("%d",n);}}该 程 序段 的输 出结 果 是_____B_____.A)987B)876C)8765D)9876、有如下程序#include<stdio.h>voidmain(){inti,sum=0;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该 程 序 的 执 行 结 果 是

______C_____.A)6B)3C)死循环D)0、以下循环体的执行次数是___D____#include<stdio.h>voidmain(){inti,j;for(i=0,j=1; i<=j+1; i+=2,j--)printf("%d\n",i);}A)3 B)2 C)1 D)0、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为____B____.#include<stdio.h>voidmain(){charch;while((ch=getchar())!='\n'){if(ch>='A'&&ch<='Z')ch=ch+32;elseif(ch>='a'&&ch<'z')ch=ch-32;printf("%c",ch);}printf("\n");}-------A) ABCdef B) abcDEF 均值,请填空.____B___C)abc D)DEF #include<stdio.h>voidmain()104、下面程序的输出结果是 {inti,n;____D______. floatx,avg=0.0;main() scanf("%d",&n);{ for(i=0;i<n;i++)inti,k=0,a=0,b=0; {scanf("%f",&x);for(i=1;i<=4;i++) avg=avg+______;}{ avg=________;k++; printf("avg=%f\n",avg);if (k%2==0) {a=a+k; }continue;} A)i B)x C)xb=b+k; D)ia=a+k; avg/i avg/n} avg/x avg/nprintf("k=%d a=%db=%d\n",k,a,b); 107、以下程序的功能是 :从键盘上} 输入若干个学生的成绩 ,统计并输A)k=5 a=10 b=4 B)k=3 出最高成绩和最低成绩 ,当输入负a=6b=4 数时结束输入。请填空。___D_____C)k=4 a=10 b=3 D)k=4 #include<stdio.h>a=10b=4 voidmain()105、执行下面程序段后 ,k的值是 {floatx,amax,amin;____D_____. scanf("%f",&x);inti,j,k; amax=x;for(i=0,j=10;i<j;i++,j--) amin=x;k=i+j; while(________)A)9 B)11 C) {if(x>amax)amax=x;8 D)10 if(______)amin=x;scanf("%f",&x);106、下面程序是计算 n个数的平 }-------#include<stdio.h>printf("\namax=%f\namin=voidmain()%f\n",amax,amin);{inty=9;}for(;y>0;y--)A)x<=0B)x>0C){if(y%3==0)x>0D)x>=0{printf("%d",--y);x>aminx<=amincontinue;}x>aminx<amin}}108、阅读以下程序,程序运行后A)741B)852C)的输出结果是__B____.963D)875421#include<stdio.h>voidmain()111、下面程序的输出结果是{intx;____B____.for(x=5;x>0;x--)#include<stdio.h>if(x--<5)voidmain()printf("%d,",x);{intx=3;elsedo{printf("%d,",x++);}printf("%d",x-=2);A)4,3,2B)4,3,1,C)}while(!(--x));5,4,2D)5,3,1,}109、以下程序段的输出结果是A)1B)1-2C)3____C____.0D)是死循环intk,n,m;n=10;m=1;k=1;112、定义如下变量:while(k<=n){m*=2;k+=4;}intn=10;printf("%d\n",m);则下列循环的输出结果是A)4B)16C)___B____.8D)32while(n>7){n--;printf("%d\n",n);}110、下面程序的输出结果是A)10B)9C)____B_____.10D)9-------98do{++k;}while(k>=1000);98while(s)--s;8787116、下面程序的输出结果是____A_____.76#include<stdio.h>voidmain()113、语句while(!e);中的条件!e{inti;等价于____A____.for(i=1;i<=5;i++)A)e==0B)e!=1C){if(i%2)printf("*");e!=0D)~eelsecontinue;printf("#");114、以下叙述正确的是}_____B____.printf("$\n");A)continue语句的作用是结束整}个循环的执行A)*#*#*#$B)#*#*#*$C)B)只能在循环体内和switch语句#*#*$D)*#*#$体内使用break语句C)在循环体内使用break语句或117、下面程序段中,循环体的执行continue语句的作用相同次数是____C_____.D)从多层循环嵌套中退出时,只能inta=10,b=0;使用goto语句do{b+=2;a-=2+b;}115、在下列选项中,没有构成死while(a>=0);循环的程序段是___D_.A)4B)5A)inti=100;C)3D)2B)for(;;);while(1)118、若i为整型变量,则以下循环{i=i%100+1;语句的循环次数是_B_.if(i>100)break;for(i=2;i==0;)}printf("%d",i--);C)intk=1000;A)无限次B)0次C)1D)ints=36;次D)2次-------5132119、C语言中while和do-while则程序中的划线处应填入循环的主要区别是.__A_____B_____.A)do-while的循环体至少无条件#include<stdio.h>执行一次voidmain()B)while的循环控制条件比{inta[4][4]={________};do-while的循环控制条件严格inti,j;C)do-while允许从外部转到循环for(i=0;i<4;i++)体内{for(j=0;j<4;j++)D)do-while的循环体不能是复合printf("%4d",a[i][j]);语句printf("\n");}}120、对于for(表达式1;;表达式3)A){1,5,2,3},{2,4,7,8},{5,1,3,2}可理解为______B____.B)A)for(表达式1;0;表达式3){2,10,4,6},{1,5,2,3},{2,4,7,8},{5,B)for(表达式1;1;表达式3)1,3,2}C)for(表达式1;表达式1;表达式C){5,1,3,2},{2,4,7,8},{1,5,2,3}3)D)D)for(表达式1;表达式3;表达式{2,1,2,5},{10,5,4,1},{4,2,7,3},{6,3)3,8,2}121、合法的数组定义是123、给出以下定义:___D_____.charx[]="abcdefg";A)inta[6]={"string"};B)intchary[]={'a','b','c','d','e','f','g'};a[5]={0,1,2,3,4,5};则正确的叙述为___C_____.C)chara={"string"};D)A)数组x和数组y等价chara[]={0,1,2,3,4,5};B)数组x和数组y的长度相同122、要求下面的程序运行后,显C)数组x的长度大于数组y的长度示如下结果:D)数组x的长度小于数组y的长21046定义如下变量和数组:-------inti;intx[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};则下面语句的输出结果是___C_____.for(i=0;i<4;i++)printf("%3d",x[i][3-i]);A)15913B)161116C)471013D)481216、下面程序输出的结果是____D____.#include<stdio.h>voidmain(){inti,j,x=0;staticinta[6]={1,2,3,4,5,6};for(i=0,j=1;i<5;++i,j++)x+=a[i]*a[j];printf("%d\n",x);}数组a中首尾的对应元素的乘积数组a中首尾的对应元素的乘积之和数组a中相邻各元素的乘积数组a中相邻各元素的乘积之和、若希望下面的程序运行后输

出45,程序空白处的正确选择是___C_____.#include<stdio.h>voidmain(){inti,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<7;++iD)C)i=5;i>=1;--ii=2;i<6;++i、若有以下说明:chars1[]={"tree"},s2[]={"flower"};,则以下对数组元素或数组的输出语句中,正确的是__C___.printf("%s%s",s1[5],s2[7]);printf("%c%c",s1,s2);puts(s1);puts(s2);D)puts(s1,s2);、下列一维数组初始化语句中,正确且与语句floata[]={0,3,8,0,9};等价的是_____D___.A)floata[6]={0,3,8,0,9};B)floata[4]={0,3,8,0,9};C)floata[7]={0,3,8,0,9};D)floata[5]={0,3,8,0,9};、运行下面程序段的输出结果是___A_____.chars1[10]={'S','e','t','\0','u','p','\0'};printf("%s",s1);A)Set B)Setup C)Setup D)'S''e''t'、以下程序段的输出结果是____B____.char s[]="anapple";printf("%d\n",strlen(s));A)7 B) 8 C)-------9D)10printf("\n");}131、若有说明:charA)123456789B)1a2b3cc[10]={'E','a','s','t','\0'};,则下述C)abcD)123说法中正确的是_____D_____.A)c[7]不可引用B)c[6]可137、以下程序输出的结果是引用,但值不确定D)c[4]可___C_____.<stdio.h>C)c[4]不可引用#include引用,其值为空字符voidmain()132、下列初始化语句中,正确且{inta[]={5,4,3,2,1},i,j;longs=0;与语句for(i=0;i<5;i++)charc[]="string";等价的s=s*10+a[i];是____C____.printf("s=%ld\n",s);A)charc[]={'s','t','r','i','n','g'};}B)charc[]='string';charA)s=12345B)s=54C)321c[7]={'s','t','r','i','n','g','\0'};C)s=54321D)以上D)charc[7]={'string'};都不对133、若有说明char138、以下程序输出的结果是c[7]={'s','t','r','i','n','g'};则对元素____A____.的非法引用是____C____.C)#include<stdio.h>A)c[0]B)c[9-6]voidmain()c[4*2]D)c[2*3]{inta[]={1,2,3,4,5},i,j,s=0;134、如有说明:chars1[5],s2[7];,for(i=0;i<5;i++)要给数组s1和s2整体赋值,下列s=s*10+a[i];语句中正确的是____C____.printf("s=%d\n",s);A)s1=getchar();s2=getchar();}B)scanf("%s%s",s1,s2);A)s=12345B)s=1C)scanf("%c%c",s1,s2);2345D)gets(s1,s2);C)s=54321D)s=54321、下列一组初始化语句中,正确的是___B_____.139、在定义inta[5][6];后,数组A)inta[8]={};B)a中的第10个元素是.____C____inta[9]={0,7,0,4,8};(设a[0][0]为第一个元素)C)inta[5]={9,5,7,4,0,2};D)A)a[2][5]B)a[2][4]C)inta[7]=7*6;a[1][3]D)a[1][5]136、以下程序输出的结果是140、当接受用户输入的含有空格____D_____.的字符串时,应使用____A____函#include<stdio.h>数.voidmain()A)gets()B)getchar()C){charstr[]="1a2b3c";intscanf()D)printf()i;141、以下程序执行时输入for(i=0;str[i]!='\0';i++) Language Programming< 回if(str[i]>='0'&&str[i]<='9') 车>,输出结果是____D____.printf("%c",str[i]); #include <stdio.h>-------voidmain()A)0650B)1470C){charstr[30];5430D)输出值不定gets(str);146printf("str=%s\n",str);、以下程序的输出结果是}___A_____.A)LanguageProgramming#include<stdio.h>B)LanguageD)voidmain()intC)str=Language{str=LanguageProgramminga[4][4]={{1,3,5,},{2,4,6},{3,5,7}142、以下一维数组a的正确定义};printf("%d%d%d%d\n",a[0是___D_____.][3],a[1][2],a[2][1],a[3][0]);A)inta(10);B)}intn=10,a[n];A)0650B)1470C)C)intn;D)5430D)输出值不定#defineSIZE10147、已知shortintscanf("%d",&n);类型变量占用inta[SIZE];两个字节,若有定义:shortintinta[n];x[10]={0,2,4};,则数组x在内存中所占字节数是____D____.143、以下对二维数组a进行正确A)3B)6C)初始化的是__B_____.10D)20A)int148、在定义inta[5][4];之后,a[2][3]={{1,2},{3,4},{5,6}};对a的引用正确的是.____C____B)inta[][3]={1,2,3,4,5,6};A)a[2][4]B)a[1,3]C)C)inta[2][]={1,2,3,4,5,6};a[4][3]D)a[5][0]D)inta[2][]={{1,2},{3,4}};149、以下数组定义中不正确的是144、以下关于数组的描述正确的____D____.是____C______.A)inta[2][3];A)数组的大小是固定的,但可以有不B)intb[][3]={0,1,2,3};同类型的数组元素。C)intc[100][100]={0};B)数组的大小是可变的,但所有数组D)int元素的类型必须相同。a[3][]={{1,2},{1,2,3},{1,2,3,4}};数组的大小是固定的,所有数组元素的类型必须相同。150、在执行语句:intD)数组的大小是可变的,可以有不a[][3]={1,2,3,4,5,6};后,a[1][0]同类型的数组元素。的值是____A____.145、以下程序的输出结果是A)4B)1C)2D)5____B____.#include<stdio.h>151、以下程序的输出结果是voidmain()____C____.{int#include<stdio.h>a[4][4]={{1,3,5,},{2,4,6},{3,5,7}voidmain()};{inti,a[10];a[i]=10-i;printf("%d%d%d%d\n",a[0for(i=9;i>=0;i--)][0],a[1][1],a[2][2],a[3][3]);}printf("%d%d%d",a[2],a[5],a[-------8]);for(i=0;i<3;i++)}printf("%d,",x[i][i]);A)258B)741C)}printf("\n");852D)369A)1,5,9,B)1,4,7,152、以下定义语句中,错误的是C)3,5,7,D)3,6,9,___B_____.B)157、如有定义语句intA)inta[]={1,2};chara={"test"};a[]={1,8,2,8,3,8,4,8,5,8};,则数C)chars[10]={"test"};组a的大小是___A_____.C)D)inta[]={'a','b','c'};A)10B)118D)不定、以下定义语句中,错误的是____D____.158、有如下程序A)inta[]={1,2};B)#include<stdio.h>chara[]={"test"};s[10]={"test"};voidmain()charC)char{D)intn=5,a[n];ch[80]="123abcdEFG*&";intj;longs=0;154、下列程序的输出结果是puts(ch);____C____.for(j=0;ch[j]>'\0';j++)#include<stdio.h>if(ch[j]>='A'&&ch[j]<='Z')voidmain()ch[j]=ch[j]+'e'-'E';{charb[]="ABCDEFG";puts(ch);charp=0;}while(p<7)该程序的功能是____D____.putchar(b[p++]);A)测字符数组ch的长度}putchar('\n');B)将数字字符串ch转换成十进制数A)GFEDCBAB)C)将字符数组ch中的小写字母转BCDEFG换成大写C)ABCDEFGD)D)将字符数组ch中的大写字母转GFEDCB换成小写155、下述对C语言字符数组的描159、设有如下定义:述中错误的是___C__.charaa[2][20]={"abcd",A)字符数组可以存放字符串"ABCD"};B)字符数组中的字符串可以整体则以下说法中错误的是____D____.C)输入、输出A)aa是个二维数组,可以存放2可以在赋值语句中通过赋值运个19个字符以下的字符串算符"="对字符数组整体赋值B)aa是个二维数组,每行中分别D)不可以用关系运算符对字符数存放了字符串"abcd"和组中的字符串进行比较"ABCD"156、以下程序的输出结果是C)aa[0]可以看作是一维数组名____A____.D)aa[0][0]可以看作是一维数组名#include<stdio.h>160、以下对C语言函数的有关描voidmain(){int述中,正确的是___A__.i,x[3][3]={1,2,3,4,5,6,7,8,9};A)在C中,调用函数时,只能把实参-------的值传送给形参,形参的值不能传送给实参C函数既可以嵌套定义又可以递归调用函数必须有返回值,否则不能使用函数C程序中有调用关系的所有函数必须放在同一个源程序文件中161 、有如下说明: inta[10]={0,1,2,3,4,5,6,7,8,9};则数值不为 9 的表达式是____B____.A) a[10-1] B) a[8] C)a[9]-0 D)a[9]-a[0]、设有数组定义:chararray[]="China"; 则数组 array 所占的存储空间为 ____C____.A)4个字节 B)5个字节C)6个字节 D)7个字节、下面程序的输出是____B____.#include<stdio.h>intm=13;intfun2(intx,inty){intm=3;return(x*y-m);}voidmain(){inta=7,b=5;printf("%d\n",fun2(a,b)/m);}A)1B)2C)7D)10164、请读程序:#include<stdio.h>f(intb[],intn){inti,r=0;for(i=0;i<=n;i++)r=r+b[i];returnr;}voidmain(){intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);printf("%d\n",x);}上面程序的输出结果是___B_____.A)20B)14C)9D)5165、请读程序:#include<stdio.h>f(intb[],intn){inti,r=1;for(i=0;i<=n;i++)r=r*b[i];returnr; }voidmain(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x); }上面程序的输出结果是 ___B_____.A)720 B)120 C)24 D)6、请读程序:#include<stdio.h>f(chars[]){inti,j;i=0;j=0;while(s[j]!='\0')j++;return(j-i);}voidmain(){printf("%d\n",f("ABCDEF"));}上面程序的输出结果是 ____B____.A)0B)6C)7D)8、对以下程序,正确的说法是__D______.sub(charx,chary){intz;z=x%y;return z;}voidmain(){intg=5,h=3,k;k=sub(g,h);printf("%d\n",k); }实参与其对应的形参类型不一致,程序不能运行被调函数缺少数据类型说明,程序不能运行主函数中缺少对被调函数的说明语句,程序不能运行程序中没有错误,可以正常运行-------、若已定义实参数组inta[3][4]={2,4,6,8,10};,则在被调用函数f的下述定义中,对形参数组b定义正确的选项是_____B___.A)f(int b[ ][6]) B)f(b)intb[][4];C)f(int b[3][ ]); D) f(b)intb[4][5];、若函数调用时用数组名作为函数参数,以下叙述中,不正确的是____C____.实参与其对应的形参共占用同一段存储空间实参将其地址传递给形参,结果等同于实现了参数之间的双向值传递实参与其对应的形参分别占用不同的存储空间在调用函数中必须说明数组的大小,但在被调函数中可以使用不定尺寸数组、以下叙述中,不正确的是____B____.A) 使用staticfloata定义的外部变量存放在内存中的静态存储区使用floatb定义的外部变量存放在内存中的动态存储区C)使用staticfloatc定义的内部变量存放在内存中的静态存储区使用floatd定义的内部变量存放在内存中的动态存储区171、如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量___C_____.为全局变量,在本程序文件范围内有效为局部变量,只在该函数内有效为局部变量,只在该复合语句中有效定义无效,为非法变量、调用函数时,当实参和形参都是简单变量时,它们之间数据传

递的过程是____D____.实参将其地址传递给形参,并释放原先占用的存储单元实参将其地址传递给形参,调用结束时形参再将其地址回传给实参实参将其值传递给形参,调用结束时形参再将其值回传给实参实参将其值传递给形参,调用结束时形参并不将其值回传给实参、以下叙述中,不正确的是___B_____.A)在同一C程序文件中,不同函数中可以使用同名变量B)在main函数体内定义的变量是全局变量C)形参是局部变量,函数调用完成即失去意义若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用、若函数调用时参数为基本数据类型的变量(俗称简单变量),以下叙述正确的是____C____.A)实参与其对应的形参共占存储单元只有当实参与对应的形参同名时才共占存储单元实参与其对应的形参分别占用不同的存储单元实参将数据传递给形参后,立即释放原先占用的存储单元、若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是____A____。A)int 型 B)float型C)double 型 D) 由系统当时的情况而定、在以下叙述中,不正确的选项是____B____。A)C语言程序总是从main()函数-------开始执行181、以下说法中正确的是B)在C语言程序中,被调用的函_____C___.数必须在main()函数中定义A)C语言程序总是从第一个定义的C)C程序是函数的集合,在这个函函数开始执行数集中包括标准函数和用户自B)在C语言程序中,要调用的函数定义函数必须在main()函数中定义D)在C语言程序中,函数的定义C)C语言程序总是从main()函数不能嵌套,但函数的调用可以嵌开始执行套D)C语言程序中的main()函数必须177、C语言中,若未说明函数的放在程序的开始部分类型,则系统默认该函数的类型是___C_____。182、以下程序的输出结果是A)float型B)long型C)____B_____.int型D)double型#include<stdio.h>inta,b;178、下面函数的功能是voidfun()b=200;}____B____。{a=100;sss(s,t)voidmain()chars[],t[];{inta=5,b=7;{inti=0;fun();while((s[i])&&(t[i])&&(t[i]==printf("%d%d\n",a,b);}s[i]))i++;A)100200B)57C)return(s[i]-t[i]);}200100D)75求字符串的长度B)比较两个字符串的大小183、以下函数func()的功能是:C)将字符串s复制到字符串t中使具有n个元素的一维数组b的每D)将字符串s接续到字符串t中个元素的值都增加2,划线处应填入__D_.179、设有如下函数定义:func(intb[],intn)intf(chars[]){int;{inti=0;for(i=0;i<n;i++)while(s[i++]!='\0');__________;}return(i-1);}A)b[i++]B)b[i]++C)如果在主程序中用下面的语

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论