C语言基础题(含答案)
更新时间:2023-12-01 22:02:01 阅读量: 教育文库 文档下载
第一章 C语言基础知识 ·1·
第一章 C语言基础知识
1.1 选择题
1. 以下不是C语言的特点的是( )。
A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好
2. 下列字符序列中,不可用作C语言标识符的是( )。
A.abc123 B.no.1 C._123_ _ok
3. 正确的C语言标识符是 ( )。
A._buy_2 B.2_buy C.D.buy?
4. 请选出可用作C语言用户标识符的一组标识符( )。 A.void B.a3_b3 C.For D.define _123 -abc WORD IF Case 5. 下列符号中,不属于转义字符的是( )。
A.\\\\ B.\\0xAA C.\\t 6. 不属于C语言关键字的是( )。
A.int B.break C.D.character
7. 是C语言提供的合法关键字的是( )。
A.Float B.signed C.integer D.Char
D.-?_buy
2a
DO sizeof
D.\\0 while 第一章 C语言基础知识 ·2·
8. 以下不能定义为用户标示符的是( )。
A.scanf B.Void C._3com_ D.int
9. 一个C程序是由( )。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成
10. C语言程序的基本单位是( )。
A.程序行 B.语句 C.函数 D.字符
11. 下列说法中,错误的是( )。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号
B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用
D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数
12. 以下说法中正确的是( )。
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main( )函数中定义
C.C语言程序总是从main( )函数开始执行
D.C语言程序中的main( )函数必须放在程序的开始部分 13. C编译程序是( )。
A.C程序的机器语言版本 B.一组机器语言指令
第一章 C语言基础知识 ·3·
C.将C源程序编译成目标程序 D.由制造厂家提供的一套应用软件 14.以下选项中,合法的用户标识符是( )。
A.long B._2abc C.3dmax D.A.dat 15.以下选项中,合法的实型常数是( )。
A.5E2.0 B.E-3 C.2E0 D.1.3E 16.已知大写字母A的ASCII码值是65, 小写字母a的ASCII
码是97,则用八进制表示的字符常量’\\101’是( )。
A.字符A B.字符a C.字符c D.非法的
常量
17.以下选项中, 合法转义字符的选项是( )。
A.?\\\\? B.’\\018’ C.’xab’ D.’\\abc’ 18.以下选项中,正确的字符常量是( )。
A.”F” B.’\\\\’’ C.?W? D.’’ 19.以下选项中可作为C语言合法整数的是
A.10110B B.0386 C.0Xffa D.x2a2
20.下列变量定义中合法的是
A.short _a=1-.le-1; B.double b=1+5e2.5;
C.long do=0xfdaL; D.float 2_and=1-e-3;
21.与数学式子9x对应的C语言表达式是( )。
n
2x?1
A.9*x^n/(2*x-1) B.9*x**n/(2*x-1)
C.9*pow(x,n)*(1/(2*x-1)) D.9*pow(n,x)/(2*x-1)
22.若有代数式3ab,则不正确的C语言表达式是( )。
cd A.a/c/d*b*3 B.3*a*b/c/d
第一章 C语言基础知识 ·4·
C.3*a*b/c*d D.a*b/d/c*3 23.已知各变量的类型说明如下: int m=8,n, a, b;
unsigned long w=10; double x=3.14, y=0.12;
则以下符合C语言语法的表达式是( )。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18 C.x%3 D.y=float (m) 24.以下符合C语言语法的赋值表达式是( )。 A.a=9+b+c=d+9 B.a=(9+b, c=d+9)
C.a=9+b, b++, c+9 D.a=9+b++=c+9
25. 已知字母A的ASCII码为十进制数65,且S为字符型,则
执行语句S=’A’+’6’-’3’;后,S中的值为( )。 A.?D?
B.68
C.不确定的值 D.’C’
26.在C语言中,要求运算数必须是整型的运算符是( )。
A./ B.++ C.*=
D.%
27.若有说明语句:char s=?\\72?;则变量s( )。 A.包含一个字符 B.包含两个字符
C.包含三个字符
D.说明不合法,s的值不确定
28.若有定义:int m=7; float x=2.5, y=4.7; 则表达式
x+m%3*(int)(x+y)%2/4的值是( )。
第一章 C语言基础知识 ·5·
A.2.500000 B.2.750000 C.3.500000 D.0.000000
29.在C语言中,char型数据在内存中的存储形式是( )。 A.补码
B.反码 C.原码 D.ASCII码
30.设变量x为float类型,m为int类型,则以下能实现将x中的
数值保留小数点后两位,第三位进行四舍五入运算的表达式是( )。
A.x=(x*100+0.5)/100.0 B.m=x*100+0.5, x=m/100.0 C.x=x*100+0.5/100.0 D.x=(x/100+0.5)*100.0
31.表达式13/3*sqrt(16.0)/8的数据类型是( )。 A.int B.float
C.double D.不确定
32.设以下变量均为int类型,则值不等于7的表达式是( )。 A.(m=n=6, m+n, m+1) B.(m=n=6, m+n, n+1)
C.(m=6, m+1, n=6, m+n) D.(m=6, m+1, n=m, n+1)
33.假设所有变量均为整型,则表达式(x=2, y=5, y++, x+y)的值是
( )。 A.7 B.8 C.6 D.2
第一章 C语言基础知识 ·16·
C语言规定的关键字同名。关键字如:auto, break, case, char, const, continue, default, do, double, else, entry, extern, for, float, goto, if, int, int, long, register, return, short, signed, sizeof, static, struct, unsigned, while, switch, typedef, void, volatile, unior。这些关键字先不必硬背下来,随着后续的学习,你将发现它们都是一些数据的类型、语句等,自然会随着学习的深入,而记下来。
15.解析:用指数形式表示一个实型常数时,E或e之前必须有数
字,且E后面指数必须为整数。
16.解析:?\\101?为转义字符,相对应一个ASCII码字符。(101)8=(65)10=A.
17.解析:转义字符的特征是以“\\”开头,其后跟一些字符,如
\\n, \\t, \\?, \\\\, \\}, \\”, \\b, \\f等代表一些特殊的含义,而\\后如跟数字,可以为八进制或者十六进制,将其转换为对应的ASCII码值,就可以得出对应的字符。“\\”后跟八进制的写法:\\0nn, 或者\\nn, 表示“\\0”或者“\\”后只能跟1或3位0——7之间的数字;“\\”后跟十六进制的写法:\\xnn,或者\\nn, 表示“\\x”或者“\\”后只能跟1或2位0——9及a——f(A——F)之间的字符。选项B的错误在于8不是八进制;而选项C的错误在于没有“\\”;选项D的错误在于超长(多了一位)。
21.解析:B的错误在于赋值语句的左侧只能为一个简单变量,如:
n=3*(n=18); C的错误在于%运算符只能适用于整型数据,D的错误在于作类型转换时,应将类型加上括号,即为:y=(float) m
31.解析:逗号表达式的最终结果为最右端的表达式(即x+y)的
值,其运算顺序是从左自右的。第三个表达式y++,其隐含有两步操作:先取y的原值,再执行y=y+1运算;而本题中,虽然没有将y赋给某个变量(取其原值),
第一章 C语言基础知识 ·17·
但还是一定会执行加运算的。因而,经过第三个表达式,y已经自加为6,故x+y的值为8,相对应得表达式最终结果为8。若本题改为:(x=2, y=5, z=y++, x+z),则其结果应为7。
二. 填空题答案
1. 答案:英文字母、数字、一些有特定含义的标点符号 2. 答案:顺序结构、选择结构、循环结构 3. 答案:C,OBJ,EXE 4. 答案:小写
5. 答案:函数说明部分和函数体 6. 答案:变量定义部分和执行部分 7. 答案:输入和输出函数
8. 答案:dec:-1,oct:177777,hex:ffff,unsigned:65535
dec:1,oct:1,hex:1,unsigned:1
9. 答案:dec:98,oct:142,hex:62,ASCII:b
10.答案:3.141593,3.1416,3.142, └┘└┘└┘└┘└┘3.142
3.141593e+00,3.1416e+00,3.142e+00,└┘└┘3.142e+00 (注:由于c编译系统不同,我们上机使用的机器,其第二个printf语句实际结果为:3.14159e+00,3.142e+00,3.14e+00,└┘└┘3.14e+00,即:小数点后取5位。)
11.答案:c=h
12.答案:i=1,k=└┘,j=2
13.答案:第一种情况的执行结果:x1=98,x2=765,y1=4,y2=1
第二种情况的执行结果:x1=98,x2=76,y1=└┘,y2=3
第三种情况的执行结果:x1=98,x2=765,y1=4,y2=2
14.答案:交换x和y的值 15.答案:(1)格式符应为:%f;(2)变量前边未加取地址符&, 即应为scanf(”%f”,&k);
第一章 C语言基础知识 ·18·
16.答案:【1】123 【2】45.000000
第二章 选择结构
2.1 选择题
1. 已有定义:int x=3, y=4, z=5; 则表达式!(x+y)+z-1 && y+z/2的值是(D)。
A.6 B.0 C.2 D.1 2. 设a=5,b=6,c=7,d=8,m=2,n=2, 则执行(m=a>b) && (n=c>d)后n的值为(B)。
A.1 B.2 C.3 D.4 3. 设x、y和z都是int类型变量,且x=3,y=4,z=5, 则下面的表
达式中,值为0的表达式为(D)。
A.’x’ && ’y’ B.x<=y
C.x||y+z && y-z D.!((x C.在其之前未配对的最近的if D.同一行上的if 5. 逻辑运算符两侧运算对象的数据类型(D)。 A.只能是0或1 B.只能是0或非0正数 C.只能是整型或字符型数据 D.可以是任何类型的数据 6. 以下关于运算符优先顺序的描述中正确的是(C)。 第二章 选择结构 ·19· A.关系运算符<算术运算符<赋值运算符<逻辑与运算符 B.逻辑与运算符<关系运算符<算术运算符<赋值运算符 C.赋值运算符<逻辑与运算符<关系运算符<算术运算符 D.算术运算符<关系运算符<赋值运算符<逻辑与运算符 7. 下列运算符中优先级最高的是(C)。 A.< B.&& C.+ D.!= 8. 选择出合法的if语句(设int x,a,b,c;)(A)。 A.if(a=b) c++; B.if(a=b) c++; D.if(a=>b) c++; 9. 能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否 则为假”的表达式是(C)。 A.(x>= -58) && (x<= -40) && (x>=40) && (x<=58) B.(x>= -58) || (x<= -40) || (x>=40) || (x<=58) C.(x>= -58) && (x<= -40) || (x>=40) && (x<=58) D.(x>= -58) | |(x<= -40) && (x>=40) || (x<=58) 10.判断char型变量s是否为小写字母的正确表达式是(C)。 A.’a’ <= s<=’z’ B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 11.若希望当x的值为奇数时,表达式的值为“真”,x的值为偶 数时,表达式的值为“假”。则以下不能满足要求的表达式是(C)。 A.x%2==1 B.!(x%2==0) C.!(x%2) D.x%2 12.已知 x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是(C)。 第二章 选择结构 ·20· A.0 B.语法错 C.1 D.“假” 13.指出下列程序段所表示的逻辑关系是(B)。 if(a x=10; } else x=-10; A.x???10a?b且c?d??10a?b且c?d B.x???10a?b且c?d??10a?b C.x????10a?b且c?d?10a?b且c?d D.x???10a?b且c?d??10c?d x?0.有一函数:??114y???0x?0? ?1x?0计算出y值的是(C)。 A.if (x>0) y=1; else if (x==0) y=0; else y= -1; B.y=0; if (x>0) y=1; else if (x<0) y= -1; C.y=0; if (x>=0) if(x>0) y=1; else y= -1; D.if (x>=0) ,以下程序段中不能根据x值正确 第二章 选择结构 ·21· if (x>0) y=1; else y=0; else y= -1; 15.执行以下语句后,y 的值为(A)。 int x,y,z; x=y=z=0; ++x || ++y && ++z; A.0 B.1 C.2 D.不确定值 16.已知int a=1,b=2,c=3; 以下语句执行后a,b,c的值是(B)。 if(a>b) c=a; a=b; b=c; A.a=1, b=2, c=3 B.a=2, b=3, c=3 C.a=2, b=3, c=1 D.a=2, b=3, c=2 17.请阅读以下程序:该程序(C)。 #include ”stdio.h” main() { int x=-10, y=5, z=0; if (x=y+z) printf(”***\\n” ); else printf(”$$$\\n”); } A.有语法错不能通过编译 B.可以通过编译但不能通过连接 C.输出*** D.输出$$$ 18.以下程序的运行结果是(C)。 #include ”stdio.h” main() { int a=1; if (a++>1) printf(”%d\\n”, a); 第二章 选择结构 ·22· else printf(”%d\\n”, a--); } A.0 B.1 C.2 D.3 19.当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是(B)。 if (a if (c if (a if (b A.1 B.2 C.3 D.4 20.执行以下程序段后,变量x,y,z的值分别为(B)。 int a=1,b=0, x, y, z; x=(--a==b++)?--a:++b; y=a++; z=b; A.x=0,y=0,z=0 B.x= -1,y= -1,z= 1 C.x=0,y=1,z=0 D.x= -1,y= 2, z= 1 21.若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是(A)。 a=1;b=2;c=3;d=4; w=(a A.1 B.2 C.3 D.4 第二章 选择结构 ·23· 22.以下程序的输出结果是(C)。 #include ”stdio.h” main() { int a=5, b=4, c=6, d; printf(”%d\\n”, d=a>b? a>c?a:c :b); } A.5 B.4 C.6 D.不确定 23.若a、b、c1、c2、x、y均为整型变量,正确的switch 语句是 (D)。 A.switch (a+b); B.switch a { case 1: y=a+b; break; { case c1: y=a-b; break; case 0: y=a-b; case c2: x=a*d; break; break; default: x=a+b; } } C.switch (a*a+b*b) D.switch(a-b) { case 3: { default: y=a*b; break; case 1: y=a+b; break; case 3: x=a+b; break; case 3: y=b-a; break; case 10: case 11: y=a-b; break; } } 24.执行下列程序,输入为3的数出结果是(C)。 #include ”stdio.h” main() { int k; 第二章 选择结构 ·24· scanf(”%d”, &k); switch(k) { case 1: printf(”%d\\n”, k++); case 2: printf(”%d\\n”, k++); case 3: printf(”%d\\n”, k++); case 4: printf(”%d\\n”, k++); break; default: printf(”Full!\\n”); } } A.3 B.4 C.3 D.4 5 4 25.假定等级和分数有以下对应关系: 等级:A 分数:85——100 等级:B 分数:60——84 等级:C 分数:60以下 对于等级grade输出相应的分数区间,能够完成该功能的程序段是(D)。 A.switch (grade) { case ’A’ :printf(”85——100\\n”); case ’B’ :printf(”60——84\\n”); case ’C’ :printf(”<60\\n”); default: printf(”grade is error!\\n”); } B.switch (grade) { case ’A’ :printf(”85——100\\n”); break; case ’B’ :printf(”60——84\\n”); 第二章 选择结构 ·25· case ’C’ :printf(”<60\\n”); default: printf(”grade is error!\\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(”grade is error!\\n”); } D.switch (grade) { case ’C’ :printf(”<60\\n”); break; case ’B’ :printf(”60——84\\n”); break; default: printf(”grade is error!\\n”); break; case ’A’ :printf(”85——100\\n”); } 26.有如下程序,写出该执行结果(C)。 #include ”stdio.h” main() { float x=2.0, y; if (x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0; printf(”%f\\n”,y); } 第二章 选择结构 ·26· A.0.000000 B.0.250000 C.0.500000 D.1.000000 27.以下程序的运行结果是(C)。 #include ”stdio.h” main() { int a=2,b= -1,c=2; if (a c=0; else c++; printf(”%d\\n”,c); } A.0 B.1 D.3 28.运行以下程序后,如从键盘上输入china#,则输出为(#include ”stdio.h” main() { int v1=0,v2=0; char ch; while ( (ch=getchar()) != ’# ’) switch (ch) { case ’a’: case ’h’: default: v1++; case ’o’: v2++; } printf(”%d,%d\\n”, v1,v2); } A.2,0 B.5,0 C.2 C)。 C.5,5 第二章 选择结构 ·27· D.2,5 29.有以下程序,若输入为字符s,则程序运行结果为(A)。 #include ”stdio.h” main() { char ch; ch=getchar(); switch (ch) { case ’a’: printf(”a=%c\\n”,ch); default: printf(”end!\\n”); case ’b’: printf(”b=%c\\n”,ch); case ’c’: printf(”c=%c\\n”,ch); } } A.end! B.end! D.a=s b=s end! c=s 30.有以下程序,程序运行后的输出结果是(#include ”stdio.h” main() { int a=15, b=21, m=0; switch (a%3) { case 0: m++; break; case 1: m++; switch (b%2) { default: m++; case 0: m++; break; } C.有语法错误 A)。 第二章 选择结构 ·28· } printf(”%d\\n”,m); } A.1 B.2 C.3 D.4 2.2 填空题 1. 若从键盘输入58,则输出结果是___585858_____。 #include ”stdio.h” main() { int a; scanf(”%d”, &a); if (a>50) printf(”%d”, a); if (a>40) printf(”%d”,a); if (a>30) printf(”%d”,a); } 2. 设int x=9,y=8;表达式x==y+1的结果是__1______。 3. 定义int x,y;执行y=(x=1,++x,x+2);后, y的值是__4______。 4. 定义int x=10,y,z; 执行y=z=x; x=y==z;后, x的结果是 1 。 5. 设int a=1,b=2,c,d,e; 执行 c=(-a++)+(++b); d=(b--)+(++a)-a; e=(a/(++b))-(a/(--a)); 请问a,b,c,d,e的结果是:2 3 2 3 0。 6. 设int a=2,b=3,c,d,e,f; 执行 c=(a++>= --b); d=(a==++b); e=(a--!=b); 第二章 选择结构 ·29· f=(++a>b--); 请问a,b,c,d,e,f的结果是:_3 2 1 1 0 0_______。 7. 以下程序的运行结果是__2 0 0______。 #include ”stdio.h” main() { int a,b,c,s,w,t; s=w=t=0; a= -1; b=3; c=3; if (c>0) s=a+b; if (a<=0) { if (b>0) if (c<=0) w=a-b; } else if (c>0) w=a-b; else t=c; printf(”%d %d %d”, s,w,t); } 8. 以下程序的运行结果是__100______。 #include ”stdio.h” main() { int a,b,c,d,e; a=c=1; b=20; d=100; if (!a) d=d++; else if (!b) if (d) d= --d; else d= d--; printf(”%d\\n\\n”, d); } 第二章 选择结构 ·30· 9. 以下程序的运行结果是_6 250 (换行)5 1 0 0______。 #include ”stdio.h” main() { int a, b= 250, c; if ((c=b)<0) a=4; else if (b=0) a=5; else a=6; printf(”\\t%d\\t%d\\n”,a,c); if (c=(b==0)) a=5; printf(”\\t%d\\t%d\\n”,a,c); if (a=c=b) a=4; printf(”\\t%d\\t%d\\n”,a,c); } 10.下面程序根据以下函数关系,对输入的每个值。请在【】内填空。 x y 2 int x,y; scanf(”%d”, &x); if (【1】) y=x*(x+2); else if (【2】) y=1/x; x值,计算出y 第二章 选择结构 ·36· int x, rate; float y; printf(”please input the value of x:”); scanf(”%d”,&x); if (【1】) rate= -1; else rate=【2】; switch(rate) { case –1: y=0; break; case 0: y=x; break; case 1: y=10; break; case 2: case 3: y=-0.5*x+20; break; default: y= -2; } if (【3】) printf(”y=%f\\n”,y); else printf(”the value of x is invalid!\\n”); } 19.以下程序实现的功能是:从键盘输入某年某月,输出该年份 该月的天数。请在【】内填入正确内容。 #include ”stdio.h” main() { int year, month, days, leap; printf(”please input both year and month:”); scanf(”M/-”,&year,&month); switch (【1】) { case 1: case 3: case 5; case 7: case 8: 第二章 选择结构 ·37· case 10: case 12: days=31; 【2】 case 4: case 6: case 9: case 11: days=30; break; case 2: if (year@0==0) leap=1; else if (year%4==0 && year0!=0) leap=1; else 【3】; if (leap) days=29; else days=28; } printf(”%d年%d月的天数为%d\\n”, year, month, days); } 20.以下程序完成两个数的四则运算。请在【】内填入正确内容。 #include ”stdio.h” main() { float x,y; char operator; printf(”please input the expression:”); scanf(”%f%c%f”,&x,&operator,&y); switch (【1】) { case ’+’: printf(”%g%c%g=%g\\n”, x, operator, y, x+y); 【2】; case ’-’: printf(”%g%c%g=%g\\n”, x, operator, y, x-y); break; 第二章 选择结构 ·38· case ’*’: printf(”%g%c%g=%g\\n”, x, operator, y, x*y); break; case ’/’: if (y==0.0) printf(”除零错误!\\n”); else printf(”%g%c%g=%g\\n”, x, operator, y, x/y); break; 【3】: printf(”表达式存在错误!\\n”); } } 21.以下程序运行后的输出结果是_____________。 #include ”stdio.h” main() { int x=10, y=20, t=0; if (x==y) t=x; x=y; y=t; printf(”%d,%d\\n”,x,y); } 22.执行以下语句后,x、y和z 的值分别为_____________。 int x,y,z; x=y=z=0; ++x || ++y && ++z; 第二章 选择结构 ·39· 第三章 循环结构 3.1 选择题 1. 以下程序的输出结果是( A )。 main() { int n=4; while (n--) printf(〞%d〞,--n); } A.20 B.31 D.210 2. 以下程序的输出结果是( A )。 main( ) {int x=10,y=10,i; for(i=0;x>8;y=++i) printf(\} A.10192 B.9876 D.101091 3. 当执行以下程序段时 (A)。 C.321 C.10990 第三章 循环结构 ·40· x=-1; do {x=x*x;} while (!x); A.循环体将执行一次 B.循环体将执行两次 C.循环体将执行无数多次 D.系统将提示有语法错误 4. 执行以下程序后输出的结果是( )。 main() { int y=10; do{y--;}while(--y); printf(\ A.-1 B.1 C.8 D.0 5. 下面程序的输出结果是( )。 main() { int x=3,y=6,a=0; while (x++!=(y-=1)) {a+=1; if (y printf(\} A.x=4,y=4,a=1 B.x=5,y=5,a=1 C.x=5,y=4,a=3 D.x=5,y=4,a=1 6.若i,j已定义为int类型,则以下程序段中内循环的总 第三章 循环结构 ·46· 17.标有/**/的语句的执行次数是( )。 int y,i; for(i=0;i<20;i++) {if(i%2==0)continue; y+=i;/**/ } A.20 B.19 C.10 D.9 18.在C语言中,if语句后的一对圆括号中,用以决定 分支的流程的表达式。 A.只能用逻辑表达式 B.只能用关系表达式 C.只能用逻辑表达式或关系表达式 D.可用任意表达式 19.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是( )。 A.(!E==0) B.(E>0||E<0) C.(E==0) D.(E!=0) 20.假定所有变量均已正确定义,下列程序段运行后x的值为( )。 k1=1;k2=2; k3=3; x=15; if(!k1)x--;else if(k2) if(k3)x=4;else x=3; A.14 B.4 C.15 D.3 21.执行下面语句的输出为( )。 int i=-1; if(i<=0)printf(“* * * *\\n”); else printf(“% % % % \\n”); A.* * * * B.% % % % C.% % % % c 第三章 循环结构 ·47· D.有错,执行不正确 22.下列程序的输出是( )。 #include { int i;char c; for(i=0;i<=5;i++) {c=getchar();putchar(c); } } 程序执行时从第一列开始输入以下数据, u A.uwxsta B.u C.u D.u w w w x xs xsta 23.下列程序的输出为( )。 #include\main() { int i,j,x=0; for(i=0;i<2;i++) {x++; for(j-0;j<=3;j++) {if(j%2)continue;x++; } x++; } 第三章 循环结构 ·48· printf(\} A.x=4 B.x=8 C.x=6 D.x=12 24.下列程序的输出为( )。 #include {int i,j,k=0,m=0; for(i=0;i<2;i++) { for(j=0;j<3;j++)k++;k-=j;} m=i+j; printf(\} A.k=0,m=3 B.k=0,m=5 C.k=1,m=3 D.k=1,m=5 25.在C语言中,为了结束while语句构成的循环,while 后一对圆括号中表达式的值应该为( )。 A.0 B.1 C.true D.非0 26. 在C语言中,为了结束由do-while语句构成的循 环,while后一对圆括号中表达式的值应为( )。 A.0 B.1 C.true D.非0 27.下列程序的输出为( )。 #include { int k=0;char c='A'; do {switch(c++) { case'A':k++;break; 第三章 循环结构 ·49· case'B':k--; case'C':k+=2;break; case'D':k=k%2;continue; case'E':k=k*10;break; default:k=k/3; } k++; } while(c<'G'); printf(\} A.k=3 B.k=4 C.k=2 D.k=0 28.C语言的if语句嵌套时,if与else的配对关系是 ( )。 A. 每个else总是与它上面的最近的if配对 B. 每个else总是与最外的if配对 C. 每个else与if的配对是任意的 D. 每个else总是与它上面的if配对 29.下列程序的输出为( )。 #include {int i=0,j=0,a=6; if((++i>0)||(++j>0))a++; printf(\} A.i=0,j=0,a=6 B.i=1,j=1,a=7 C.i=1,j=0,a=7 D.i=0,j=1,a=7 30.下列程序段的输出结果为( )。 main() 第三章 循环结构 ·50· {int x=3; do { printf(\while(!(--x));} A.1 B.3 0 C.1 -2 D.死循环 3.2 填空题: 1. 当输入19,2,21时下列程序运行的结果是_________。 main() {int a,b,c,max; printf(\scanf(\max=a; if(max printf(\} 2. 若输入字母C,程序输出结果为【1】;若输入字符*,程序将【2】。 #include {char c1,c2; c1=getchar(); while(c1<97||c1>122)c1=getchar(); c2=c1-32; printf(\} 3. 以下程序运行的结果为________。
正在阅读:
C语言基础题(含答案)12-01
WL-SMP-002-00物料管理程序08-19
新区建设情况专题调研报告09-07
县委书记连续任职三年思想工作总结03-13
九堡大桥体外预应力工程施工方案05-26
广西南宁市第三中学2017_2018学年高二政治下学期期末考试试题-含答案 师生通用08-06
2019届高考英语(浙江专版)一轮复习练习:选修6 3 Unit3知能演练03-08
财务会计英语题型10-09
2013-2014年_中级高级项目经理继续教育整理题库(ALL)04-16
元始天尊设东岳府判官解冤赐福宝忏10-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语言基础
- 答案
- SAS Enterprise Guide 教学课程
- 2017年部编人教版语文八年级上册生字词清单
- 两三位数除以两位数习题(2)
- 苏教版化学一专题一丰富多彩的化学物质教学设计
- 财务管理练习题及参考答案3
- 核电子学期末考试试题
- 小学四年级上册数学易错典型题选
- 人教部编版(新版)2019年春九年级下册语文:13《短文两篇》后附答案
- 最新人美版五年级美术下册第11课《动漫 - 动起来的漫画》说课稿
- 银行行长以案为镜个人反思剖析材料
- 计算机复习题(二)
- 股指期货基础知识测试试题
- 对当前农村小学开展校本研修活动的思考
- 木兰诗练习题及答案
- 椭圆
- 小学三年级下册语文复习资料
- 2017年小学语文教师个人工作计划精选
- 福建省南平市2018年初中毕业、升学考试语文模拟试题(word含答案)
- 用友T3安装详细教程
- (人教A版《必修一》)2006年高考数学章节分类试题第一章《集合与函数概念》