C语言基础练习100题_第1页
C语言基础练习100题_第2页
C语言基础练习100题_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言基础练习100题(含答案)雷柳青编排1、下面程序的输岀是#i ncludevoid mai n()(int k=ll;prin tf(k=%d,k=%o,k=%xnn,k,k,k);)A) k=ll,k=12,k=llB) k=ll,k=13,k=13C) k=ll,k=013,k=0xbD) k=ll,k=13,k=b2、在下列选项中,不正确的赋值语句是A) +t;B) nl=( n2=( n3=0);C) k=i=j;D) a=b+c= 1;3、下面合法的C语言字符常量是.A) t B) nAC) 65D)A4、字符(char)型数据在微机内存中的存储形式是A) 反码 B)补码 C)

2、 EBCDIC 码 D) ASCII 码5、设int a=12,则执行完语句 a+=a? =a*a后,a的值是A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输岀语句后,输岀结果是#i ncludevoid mai n()int a;printf( %” n” ,(a=3*5,a*4,a+5;A) 65 B) 20 C) 15D) 107、下面程序的输岀是.#i ncludevoid mai n()(int x=023;prin tf(n%dnn,-x);A) 17 B) 18 C) 23 D) 248、下面程序的输岀是.#i ncludevoid mai n()(

3、char chl,ch2;chl=A+5 ? 3;ch2=A+6 ? 3;printf(%d,%cn,chl ,ch2);A) 67,DB)B,C C) C.D D)不确定的值9、 以下程序的输岀结果是.#i ncludevoid mai n() int x=10,y=10;prin tf(%d %dn,x y);A) 10 10B)9 9C)9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的 程序片段:prin tf(%d,(x,y);上面程序片段的输岀结果是.A)200B) 100C) 100 200 D)输岀格式符不够,输岀不确定的值11、阅读下面

4、的程序#i ncludevoid mai n()int i,j ;i=010;j=9 ;prin tf(%d,%d,i-j,i+j);则程序的运行结果是.A) 1,19B)-l,19 C) 1,17D)-l,1712、阅读下面的程序#i ncludevoid mai n()int i,j,m, n;i=8;j=10;m=+i;n =j+;printf( %d,%d,%d,%d ” ,i,j,m,n);程序的运行结果是.A) 8,10,8,10B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1113、若己定义int a,则表达式a=10,a+10,a+的值是 A) 20B)

5、10C)21 D) 1114、阅读下面的程序#i ncludevoid mai n()(int i,j;scanf( %3d%2d”,&i,&j);printf( i=%d,j=%dn ,i,j);如果从键盘上输入1234567回车,则程序的运行结果是.A) i=123,j=4567B) i=1234,j=567C)i=l,j=2D)i=123,j=4515、下面程序的输岀结果是#i ncludevoid mai n()int a=-l, b=4, k;k=(+a=0)&(b =0); printf( %n” ,k,a,b);A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,

6、316、下面程序的输岀结果是#i ncludevoid mai n()int a=5,b=3;float x=3.14, y=6.5;printf(%d,%dn n,a+b!=a-b,x若有定义int a=12,n=5,则表达式 a%=(n%2)运算 后,a 的值 .A)0B) 1C) 12D)622、 若有定义int x=3,y=2 和 float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是.A)0B)2C) 1.5 D) 123、 在C语言中,以下叙述不正确的是.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存

7、储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、 设a为整型变量,不能正确表达数学关系10a15 的C语言表达式是.A) 10al0&a15 D) !(a= 15)25、 如果c为字符型变量,判断c是否为空格不能使用.(假设己知空格 ASCII码为32)A) if(c=32)B) if(c=32)C) if(c=40)D) if(c= )26、 执行下面程序时,若从键盘输入” 2vCR;则程序 的运行结果是.#i nclude void mai n()(int k; char cp;cp=getchar();if(cp=*0 & cpv=9)

8、k=cp-。;else if (cp=a & cp=f) k=cp-a+10; else k=cp-A*+10;printf( %” n” ,k);)A) 2B)4C) 1D) 1027、 执行下面程序后,运行结果是.#i nclude void mai n()(int x=41,y=l;if (x%3=0 & x%7=0) ( y+=x;printf(Hy=%dn n,y);else(y=x;printf( ny=%d H,y);A)y=41 B)y=43 C) y=42 D) y=l28、 运行下面程序时,从键盘输入” 12,34,9,”则 输出结果是.#i nclude void mai

