《2022年C语言基础练习题.docx》由会员分享,可在线阅读,更多相关《2022年C语言基础练习题.docx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -C 语言基础练习 100题(含答案)雷柳青编排1、下面程序的输出是_ ch2=A+6-3; #include printf%d,%cn,ch1,ch2; void main C C,D D 不确定的值 int k=11; A 67,D B B,C printfk=%d,k=%o,k=%xn,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 i
2、nt x=10,y=10; printf%d %dn,x-,-y; 2、在以下选项中,不正确的赋值语句是_. A +t; B n1=n2=n3=0; A 10 10 B 9 9 C 9 10 D 10 9 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 100 4、字符 char型数据在微机内存中的储备形式是 _. C 100 200 D 输出格式符不够 ,
3、输出不确定的值A 反码 B 补码 C EBCDIC 码 D ASCII 码11、阅读下面的程序5、设int a=12,就执行完语句a+=a-=a*a 后,a 的值是#include _ C 144 D -264 void main A 552 B 264 int i,j; 6、执行下面程序中的输出语句后,输出结果是 _. i=010; D -1,17 #include j=9; void main printf%d,%d,i-j,i+j; int a; printf%dn,a=3*5,a*4,a+5; 就程序的运行结果是_. A 1,19 B -1,19 C 1,17 A 65 B 20 C
4、15 D 10 12、阅读下面的程序7、下面程序的输出是_. D 24 #include 第 1 页,共 11 页 - 1 - #include C 23 void main void main int x=023; int i,j,m,n; printf%dn,-x; i=8;j=10; m=+i; A 17 B 18 n=j+; 8、下面程序的输出是_. printf%d,%d,%d,%d,i,j,m,n; #include void main 程序的运行结果是_. A 8,10,8,10 B 9,11,8,10 char ch1,ch2; ch1=A+5-3; C 9,11,9,10 D
5、 9,10,9,11 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -13、如已定义 int a,就表达式 a=10,a+10,a+的值是 _. 20、如 d 为 double 型变量 ,就表达式 d=1,d+5,d+ 的值A 20 B 10 C 21 D 11 是_. 14、阅读下面的程序 A 1 B 6.0 C 2.0 D 1.0 #include 21、如有定义 int a=12,n=5,就表达式 a%=n%2运算void ma
6、in 后,a 的值 _. A 0 B 1 C 12 D 6 int i,j; scanf%3d%2d,&i,&j; 22、如有定义 int x=3,y=2 和 float a=2.5,b=3.5,就表达printfi=%d,j=%dn,i,j; 式:x+y%2+inta/intb 的值是 _. A 0 B 2 C 1.5 D 1 假如从键盘上输入 1234567,就程序的运行结果是_. 23、在 C 语言中 ,以下表达不正确选项 _. A i=123,j=4567 B i=1234,j=567 A 在 C 程序中 ,无论是整数仍是实数 ,都能被精确无误C i=1,j=2 D i=123,j=4
7、5 的表示B 在 C 程序中 ,变量名代表储备器中的一个位置15、下面程序的输出结果是_. C 静态变量的生存期与整个程序的生存期相同#include void main D C 语言中变量必需先定义后引用 24、设 a 为整型变量 ,不能正确表达数学关系10a15int a=-1, b=4, k; 的 C 语言表达式是 _. k=+a=0&b-=0; A 10a10&a15 D .a=15 A 1,1,2 B 1,0,3 C 0,1,2 D 0,0,3 25、假如 c 为字符型变量,判定 c 是否为空格不能使用_. 假设已知空格 ASCII 码为 32 16、下面程序的输出结果是 _. A
8、ifc=32 B ifc=32 #include C ifc=40 D ifc= void main 26、执行下面程序时 ,如从键盘输入 2 ,就程序 的运行结果是 _. int a=5,b=3; #include float x=3.14, y=6.5; void main printf%d,%dn,a+b.=a-b,x=0 & cp=a & cp=f D 10 int a=010, b=0x10, c=10; k=cp-a+10; printf%d,%d,%dn,a,b,c; else k=cp-A+10; 就输出结果是 _. printf%dn,k; A 10,10,10 B 8,16
9、,10 C 8,10,10 D 8,8,10 18、已知有 double 型变量 x=2.5,y=4.7, 整型变量 a=7, A 2 B 4 C 1 就表达式x+a%3*intx+y%2/4 的值是 _. 27、执行下面程序后,运行结果是 _. A 2.4 B 2.5 C 2.75 D 0 #include void main 19 、 设 有以 下 语句 :int x=10;x+=3+x%3, 就 x 的值 int x=41,y=1; 是._ if x%3=0 & x%7=0 A 14 B 15 C 11 D 12 y+=x;printfy=%dn,y; else 细心整理归纳 精选学习资
10、料 - - - - - - - - - - - - - - - 第 2 页,共 11 页 - 2 - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - y=x;printfy=%d,y; D y=1 int x=8,y=-7,z=9; if xy A y=41 B y=43 C y=42 if y0 z=0; else z-=1; 28、运行下面程序时,从键盘输入12,34,9 ,就 printf%dn,z; C 9 D 0 输出结果是 _. #include B 1 A 8 void main int x,y,z; D
11、 不确定的值33、运行下面程序时,如从键盘输入3 ,4 ,就scanf%d,%d,%d,&x,&y,&z; 程序的输出结果是_. #include if xy if yzprintf%dn,z; void main else printf%dn,y; int a,b,s; else if xzprintf%dn,z; scanf%d,%d,&a,&b; else printf%dn,x; s=a; if sb s=b; A 34 B 12 C 9 s=s*s; printf%dn,s ; 29、运行下面程序时,从键盘输入字母H,就输出结 B 16 C 18 D 20 果是 _. A 14 #i
12、nclude void main 34、以下程序的执行结果是 _. char ch; #include ch=getchar ; void main switchch int x=0,y=1,z=0; case H:printfHello.n; if x=z=y case G:printfGood morning.n; x=3; default:printfBye_Bye.n; printf%d,%dn,x,z; A 3,0 B 0,0 C 0,1 D 3,1 A Hello. B Hello. 35、能够完成如下函数运算的程序段是 _. Good Morning. -1 x0 Bye_Bye
13、. A y=1; B if x=0 ifx.=0 ifx0 y=1; 30、执行以下程序段后的输出结果是 _. ifx0 y=1; else y=0; int x=1,y=1,z=1; else y=0; else y=-1; x+=y+=z; C y=0; D y=-1; printf%dn,x=0 if x0 y=1; A 3 B 2 C 1 D 4 if x0 y=1; else y=0; 31、设 ch 是 char 型变量 ,值为 A,就表达式 ch=ch=A else y=-1; & ch=Z.ch+32:ch 的值是 _. A Z B a C z D A 36、以下程序的执行结果
14、是 _. #include 32、下面程序的输出结果是_. void main 第 3 页,共 11 页 - 3 - #include int x=1,y=0; void main switch x 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - case 1: case 2: a+;b+; D a=2,b=2 switch y printfa=%d,b=%dn,a,b; case 0:printffirstn;break; 该程序
15、的输出结果是_. A a=2,b=1 B a=1,b=1 C a=1,b=0 case 1:printfsecondn;break; case 2:printfthirdn; 40、下面程序的输出结果是_. #include void main A first B first int a=-1,b=1,k; second third if +a0 & b-=0 C first D second printf%d %dn,a,b; third else printf%d %dn,b,a; 37、以下程序的执行结果是_. #include A -1 1 B 0 1 C 1 0 D 0 0 void
16、 main 41、假定 w、x、y、 z、m 均为 int 型变量,有如下程 int a,b,c,d,x; 序段:a=c=0; w=1;x=2;y=3;z=4; b=1; m=wx.w:x; m=my.m:y; m=m100 printf%dn,a100; A d=20 B d=10 C d=15 D 25 else printf%dn,a=100; 38、以下程序执行后的输出结果是_. #include A a=100 B 100 C 0 void main int x,y=1,z; C 5,0 D 出错信息43、如执行下面的程序从键盘上输入9,就输出结果if z=y0 x=4; 是._ #
17、include else if y=0 x=5; else x=6; void main printf%d,%dn,x,y; int n; scanf%d,&n; A 4,1 B 6,1 if n+10 printf%dn,n; else printf%dn,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; C 4 D 不确定的值switchx x+=y+=z; printf%dn,xy.y:x; case 0: b+; A 1 B 2 case
18、 1: a+; 45、有以下程序 第 4 页,共 11 页 - 4 - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -#include D 2,-1 是_. #include void main int a,b,c=246; void main a=c/100%9; int a,b; b=-1&-1; scanf%d,&a; printf%d,%dn,a,b; b=a15.a+10:a-10; printf%dn,b ; 输出结果是
19、 _. A 2,1 B 3,2 C 4,3 A 5 B 25 C 15 D 10 46、运行下面程序时,如从键盘输入数据为123 ,50、执行下面程序的输出结果是_. 就输出结果是 _. #include #include stdio.h 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,# else printf#n; if num99 place=3; A 有语法错误不能编译else ifnum9 B 能通过编译,但不能通过连接place=2; C 输出* els
20、e D 输出# place=1; i=num/100; 51、为了防止嵌套的if-else 语句的二义性,C 语言规j=num-i*100/10; 定 else 总是与 _组成配对关系 . k=num-i*100-j*10; A 缩排位置相同的if if switch place B 在其之前未配对的if case 3: printf%d%d%dn,k,j,i; C 在其之前尚未配对的最近的break; D 同一行上的if case 2: printf%d%dn,k,j; break; 52、以下程序段 _. case 1: printf%dn,k; x=-1; do A 123 B 1,2,
21、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; D 1 ifx53、对下面程序段描述正确选项_. printf%dn,ka.k:cb.c:a; int x=0,s=0; while .x.=0 s+=+x; A 4 B 3 C 2 printf%d,s; 48、以下条件表达式中能完全等价于条件表达式A 运行程序段后输出0 B 运行程序段后输出1 中的 x 的是 _. C 程序段中的掌握表达式是非法的A x
22、=0 B x.=0 C x=1 D x.=1 D 程序段循环很多次_. 第 5 页,共 11 页 - 5 - 49、如运行下面程序时,给变量 a 输入 15,就输出结果54、下面程序段的输出结果是细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -x=3; A # do y=x-; 60、下面程序的运行结果是_. if .y printf*;continue; #include printf#; void main whilex=2; i
23、nt a,b; B #* C 死循环D输出错误信息a=-1; b=0; 55、下面程序的运行结果是_. D 4,9 do C 26 D 25 #include +a; void main +a; int a=1,b=10; b+=a; do whilea9; b-=a;a+; printf%dn,b; whileb-0; printf%d,%dn,a,b; A 34 B 24 61、下面程序段的运行结果是_. A 3,11 B 2,8 C 1,-1 fori=1;i=5; printf%d,i; 56、下面程序段的运行结果是_. A 12345 i+; B 1234 C 15 D 无限循环in
24、t n=0; while n+=2 printf%d,n; C 234 D 错误信息62、下面程序的输出结果是_. A 012 B 123 #include 57、下面程序段的运行结果是_. void main int n=4; int x=0,y=0; C 20,8 D8,20 while n- printf%d ,n-; while x15 y+,x+=+y; printf%d,%d,y,x; A 2 0 B 3 1 C 3 2 1 D 2 1 0 A 20,7 B 6,12 58、下面程序的运行结果是_. 63、以下程序运行后的输出结果是_. #include C 5 D 6 #incl
25、ude void main void main int s=0,i=1; int i=10,j=0; while s2; printf%dn,j; printf%d,-i; A 50 B 52 C 51 D 8 A 4 B 3 64、有如下程序#include 59、下面程序段的运行结果是_. D 7 3 void main 第 6 页,共 11 页 - 6 - forx=10;x3;x- C 6 2 int x=23; ifx%3 x-; do -x; -x; printf%d,x-; printf%d ,x; while.x; A 6 3 B 7 4 该程序的执行结果是_ 细心整理归纳 精
26、选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -A 321 B 23 该程序段的输出结果是_. D 9876 A 987 B 876 C 8765 C 不输出任何内容D 陷入死循环65、以下程序段的执行结果是_. 70、有如下程序D 0 int i,j,m=0; #include fori=1;i=15;i+=4 void main forj=3;j=19;j+=4 int i,sum=0; C 20 D 25 m+; fori=1;i=3;sum+
27、 sum+=i; printf%dn,m; printf%dn,sum; A 12 B 15 该程序的执行结果是_. 66、下面程序的输出结果是_. A 6 B 3 C 死循环#include void main D *#*#* 71、以下循环体的执行次数是_ int i; #include fori=1;i6;i+ void main if i%2.=0 printf#;continue; int i,j; printf*; fori=0,j=1; i=j+1; i+=2, j- printf%d n,i; printfn; A 3 B 2 C 1 D 0 A #*#*# B # C * 7
28、2、在执行以下程序时,假如从键盘上输入: ABCdef,就输出为 _. #include #include void main void main int x=10,y=10,i; char ch; fori=0;x8;y=+i while ch=getchar .=n printf%d %d ,x-,y; if ch=A & ch=a & chz ch=ch-32; A 10 1 9 2 B 9 8 7 6 printf%c,ch; C 10 9 9 0 D 10 10 9 1 printfn; 68、执行以下程序后,输出的结果是_. D DEF #include D 0 A ABCdef
29、B abcDEF C abc void main 73、下面程序的输出结果是_. int y=10; do y-; main while -y; printf%dn,y-; int i,k=0, a=0, b=0; fori=1;i=4;i+ A -1 B 1C 8 k+; 69、有如下程序 if k%2=0 a=a+k; continue; #include b=b+k; void main a=a+k; int n=9; whilen6 n-;printf%d,n; printfk=%d a=%d b=%dn,k,a,b; 第 7 页,共 11 页 - 7 - 细心整理归纳 精选学习资料
30、- - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -A k=5 a=10 b=4 B k=3 a=6 b=4 D 10 C 在循环体内使用break 语句或 continue 语句的作用C k=4 a=10 b=3 D k=4 a=10 b=4 相同74、执行下面程序段后,k 的值是 _. D 从多层循环嵌套中退出时,只能使用 goto 语句int i,j,k; 80、在以下选项中,没有构成死循环的程序段是_. fori=0,j=10;i100 break; 75、
31、以下程序的功能是:从键盘上输入如干个同学的成 D int s=36; 绩, 统计并输出最高成果和最低成果,当输入负数时结C int k=1000; 束输入;请填空;_ do +k; while k=1000; while s -s; #include void main 81、下面程序的输出结果是_. D *#*#$ float x,amax,amin; #include scanf%f,&x; void main amax=x; int i; amin=x; fori=1;iamax amax=x; else continue; if _ amin=x; printf#; scanf%f,&x; printf$n; printfnamax=%fnamin=%fn,amax,amin; A *#*#*#$ B #*#*#*$ C #*#*$ A x0 C x0 D x=0 82、下面程序段中,循环体的执行次数是_. xamin xamin x=0; #include