C 语言基础练习100 题(含答案)雷柳青编排1 、下边程序的输出是 ________ ch2='A'+'6'-'3';#include<> printf("%d,%c\n",ch1,ch2);void main() }{ int k=11; A) 67,D B) B,C C) C,D D) 不确立的值printf("k=%d,k=%o,k=%x\n",k,k,k); 9、以下程序的输出结果是________.} #include<>A) k=11,k=12,k=11 B) k=11,k=13,k=13 void main()C) k=11,k=013,k=0xb D) k=11,k=13,k=b { int x=10,y=10;printf("%d %d\n",x--,--y);2 、在以下选项中 ,不正确的赋值语句是 ________. }A) ++t; B) n1=(n2=(n3=0)); A) 10 10 B)99 C)910 D)109 C) k=i=j; D) a=b+c=1; 10、若 x 和 y 都是 int 型变量 ,x=100,y=200,且有下边的程序片段 :3 、下边合法的 C 语言字符常量是 __________. printf("%d",(x,y));A) '\t' B) "A" C) 65 D) A 上边程序片段的输出结果是_______.A) 200 B) 1004 、字符 (char) 型数据在微机内存中的储存形式是____. C) 100 200 D) 输出格式符不够 ,输出不确立的值A) 反码B) 补码C) EBCDIC码D) ASCII码11、阅读下边的程序5 、设 int a=12,则履行完语句a+=a-=a*a 后 ,a 的值是#include<>________ void main()A) 552 B) 264 C) 144 D) -264 {int i,j;6 、履行下边程序中的输出语句后,输出结果是 ______. i=010;#include<> j=9;void main() printf("%d,%d",i-j,i+j);{int a; }printf("%d\n",(a=3*5,a*4,a+5)); 则程序的运转结果是 ________.} A) 1,19 B) -1,19 C) 1,17 D) -1,17A) 65 B) 20 C) 15 D) 1012、阅读下边的程序7 、下边程序的输出是 __________. #include<>#include<> void main()void main() {{int x=023; int i,j,m,n;printf("%d\n",--x); i=8;j=10;} m=++i;A) 17 B) 18 C) 23 D) 24 n=j++;8 、下边程序的输出是 ___________. printf("%d,%d,%d,%d",i,j,m,n);#include<> }void main() 程序的运转结果是 _________.{char ch1,ch2; A) 8,10,8,10 B) 9,11,8,10ch1='A'+'5'-'3'; C) 9,11,9,10 D) 9,10,9,1113、若已定义int a, 则表达式 a=10,a+10,a++的值是 ___.A) 20B) 10C) 21D) 1114、阅读下边的程序#include<>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}假如从键盘上输入1234567<回车 >,则程序的运转结果是 ________.A) i=123,j=4567B) i=1234,j=567C) i=1,j=2D) i=123,j=4515、下边程序的输出结果是________.#include<>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下边程序的输出结果是_______.#include<>void main(){int a=5,b=3;float x=, y=;printf("%d,%d\n",a+b!=a-b,x<=(y-=);}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是 _________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double 型变量 x=,y=,整型变量a=7,则表达式x+a%3*(int)(x+y)%2/4 的值是 _________.A)B) 2.5C)D) 019 、设有以下语句 :intx=10;x+=3+x%3,则x 的值是 ._________A) 14B) 15C) 11D) 12 20、若 d 为 double 型变量 ,则表达式d=1,d+5,d++的值是_______.A) 1B) 6.0C)D)21、若有定义 int a=12,n=5, 则表达式 a%=(n%2)运算后 ,a 的值 __________.A)0B)1C)12D)622 、若有定义int x=3,y=2 和f loata=,b=, 则表达式:(x+y)%2+(int)a/(int)b 的值是 ____.A)0B)2C)D)123、在 C 语言中 ,以下表达不正确的选项是 ________.A)在 C 程序中 ,不论是整数仍是实数 ,都能被正确无误的表示B)在 C 程序中 ,变量名代表储存器中的一个地点C)静态变量的生计期与整个程序的生计期同样D)C语言中变量一定先定义后引用24、设 a 为整型变量 ,不可以正确表达数学关系10<a<15 的 C 语言表达式是 ________.A) 10<a<15B) a==11||a==12||a==13||a==14 C) a>10&&a<15D) !(a<=10)&&!(a>=15)25、假如 c 为字符型变量,判断 c 能否为空格不可以使用________.( 假定已知空格 ASCII码为 32)A) if(c=='32')B) if(c==32)C) if(c=='\40')D) if(c==' ')26、履行下边程序时,若从键盘输入"2<CR>",则程序的运转结果是 ________.#include <>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、履行下边程序后,运转结果是 ________.#include <>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);} else{y=x;printf("y=%d",y);}}A) y=41B) y=43C) y=42D) y=128、运转下边程序时,从键盘输入"12,34,9<CR>",则{ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);输出结果是 ______. }#include <> A) 8 B) 1 C) 9 D) 0 void main( ){ int x,y,z; 33、运转下边程序时,若从键盘输入"3, 4 <CR>",则scanf("%d,%d,%d",&x,&y,&z); 程序的输出结果是_______.if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A)34B)12C)9 D) 不确立的值#include <>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;29、运转下边程序时,从键盘输入字母果是 ________. H,则输出结}A) 14 B) 16 C) 18 D) 20#include <>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n"); 34、以下程序的履行结果是#include <>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);_________.} }A) Hello!C) Hello!Good morning! B) Hello!Good Morning!D) Hello!Bye_Bye!}A) 3,0B) 0,0C) 0,135、可以达成以下函数计算的程序段是┌ -1x<0y= ┤0x=0└1x>0D) 3,1______.Bye_Bye!30、履行以下程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<yy:x);A)3B)2C)1D)431、设 ch 是 char 型变量 ,值为 'A',则表达式ch=(ch>='A' && ch<='Z')ch+32:ch 的值是 _____.A) Z B) a C) z D) A32、下边程序的输出结果是________.void main( ) A) y=1;if(x!=0)if(x>0) y=1;else y=0;C) y=0;if (x>=0)if (x>0) y=1;else y=-1;36、以下程序的履行结果是#include <>void main( )switch (x)B) if (x>=0)if(x>0) y=1;else y=0;else y=-1;D) y=-1;if (x>0) y=1;else y=0;________.{case 2: a++;b++;case 1:}switch (y)printf("a=%d,b=%d\n",a,b);{}case 0:printf("first\n");break;该程序的输出结果是__________.case 1:printf("second\n");break;A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=2 }case 2:printf("third\n");40、下边程序的输出结果是_________.}#include <>}void main( )A) first B) first{ int a=-1,b=1,k;second third if ((++a<0) && (b--<=0))C) first D) second printf("%d %d\n",a,b);third elseprintf("%d %d\n",b,a);37、以下程序的履行结果是________. #include <>void main( ){ int a,b,c,d,x;a=c=0;b=1; d=20;if (a) d=d-10;else if(!b)}A)-11 B)01 C)10 D)0041、假定 w、 x、 y、 z、 m 均为 int 型变量,有以下程序段:w=1;x=2;y=3;z=4;m=(w<x)w:x; m=(m<y)m:y;m=(m<z)m:z;则该程序段履行后,m 的值是 _________.A)4B)3C)2D)1if (!c) x=15; 42、以下程序的输出结果是_________.else x=25; main( )printf("d=%d\n",d); { int a=100;} if (a>100) printf("%d\n",a>100);A) d=20 B) d=10 C) d=15 D) 25 else printf("%d\n",a<=100);38、以下程序履行后的输出结果是________. }#include <> A) a<=100B) 100 C) 0 D) 1 void main( ){ int x,y=1,z; 43、若履行下边的程序从键盘上输入9,则输出结果if ((z=y)<0) x=4; 是.______________else if (y==0) x=5; #include <>else x=6; void main( )printf("%d,%d\n",x,y); {int n;} scanf("%d",&n);A) 4,1 B) 6,1 C) 5,0 D) 犯错信息if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}39、有以下程序A) 11 B) 10 C) 9 D) 8#include <>void main( ) 44、以下程序段运转结果是________.{ int x=1,a=0,b=0; int x=1,y=1,z=-1;switch(x) x+=y+=z;{ printf("%d\n",x<yy:x);case 0: b++; A) 1 B) 2 C) 4 D) 不确立的值case 1: a++; 45、有以下程序#include <> 是______.void main( ) #include <>{ int a,b,c=246; void main( )a=c/100%9; { int a,b;b=(-1)&&(-1); scanf("%d",&a);printf("%d,%d\n",a,b); b=a>15a+10:a-10;} printf("%d\n",b) ;输出结果是 ________. }A) 2,1 B) 3,2 C) 4,3 D) 2,-1 A) 5 B) 25 C) 15D) 1046、运转下边程序时,若从键盘输入数据为"123" ,50、履行下边程序的输出结果是________. 则输出结果是 _______. #include <>#include "" void main( )void main() { int a=5,b=0,c=0;{ int num,i,j,k,place; if (a=a+b) printf("****\n");scanf("%d",&num); else printf("####\n");if (num>99) }place=3; A) 有语法错误不可以编译else if(num>9) B) 能经过编译,但不可以经过连结place=2; C) 输出 ****else D) 输出 ####place=1;i=num/100; 51、为了防止嵌套的if-else 语句的二义性, C 语言规j=(num-i*100)/10; 定 else 老是与 ______构成配对关系 .k=(num-i*100-j*10); A) 缩排地点同样的ifswitch (place) B) 在其以前未配对的if{ case 3: printf("%d%d%d\n",k,j,i); C) 在其以前还没有配对的近来的ifbreak; D) 同一行上的 ifcase 2: printf("%d%d\n",k,j);break; 52、以下程序段 __________.case 1: printf("%d\n",k); x=-1;} do} {A) 123 B) 1,2,3 C) 321 D) 3,2,1 x=x*x;} while (!x);47、履行以下程序后的输出结果是_______. A)是死循环B)循环履行两次#include <> C)循环履行一次D)有语法错误void main( ){ int k=4,a=3,b=2,c=1; 53、对下边程序段描绘正确的选项是_______.printf("%d\n",k<ak:c<bc:a); int x=0,s=0;} while (!x!=0) s+=++x;A) 4 B) 3 C) 2 D) 1 printf("%d",s);A) 运转程序段后输出048、以下条件表达式中能完整等价于条件表达式if(x) B) 运转程序段后输出 1中的 x 的是 ____. C) 程序段中的控制表达式是非法的A) (x==0) B) (x!=0) C) (x==1)D) (x!=1) D) 程序段循环无数次49、若运转下边程序时,给变量 a 输入 15,则输出结果54、下边程序段的输出结果是_______.x=3;do { y=x--; 60、下边程序的运转结果是________.if (!y) {printf("*");continue;} #include<>printf("#"); void main( )} while(x=2); { int a,b;A) ## B) ##*C) 死循环D)输犯错误信息a=-1;b=0;55、下边程序的运转结果是_______. do {#include<> ++a;void main( ) ++a;{ int a=1,b=10; b+=a;do } while(a<9);{ b-=a;a++; printf("%d\n",b);} while(b--<0); }printf("%d,%d\n",a,b); A) 34 B) 24 C) 26 D) 25 } 61、下边程序段的运转结果是___________.A) 3,11 B) 2,8 C) 1,-1 D) 4,9 for(i=1;i<=5;)printf("%d",i);56、下边程序段的运转结果是__________. i++;int n=0; A) 12345 B) 1234 C) 15 D) 无穷循环while (n++<=2)printf("%d",n); 62、下边程序的输出结果是__________.A) 012 B) 123 C) 234 D) 错误信息#include<>void main( )57、下边程序段的运转结果是________. { int n=4;int x=0,y=0; while (n--) printf("%d ",n--);while (x<15) y++,x+=++y; }printf("%d,%d",y,x); A)20 B)31 C)321 D)210A) 20,7 B) 6,12 C) 20,8 D)8,2058、下边程序的运转结果是________. 63、以下程序运转后的输出结果是 ________.#include<> #include<>void main() void main(){ int s=0,i=1; { int i=10,j=0;while (s<=10) do{ s=s+i*i; { j=j+1; i--;i++; }while(i>2);} printf("%d\n",j);printf("%d",--i); }} A) 50 B) 52 C) 51 D) 8 A) 4 B) 3 C) 5 D) 6 64、有以下程序#include<>59、下边程序段的运转结果是________. void main()for(x=10;x>3;x--) { int x=23;{ if(x%3) x--; do--x; --x; { printf("%d",x--);printf("%d ",x); }while(!x);} }A)63 B)74 C)62 D)73 该程序的履行结果是 _______A) 321 B) 23 该程序段的输出结果是__________.C) 不输出任何内容D) 堕入死循环A) 987 B) 876 C) 8765 D) 987665、以下程序段的履行结果是_______. 70、有以下程序int i,j,m=0; #include<>for(i=1;i<=15;i+=4) void main( )for(j=3;j<=19;j+=4) { int i,sum=0;m++; for(i=1;i<=3;sum++) sum+=i;printf("%d\n",m); printf("%d\n",sum);A) 12 B) 15 C) 20 D) 25 }该程序的履行结果是 ___________.66、下边程序的输出结果是___________. A) 6 B) 3 C) 死循环D) 0#include<>void main( ) 71、以下循环体的履行次数是_______{ int i; #include<>for(i=1;i<6;i++) void main( ){ if (i%2!=0) {printf("#");continue;} { int i,j;printf("*"); for(i=0,j=1; i<=j+1; i+=2, j--)} printf("%d \n",i);printf("\n"); }} A) 3 B) 2 C) 1 D) 0A) #*#*# B) ##### C) ***** D) *#*#*72、在履行以下程序时,假如从键盘上输入: ABCdef< 67、下边程序的输出结果是__________. 回车 >,则输出为 ________.#include<> #include <>void main( ) void main( ){ int x=10,y=10,i; { char ch;for(i=0;x>8;y=++i) while ((ch=getchar( ))!='\n')printf("%d %d ",x--,y); { if (ch>='A' && ch<='Z') ch=ch+32;} else if (ch>='a' && ch<'z') ch=ch-32;A)10192 B)9876 printf("%c",ch);C)10990 D)101091 }printf("\n");68、履行以下程序后,输出的结果是__________. }#include<> A) ABCdef B) abcDEF C) abc D) DEF void main( ){ int y=10; 73、下边程序的输出结果是__________.do {y--;} main( )while (--y); {printf("%d\n",y--); int i,k=0, a=0, b=0;} for(i=1;i<=4;i++)A) -1 B) 1 C) 8 D) 0 {k++;69、有以下程序if (k%2==0) {a=a+k; continue;}#include<> b=b+k;void main( ) a=a+k;{ int n=9; }while(n>6) {n--;printf("%d",n);} printf("k=%d a=%d b=%d\n",k,a,b);} }A) k=5 a=10 b=4B) k=3 a=6 b=4C) k=4 a=10 b=3D) k=4 a=10 b=474、履行下边程序段后,k 的值是 _________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A)9B)11C)8D)1075、以下程序的功能是:从键盘上输入若干个学生的成绩 , 统计并输出最高成绩和最低成绩 ,当输入负数时结束输入。