9、 n() int x,y,z;scanf( % d,%d,%d ”,&x,&y,&z);if(xy)if(yvz)printf( n%dn n,z); else pr intf( n%dnn,y);else if (xz)pri ntf(%dn,z); else printf( n%dnn,x);A) 34 B) 12C)9 D)不确定的值29、 运行下面程序时,从键盘输入字母H,则输岀结 果 是.#i nclude void mai n()(char ch;ch=getchar();switch(ch)(case H:printf( nHello!n M);case G:printf( Go

10、od moming!n); default:pri ntf(Bye_Bye!n);(int x=8,y=_7,z=9;if(xy)A) Hello!B) Hello!GoodC) Hello!MorningD) Hello!Good mor ning!Bye_Bye!Bye_Bye!30、执行下列程序段后的输岀结果是int x=l,y=l,z=l;x+=y+=z;printf(%din n,x=A& chv=Z)?ch+32:ch 的值是.C)zD)AA)Z B)a 32、下面程序的输岀结果是#in clude void mai n()A) 3,0B) 0,0C) 0,1D) 3,135、能够

11、完成如下函数计算的程序段是一if (y,”则 程序的输出结果是.#i nclude void mai n()(int a,b,s;scanf( % d,%d ” ,&a,&b);s=a;if (sb) s=b;s 二 s*s;printf( H%dn n,s);A) 14 B) 16 C) 18 D) 20 34、下列程序的执行结果是#i nclude void mai n()(int x=0,y=l,z=0;if (x=z=y)x=3;prin tf(%d,%dn ,x,z);r -1y= T 0xA)y=l;B) if (x=0)if(x!=0)if(x0) y=l;if(x0) y=l;

12、else y=0;else y=0;else y=-l;C)y=0;D) y=-l;if(x=0)if(x0) y=l;if (x0) y=l;else y=0;else y=-l;36、以下程序的执行结果是#i nclude void mai n()(int x=l,y=0;switch (x)case 1:switch (y)(n” );break;case 1:printf(secondn n);break;case 2:printf( Hthirdn n);)A) firstB) firstsec ondthirdC) firstD) sec ondthird37、以下程序的执行结果是

13、.#i nclude void mai n()(int a,b,c,d,x;a=c=0;b=l ;d=20;if (a) d=d-10;else if(!b)if(!c) x=15;else x=25;printf( Hd=%dn n,d);A) d=20B)d=10 C)d=15 D) 2538、下列程序执行后的输岀结果是.#i nclude void mai n()(int x,y=l,z;if (z=y)0) x=4;else if (y=0) x=5;else x=6;printf( %d,%dn,x,y);A) 4,1 B) 6,1C)5,0 D)岀错信息39、有如下程序#i ncl

14、ude void mai n() in tx=l,a=0,b=0;switch(x)case 0: b+;case 1: a+;case 2: a+;b+;)prin tf(a=%d,b=%dn,a,b);该程序的输出结果是.A) a=2,b= 1 B) a= 1 ,b= 1 C) a=l,b=0 D) a=2,b=240、下面程序的输岀结果是#i nclude void mai n()(int a=-l,b=l,k;if (+a0) & (b =0)printf(nn ,a,b);elseprintf(nn ,b,a);A)-l 1B)0 1 C) 1 0D)0 041、假定w、x、y、z、

15、m 均为int型变量,有如下程序段:w=l;x=2;y=3;z=4;m=(wvx)?w:x; m=(my)?m:y; m=(m100) printf( n%dnn,a100);else printf(%dn n,a= 100);A) a=100 B) 100C)0 D) 143、 若执行下面的程序从键盘上输入9,则输岀结果是.#i nclude void mai n()(int n;scanf( % d”,&n);if(n+10) printf( n%dnn,n);else pri ntf(%dn, n );A) 11 B) 10C)9D)844、以下程序段运行结果是.int x=l,y=l,

16、z=-l;x+=y+=z;printf( n%dnn,xy?y:x);A) 1B)2C)4 D)不确定的值45、有以下程序#i nclude void mai n()(int a,b,c=246;a=c/100%9;b=(? l)&(-l); printf(%d,%dn H,a,b);输出结果是.A) _2,1B)3,2C)4,3 D) 2,-146、 运行下面程序时,若从键盘输入数据为123,则输出结果是 .#i nclude stdio.hvoid mai n()(int n um,i,j,k,place;sca nf(%d,&n um);if(n um99)place=3;else if

17、(n um9)place=2;elseplace=l;i=n um/100;j=( num-i* 100)/10;k=( num-i* 100-j * 10);switch (place)(case 3: printf( H%d%d%dn,k,j,i);break;case 2: prin tf(%d%dn,k,j);break;case 1: prin tf(%dn,k);A) 123B) 1,2,3C) 321D) 3,2,147、执行下列程序后的输岀结果是#i nclude void mai n()(int k=4,a=3,b=2,c=l;printf( n%dnn,ka?k:cb?c:

18、a);)A) 4B)3C)2D) 148、 以下条件表达式中能完全等价于条件表达式if (x) 中的X的是 .A) (x=0) B) (x!=0)C) (x=l)D)(x!=l)49、 若运行下面程序时,给变量a输入15,则输岀结果是.#i nclude void mai n()(int a,b;sca nf(n%d, &a);b=a15?a+10:a-10;printf(%dn H,b);)A)5B)25C) 15D)1050、 执行下面程序的输岀结果是 .#i nclude void mai n() int a=5,b=0,c=0;if (a=a+b) pri ntf(”T *else p

19、rintf(#n H);A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出*D) 输岀#51、 为了避免嵌套的if-else语句的二义性,C语言规 定else总是与组成配对关系.A )缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段x=-l;dox=x*x; while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、 对下面程序段描述正确的是 .int x=0,s=0;while (!x!=0) s+=+x;printf( H%dH,s);A) 运行程序段后输岀0B) 运行程序段后输出

20、1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输岀结果是x=3;do ( y=x ;60、下面程序的运行结果是#i ncludeif (!y) (printf(*);continue;) printfC #);void mai n() while(x=2);(int a,b;A)#B)#* C)死循环D)输出错误信息a=-l;b=0;55、下面程序的运行结果是do #i nclude+a;void mai n()+a;(int a=l,b=10;b+=a;do while(a9);(b-=a;a+;printf( %” n” ,b); while(b 0);pri

21、ntf( %n”,a,b);A) 34B) 24C) 26D) 2561、下面程序段的运行结果是A) 3,11B) 2,8C) 1,-1D) 4,9for(i=l;i=5;)printf(%”d” ,i);56、下面程序段的运行结果是i+ ;int n=0;A) 12345B)1234C) 15D)无限循环while (n+v=2) pri ntf( n%d, n);62、卜面程序的输岀结果是A) 012B) 123C) 234D)错误信息#i ncludevoid mai n()57、下面程序段的运行结果是(int n=4;int x=0,y=0;while (n ) printf( H%d

22、 ,n );while (x15) y+,x+=+y;printf( %”d,%d ” ,y,x);A) 2 0B)3 1C)3 2 1D) 2 1 0A) 20,7B) 6,12C) 20,8D)8,2058、下面程序的运行结果是63、以下程序运行后的输岀结果是#i nclude void mai n() (int s=0,i=l;while (s=10)#i nclude void mai n()(int i=10,j=0;do(s=s+i*i;j=j+l ; i;i+ ;while(i2);printf( H%dnH,j);printfC%d H,-i);A) 50B) 52C)51D)

23、 8A) 4B)3C)5D)664 有如下程序#i nclude59、下面程序段的运行结果是void mai n()for(x=10;x3;x )(int x=23; if(x%3) x-;do-X ; -X ;(printf( n%dn,x-);printf( H%d ” ,x);while(!x);)A) 6 3B)7 4C)6 2D) 7 3该程序的执行结果是A) 321B) 23该程序段的输出结果是C)不输岀任何内容D)陷入死循环65、以下程序段的执行结果是 .A) 987B) 8769876 70、有如下程序C)8765D)A) 12int i,j,m=O;for(i= l;i= 1

24、5 ;i+=4) for(j=3 ;j v= 19 ;j+=4)m+;printf( n%dnn,m);B) 15C) 20D) 2566、下面程序的输岀结果是 #i ncludevoid mai n()(int i,sum=0;for(i=l;i=3;sum+) sum+=i; prin tf(%dn,sum);该程序的执行结果是 A) 6B)3C)死循环D)0#i ncludeD)0void mai n()(int n=9;while(n6) n-;pri ntf( n%dH, n);a=a+k;printf( Hk=%d a=%d b=%dn n,k,a,b);void mai n()(

25、int i;for(i=l;i6;i+)(if (i%2!=0) (pri ntf( H#H);co nti nue; printf( ”; ”)printf( nnH);A)#*#*#B)#c)*D)*#*#*67、 下面程序的输岀结果是 .#i ncludevoid mai n()(int x=10,y=10,i;for(i=0 ;x8 ;y=+i)prin tf(%d %d ,x ,y);A) 10 1 9 2B) 9 8 7 6C) 10 9 9 0D) 10 10 9 168、执行以下程序后,输岀的结果是 _ .#i ncludevoid mai n()(int y=10;do y-

26、; while ( y);printf( H%dnH,y-);A)-lB) 1C)869、有如下程序#i nclude71、以下循环体的执行次数是#i ncludevoid mai n()(int i.j ; for(i=0,j=l; i=j+l; i+=2, j )printf( H%d nH,i);A) 3B)2C) 1D)072、在执行以下程序时,如果从键盘上输入:ABCd回车,则输岀为 .#i nclude void mai n()(char ch;while (ch=getchar( )!= In) if (ch=A &=2)/ch=ch+32;else if (ch=a* & ch

27、vz) ch=ch-32;prin tf(n%cH,ch); printf( Hnn);A) ABCdefB) abcDEF C) abcD) DEF73、下面程序的输岀结果是mai n()(int i,k=0, a=0, b=0;for(i=l;i=4;i+)k+;if (k%2=0) a=a+k; con ti nue;b=b+k;A) k=5 a=10 b=4 B) 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;ij;i+,j-)k=i+j ;A) 9B) 11C)8D)

28、1075、以下程序的功能是:从键盘上输入若干个学生的成 绩,统计并输岀最高成绩和最低成绩,当输入负数时结 束输入。请填空。#i ncludevoid mai n() float x,amax,am in;sca nf(n%f, &x);amax=x;amin=x;while ()(if (xamax) amax=x;if () amin 二 x;sca nf(H%f&x);1pri ntf(namax=%fnami n=%fnn,amax,ami n);A) xv=0 B) x0 C) x0 D) x=0xam in xam in xam in76、阅读以下程序,程序运行后的输岀结果是#i n

29、cludevoid mai n()(int x;for(x=5;x0;x )if(x-5) printf( H%d,n,x);else printf(“ %d, ,x+); A) 4,3,2 B) 4,3,1, C) 5,4,2 D) 5,3,1,77、以下程序段的输岀结果是 .int k,n ,m;n=10;m=l;k=l;while (k100) break;C) int k=1000;D) int s=36;do +k; while (k=1000);81、下面程序的输岀结果是#i nclude void mai n()int i ;for(i=l;i=0);A) 4B)5C)3D)28

30、3、若i为整型变量,则以下循环语句的循环次数是 for(i=2;i= =0;) pri ntf(,%d,i-);A)无限次 B) 0次 C) 1次 D) 2次84、对于for(表达式1;表达式3)可理解为A)for (表达式1;0;表达式3)B)for (表达式1;1;表达式3)C)for (表达式1;表达式1;表达式3)D)for (表达式1;表达式3;表达式3)85、合法的数组定义是.A) int a6=(stri ng); B) int a5=0,l,2,3,4,5;C) char a=(string) ; D) char a=0,l,2,3,4,5;86、给岀以下定义:Hchar x

31、=abcdefg ;chary= ,aVb,; c,; dVe,; f ; g,;则正确的叙述为.A) 数组x和数组y等价B) 数组x和数组y的长度相同C) 数组 x 的长度大于数组 y 的长度D) 数组 x 的长度小于数组 y 的长度87、定义如下变量和数组:int i;intx44= 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;则下面语句的输出结果是 .for(i=0;i4;i+) printf( n%3dn,xi3-i);A) 1 5 9 13B)1 6 1116C)4 7 10 13D)4 8 12 1688、下面程序输出的结果是 .#include

32、void main()( int i,j,x=O;static int a6= 1,2,3,4,5,6;for(i=0,j=l ;i5 ;+i,j+) x+=ai*aj;printf(%dn,x);A) 数组 a 中首尾的对应元素的乘积B) 数组 a 中首尾的对应元素的乘积之和C) 数组 a 中相邻各元素的乘积D) 数组 a 中相邻各元素的乘积之和89、若有以下说明:char si =(tree),s2=(flower;, 则以下对数组元素 或数组的输出语句中,正确的是A) printf( n%s%sn,sl5,s27);B) printf(%c%c,sl,s2);C) puts(sl);pu

33、ts(s2); D) puts(sl,s2);90、运行下面程序段的输出结果是.char sl10=S ,;e,;t,; 0,uVpV0 ,; printf(%s,sl);A) Set B) Setup C) Set up D)91、以下程序段的输出结果是 .char s =an apple; printf( n%dn H,strlen(s);A) 7B)8 C)9 D) 1092、若有说明 :char c10=(E,a,s,t,0;. 则下述说 法中 正确的是 .A)c7 不可引用B)c6 可引用,但值不确定C)c4 不可引用D)c4 可引用,其值为空字符A) c0 B) c9-6 C) c4*2 D) c2*394、 如有说明: char sl5,s27; , 要给数组 si 和 s2 整 体 赋值,下列语句中正确的是 .A)sl=getchar(); s2=getchar();B)scanf( ”s%s” ,sl,s2);C)scanf(%c%c,sl,s2);D)gets(sl,s2);95、以下程序输出的结果是#include void main()( char str =

温馨提示

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

评论

0/150

提交评论