《2022年C语言分章节练习 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言分章节练习 .pdf(28页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、习 题 汇 编第一章C 语言概述1.1 选择题【题 11】以下不是C语言的特点的是( B ) A.C 语言简洁、紧凑B能够编制出功能复杂的程序C. C 语言可以直接对硬件进行操作DC 语言移植性好【题 12】以下不正确的C 语言标识符是 ( D )。AABC B abc Ca_bc D ab.c 【题 13】以下正确的c 语言标识符是( C )。A x Ba 十 b Ca123 Dtest! 【题 14】一个 c 程序的执行是从( A ). Amain( )函数开始,直到main( )函数结束B第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束Dmain( )函数开始
2、,直到最后一个函数结束【题 15】一个 C 语言程序是由(B) 。A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成【题 16】一个 c 程序是由 ( B )。A一个主程序和若干子程序组成B一个或多个函数组成C. 若干过程组成D若干子程序组成【题 17】C 语言派程序的基本单位是( B )。A过程 B函数 c子程序 D标识符【题 18】编辑程序的功能是( A )。A建立并修改程序 B将 c 源程序编译成目标程序C调试程序 D命令计算机执行指定的操作名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心
3、整理 - - - - - - - 第 1 页,共 28 页 - - - - - - - - - 1.2 填空题【题 1.9 】c 语言符号集包括【英文字母、数字和一些有待定含义的标点符号】。【题 110】一个 c 程序有且仅有一个【main() 】函数。【题 111】C程序的基本单位是【函数】 。【题 112】一个 c 程序有【 1】个 main( )函数和【若干】个其他函数。【题 113】在一个C 源程序中,注释部分两侧的分界符分别是【/* 】和【 */ 】 。【题 114】结构化设计中的三种基本结构是【顺序结构、分支结构和循环结构】。【题 1 15】 在 C语言中,输入操作是由库函数 【s
4、canf 】 完成的,输出函数是由库函数 【printf】完成的。1.3 编程题【题116】编写一个程序,在屏幕上输出你的姓名。试着上机编辑、编译、运行你的程序。 #include main() printf(My Name is : Your Name!n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 28 页 - - - - - - - - - 第二章 数据类型、运算符与表达式2.1 选择题【题 21】以下结果为整数的表达式( 设有 int i;char c;f
5、loat f;)(B). Ai 十 f Bi*c Cc 十 f Di 十 c 十 f 【题 22】以下不正确的语句( 设有 int p,q)是( D )。AP*3; B.p q; C.p十 3; D p q; 【题 23】以下使 i 的运算结果为4 的表达式是 (D) 。Aint i=0,j=0; (i3,(j十十 ) 十 i) ;Bint i=1,j=0; ji (i=3)*2);C.int i=0,j=1; (j 1)?(i1) ; (i 3);Dint i1,j 1; i+j 十 2; 【题 24】下列四组选项中,均不是C语言关键字的选项是(A). A)define B)getc C)i
6、nclude D)while i f char sanf go type printf case pow 【题 25】下列四个选项中,均是C语言关键字的选项是(B) 。A auto B switch C signed D if enum typedef union struct include continue scanf type 【题 26】设 char ch ;以下正确的赋值语句是(B). A ch123; Bch xff; Cch 08; D ch ” ; 【题 2 7】 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 (C) 。【题 2.8 】下面四个选项中,均是
7、合法整形常量的选项是(A). A)160 B)-0 xcdf C)-01 D)-0 x48a -0 xffff 01a 986,012 2e5 011 0 xe 0668 0 x 【题 2.9 】设 n10, i 4、则赋值运算n i+1 执行后, n 的值是 (A). A 0 B 3 C2 D1 【题 2.10 】下面四个选项中,均是不合法浮点数的选项是(B). A)160. B)123 C)-.18 D)-e3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 28 页
8、 - - - - - - - - - 0.12 2e4.2 123e4 0.234 e3 .e5 0.0 1e3 【题 2.11 】下面四个选项中,均是合法浮点数的选项是(B). A)+1e+1 B)-.60 C)123e D)-e3 5e-9.4 12e-4 12e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-0 【题 2.12 】逗号表达式(a 3*5 ,a*4) , a 十 15 的值为 ( C ),a 的值为 ( C )。A 15 B60 C30 D不确定A 60 B30 C15 D90 【题 2.13 】下面四个选项中,均是不合法转义字符的选项是( B ). A) ”B
9、) 1011C) 011D)abc f 101 xf a x1f 【题 2.14 】如果 a1,b 2,c3, d4,则条件表达式ab?a:c d?c:d 的值为(A). A1 B2 C3 D4 【题 2.15 】下面四个选项中,均是不正确的八进制数或十六进制数的选项是(D). A)016 B)oabc C)010 D)0a12 0 x8f 017 -0 x11 7ff 018 0 xa 0 x16 -123 【题 2.16 】下面四个选项中,均是正确的八进制数或十六进制数的选项是(C). A)-10 B)0abc C)0010 D)0a12 0 x8f -017 -0 x11 -0 x123
10、 -011 0 xc 0 xf1 -0 xa 【题 2.17 】下面四个选项中,均是正确的数值常量或字符常量的选项是(D). A)0.0 B)”a”C)3 D)+001 0 x8f 3.9E-2.5 011 0 xabcd 8.9e 1e1 0 xFF00 2e2 & 0a 50. 【题 2.18 】下面不正确的字符串常量是(A.) A)abc B)”1212” C)”0”D) “ ”【题 2.19 】在程序中可以用来作为变量名的合法的标识符是:_ A.)static B) 23_b1 C)stu_1t D) #33 【题 2.22 】已知各变量的类型说明如下: Int i=8,k,a,b;
11、Unsigned long w=5; Double x=1.42,y=5.2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 28 页 - - - - - - - - - 则以下符合C语言语法的表达式是(A) A)a+=A-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float (i) 【题 2.23 】以下不正确的叙述是(D) A)在 C程序中,逗号运算符的优先级最低B)在 C程序中, APH和 aph 是两个不同的变量C)若 a 和 b
12、类型相同,在计算了赋值表达式a=b 后 b 中的值将放入a 中,而 b中的值不变D)当从键盘输入数据时,对于整形变量只能输入整形数值,对于实型变量只能输入实型数值【题 2.24 】以下正确的叙述是(D). A)在 C程序中,每行中只能写一条语句B)若 a 是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在 C程序中,无论是正数还是实数,都能被准确无误的表示D)在 C程序中, % 是只能用于正数运算的运算符【题 2.25 】以下符合C 语言语法的赋值表达式是(B). A)d=9+e+f=d+9 B)d=(9+e,f=d+9) C)d=9+e,e+,d+9 D)d=9+e+=
13、d+7 【题2.26 】已知字母A 的 ASCII 码为十进制数65,且c2 为字符型,则执行语句c2=A+6 - 3; 后, c2 的值为 (A). A)D B)68 C)不确定的值 D)C 【题 2.27 】在 C 语言中,要求运算数必须是整形的运算符是(D). A)/ B)+ C)!= D)% 【题 2.28 】 若以下变量均是整形,且 num=sum=7 ; 则计算表达式sUM=num+ , sUM+ , +num后 sum的值为 (A). A)7 B)8 C)9 D)10 【题 2.29 】在 C 语言中,int 、 char 和 short三种类型数据在内存中所占用的字节数(D)
14、。A)由用户自己定义B)均为 2 个字节C)是任意的D)由所用的机器的机器字长决定【题 2.30 】若有说明语句:char c= 72;则变量 c(A) 。A)包含 1 个字符B) 包含 2 个字符C)包含 3 个字符D) 说明不合法, c 的值不确定【题 2.31 】若有定义: int a=7; float x=205 ,y=4.7; 则表达式x+a%3*(int)(x+y)%2/4的值是 (A) 。A)2.500000 B)2.750000 C)3.500000 D)0.000000 【题 2.33 】设变量a 是整型, f 是实型, i 是双精度型,则表达式10+a+i*f值的数据类型为
15、 (C) 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 28 页 - - - - - - - - - A)int B)float C)double D)不确定【题 2.34 】 下面四个选项中,均是非法常量的选项是(A) 。A)asB)C)-0 x18 D)0 xabc -0fff 01 01177 0 0 xa 12,456 0 xf “a”【题 2.36 】设 int n 3;则十十 n 的结果是 ( C ),n 的结果是 (C) A)2 B)3 C)4 D)5
16、【题 2.37 】 在 C 语言中, char 型数据在内存中的存储形式是(D) 。A)补码B)反码C)源码D)ASCII 码【题 2.39 】设 int n 3; 则 n 十十的结果是( B ),n 的结果是 ( C )。 A )2 B)3 C)4 D)5 【题 2.40 】 设 C语言中,一个int型数据类型在内存中占2 个字节,则unsigned int型数据的取值范围为(C) 。A)0255 B)032767 C)065535 D)02147483647 【题 2.41 】设有说明: char w; int x; float y; double z; 则表达式w*x+z-y 值的数据类
17、型为 (D) 。A)float B)char C)itn D)double. 【题 2.42 】语句 (1 ,2,3,4)的结果是 ( D )。 A)1 B)2 C)3 D)4 2.2 填空题【题 2.44 】表达式103 的结果是【 3】【题 2.45 】表达式10%3的结果是【 1】【题 2.47 】执行下列语句后,a 的值是【 -264】 int a12;a+=a-=a*a; 【题 2.48 】定义 int x,yl 执行 y (x 1,十十 x,x 十 2)5 语句后, y 的值是【 4】【题 2.49 】 在 C 语言中(以16 位 PC机为例),一个 char 型数据在内存中所占用
18、的字节数为【 1】 ;一个 int型数据在内存中所占用的字节数为【2】 。【题 2.50 】 在 C语言中 (以 16 位 PC机为例),一个 float型数据在内存中所占用的字节数为【 4】 ;一个 double 型数据在内存中所占用的字节数为【8】 。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 28 页 - - - - - - - - - 【题 2.52 】 在 C语言中,一个int型数据在内存中占用2 个字节,则int型数据的取值范围为【一32768 一十 32
19、767】【题 2.55 】 若 s 是 int型变量,且s6,则下面表达式的值为【1】. s%2+(s+1)%2 【题 2.56 】 若 a、 b和 c 均是 int型变量,则计算表达式后,a 值为【 6】 ,b 值为【 4】 ,c值为【 2】 。 a=(b=4)+(c=2) 【题 2.57 】 若 a 是 int型变量,且a 的初值为6,则计算表达式后a 的值为【 60】a+=a-=a*a 【题 2.58 】 若 a 是 int型变量,则计算表达式后a 的值为【 2】a=25/3%3 【题 2.59 】 若 x 和 n 均是 int型变量,且 x 和 n 的初值均为5,则计算表达式后x 的值
20、为【10】 ,n 的值为【 6】 。x+=n+ 【题 2.67 】 已知字母a 的 ASCII 码为十进制数97,且设 ch 为字符型变量,则表达式ch=a+8 - 3的值为【 f 】. 【题2.70 】若有定义:int e=1,f=4,g=2;float m=10.5,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt (double)n)*1.2/g+m后 k 的值是【 13700000】 。【题 2.71 】 表达式 8/4*(int)2.5/(int )(1.25*(3.7+2.3)值的数据类型为【整型( 或:int型) 】 。【题 2.73 】 设 int a1,b 2c3
21、,d; 执行 d!(a 十 b 十 c) 后,d 的结果是【 0】名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 28 页 - - - - - - - - - 第三章最简单的 C 程序设计3.1 选 择 题【题 3.2 】有如下程序,若要求a1、a2、c1、c2 的值分别为10、20、A、B,正确的数据输入是 ( ). main() int a1,a2; char c1,c2; scanf(%d%d,&a1,&a2); scanf(%c%c,&c1,&c2): A)102
22、0AB B)10 20 AB C)10 20 ABC D)10 20AB 【题 3.4 】有如下程序,输入数据:12M345 CR 后, x 的值是 ( ) ,y 的值是 ( ). #include main() int x; float y; scanf(%3d%f,&x,&y); 1,A.12 B.123 C.12345 D.0 2,A.12.000000 B.345.000000 C.12345.000000 D.0.000000 【题 3.9 】已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和 B,当从第一列开始输入数据是,正确的数据输入方式是(A) 。
23、(注:表示空格, 表示回车)int a1,a2;char c1,c2; scanf( “ %d%c%d%c”,&a1,&c1,&a2,&c2); A) 10A 20B B) 10A20B C) 10A20B D) 10A20B 【题 3.13 】根据定义和数据的输入方式,输入语句的正确形式为(B) 。已有定义: float f1,f2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 28 页 - - - - - - - - - 数据的输入方式:4.52 3.5 A) s
24、canf(“%f,%f”,&f1,&f2); B) scanf(“%f%f”,&f1,&f2); C) scanf(“%3.2f%2.1f ”,&f1,&f2); D) scanf(“%3.2f,%2.1f”,&f1,&f2); 【题 3.14 】阅读以下程序, 当输入数据的形式为:25,13,10 ,正确的输出结果为(D) 。main() int x,y,z; scanf( “ %d%d%d”,&x,&y,&z); printf(“x+y+z=%dn”,x+y+z); A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值【题 3.20 】 已知 ch 是是字符形
25、变量,下面不正确的赋值语句是 (A). ch=a+b; ch=o; ch=7+9; ch=5+9; 【题 3.23 】 设 X,Y 均为 FLOAT变量,则以下不合法的赋值语句是(B) A) +x; B) y=(x%2)/10; C) x*=y+8; D) x=y=10; 【题 3.27 】以下程序的执行结果是( ) 。#include main() int sum,pad; sum=pad=5; pad=sum+; pad+; +pad; printf(%dn,pad); A.7 B.6 C.5 D.4 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
26、 - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 28 页 - - - - - - - - - 3.2 填空题【题 3.30 】以下程序的执行结果是【dec:-1,oct:177777,hex:ffff,unsigned:65535】 。#include main() short i=-1; ptintf(dec:%d,oct:%o,hex:%x,unsigned:%un,i,i,i,i); 【题 3.33 】以下程序的执行结果是【3.500000,3.5】 。#include main() float f=3.5; printf(%f,%g,f,f) 【题
27、3.35 】 以下程序的输出结果为【*3.140000 ,3.142* 】. main() printf(“*%f,%4.3f*n”,3.14,3.1415); 【题 3.36 】以下程序的输出结果为【c:dec120,oct 170,hex78, ASCH x】. main () char c=x; printf(“c: dec=%d,oct=%o,hex%x,ASCII=%cn”,c,c,c,c); 【题 3.49 】假设变量a,b,c为整形 , 以下语句借助中间变量把a,b 和 c 中的直进行交换,把b 的直给a, 把c 的直给b, 把 a 的直给c, 例如 , 交换前 ,a=10,b=
28、20,c=30,交换后,a=20,b=30,c=10请填空【t=a 】; a=b;b=c; 【 c=t 】. 【题 3.54 】有一输入函数scanf( “%d ”,k);则不能使用float变量 k 得到正确数值的原因是【未指明变量k 的地址】和【格式控制符与变量类型不匹配】. scanf 语句的正确形式应该是:scanf(f,&k) 3.3 编程题【题 3.72 】 “水仙花数” 是指一个三位数, 它的三个数位数字的立方和这个数的数值相等,编程打印所有的水仙花数。解:本题适于使用穷举法求解,注意穷举范围为三位数100999,穷举条件为:三位数的三个数位数字的立方和等于这个数的数值。需要使用
29、循环结构。程序如下:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 28 页 - - - - - - - - - #include main() int d0,d1,d2,n; printf(The numbers are :); for (n=100;n=999;n+) d0=n%10; d1=n%100/10; d2=n/100; if (n=d0*d0*d0+d1*d1*d1+d2*d2*d2) printf(%5d,n); printf(n); 【题 3.78
30、】用三种循环结构分别编写程序,计算的近似值,公式如下:/4 1 1/3 + 1/5 1/7 + 到最后一项的绝对值小于10-6 为止。解:循环结构是这类近似计算常用的结构,本题在循环时需要保持一个累计结果的变量,每次计算当前项时, 需要变号操作, 类似本题的结束控制使用while和 do_while 结构比较合适。注意当前项计算值和循环控制变量的关系,参考程序如下:#include #include main() float pi,t,n; int sign=1; pi=0.0; n=1.0; t=1.0; while (fabs(t) = 1e-6) t=sign/n; pi+=t; n+=
31、2; sign=-sign; pi=pi*4; printf(pi = %fn,pi); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 28 页 - - - - - - - - - 第四章 选 择 结 构4.1 单选题【题 4.1 】为了避免嵌套的if-else语句的二义性,c 语言规定 else 总是与 ( C )组成配对关系。A)缩排位置相同的if B)在其之前末配对的if C)在其之前未配对的最近的if D)同一行上的if 【题 4.2 】选择出合法的if语句
32、( 设 int x,a,b, c;)(A). A)if(ab)x 十十;B)if(a b)x 十 +;C)if(a b)x 十十;D)if(a b)x 十十;【题 4.5 】逻辑运算符两侧运算对象的数据类型(D). A)能是 0 或 1 B)只能是 0 或非 0 正数 C)只能是整型或字符型数据 D)可以是任何类型的数据【题 4.6 】 以下关于运算符优先顺序的描述中正确的是(C). A)关系运算符算术运算符赋值运算符逻辑与运算符B)逻辑与运算符关系运算符算术运算符赋值运算符C)以赋值运算符逻辑与运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑与运算符【题 4.7 】 下列运算
33、符中优先级最高的是(B). A) B十 C)% D)!【题 4.10 】判断 char 型变量 ch 是否为大写字母的正确表达式是(C). A)A ch Z B)(cb A) (ch Z)C)(ch A)&(ch Z) D)(A ch)AND(Z=ch) 【题 4.11 】 设 x、y 和 z 是 int型变量,且x3,y4,z 5,则下面表达式中值为0 的是 (D). 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 28 页 - - - - - - - - - A)x
34、& yB)x y C)x y+z&y-z D)!(x y) !z 1) 【题 4.13 】若希望当A 的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(C). A)A2 1 B)!(A2 0) C)!(A2) D)A2 【题 4.18 】执行以下语句后a 的值为 (B) ,b 的值为 (A) 。iu a=5 , b=6,w=1,x=2,y=3, z=4;(a wx)&(b yz) ;1 A)5 B)0 C)2 D1 1 A)6 B)0 C)1 D4 【题 4.21 】 已知 int x10,y 20, z30;以下语句执行后x,y,z 的值是
35、(B). if(xy) z=x;x=y; y z; A)xl0 ,y20,z=30 B)x20, y30,z=20 C)x20,y30,z10 D)x20, y30,z=20 【题 4.23 】阅读以下程序main() int a=5,b=0,c=0; if(a=b+c) printf(“*n ”); else printf(“$n ”); 以上程序 (D). A)语法有错不能通过编译 B)可以通过编译但不能通过连接 C )输出 * D)输出 $ 【题 4.25 】当 a=1,b=3,c=5,d=4时,执行完下面一段程序后x 的值是 (B). if(ab) if(cd) x=1; else i
36、f(ac) if(b12? x+10:x-12; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 28 页 - - - - - - - - - Printf(“%dn” ,y); A) 0 B) 22 C) 12 D) 10 4.2 填空题【题 4.39 】以下程序的执行结果是【d=20】 。#include main() int a,b,c,d,x; a=c=0; b=1; d=20; if(a) d=d-10; if(!c)x=15; else x=25; prin
37、tf(d=%dn,d); 【题 4.41 】以下程序的执行结果是【first third】. #include main() int x=1,y=0; switch(x) case 1: switch(y) case 0:printf(firstn);break; case 1:printf(secondn);break; case2:printf(thirdn); 【题 4.43 】 当 a=3,b=2,c=1时,表达式f=abc 的值是【 0】. 【题 4.4 】当 a=5,b=4,c=2时,表达式 ab! =c的值是【 1】. 【题 4.45 】 以下程序的运行结果是【5,25,1 】.
38、 # include 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 28 页 - - - - - - - - - void main (void) int x=1, y, z; x*=3+2; printf(“%dt”, x); x*=y=z=5; printf(“%dt” , x); x=y=z; printf(“%dn” , x); 【题 4.46 】 在 C 语言中,表示逻辑“真”值用【非0 的数字】 . 【题 4.47 】 设 y 为 int 型变量,请写出描
39、述“y 是奇数”的表达式【(y 2) l 】. 【题 4.48 】 C 语言提供的3 种逻辑运算符是【&,|,!】. 【题 4.9 】 ) 设 x,y,z均为 int型变量,请写出描述“x 或 y 中有一个小于z“的表达式【 z|y z】. 【题 4. 58 】条件“ 2x3 或 x=A&ch=a&ch= z) ch=ch-32; printf(“%c ”,ch); 4.3 编程题 题 4.120 试编程判断输入的正整数是否既是5 又是 7 的正倍数。若是,则输出yes;否则输出no。main() int x; scanf(%d,&x); if(x%5=0&x%7=0) printf(yes)
40、; else printf(no); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 28 页 - - - - - - - - - 第五章循环控制51 选择题【题 5.1 】C 语言用 ( C )表示逻辑“真”值。A)true B)t或 y C)非零整数值 D)整数【题 5. 2 】语句 while(!e);中的条件 !e 等价于 ( A )。 A)e 0 B)e!1 C)e!0 D)e 【题 5. 3 】以下 for循环是 ( C )。for(x0,y 0;(y!=1
41、23)&(x4);x+); A) 无限循环 B)循环次数不定)执行 4 次 D)执行 3 次【题 5. 4 】下面有关for循环的正确描述是( D ) A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判定表达式C)在 for循环中,不能用break 语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来【题 5.5 】对于 for( 表达式 1; 表达式 3) 可理解为( B)A)for(表达式 1;1 ;表达式3) B)for(表达式 1:1;表达式3) C)for(表达式 1; 表达式 1; 表达式 3) D)for(表达式 1; 表达式
42、 3;表达式3) 【题 5. 6 】下面程序段的运行结果是(D) x=y=0; while(x15) y+, x+=+y; printf(“ %d,%d ”yx);A)20,7 B)6,12 C)20,8 D)8,20 【题 5. 7 】 下面程序段的运行结果是(C) int n=0; while(n+=2); printf(“%d ”,n); A)2 B)3 C)4 D)有语法错【题 5. 8 】设有程序段t=0 while(printf(“ *”) t+; if(t3) bread; 下面描述正确的是(B). A)其中循环控制表达式与0 等价名师资料总结 - - -精品资料欢迎下载 - -
43、 - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 28 页 - - - - - - - - - B)其中循环控制表达式与0等价C)其中循环控制表达式是不合法的D)以上说法都不对【题 5. 9】 下面程序的功能是将从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数 n ,并输入m,n 中的较大数,请选择填空。#include main() int m=0,n=o; char c; while(C)!=n)if(c=A&c= a&c= z) n+; printf(“%dn” ,mn? (A) ); (1)A)c=
44、getchar() B)getchar() C)c=getchar D)scanf(“%dc ”,c) (2)A)n:m B)m:n C)m:m D)n:n 【题 5. 10 】下面程序的功能是将小写字母变成对应的大写字母后的第二个字母。其中y变成 A,z 变成 B。请选择填空。#include main() char c; while(c=getchar()!=n)if(c=a&c Z” &c= ”Z” +2) (C); printf(“%c ”,c); (1) A) c+=2 B)c-=32 C)c=c+32+2 D)c-=30 (2) A)c= B B)c= a C)c-=26 D)c=
45、c+26 【题 5. 11 】下面程序的功能是将从键盘输入的一批正整数中求出最大者,输入0 结束循环选择填空。#include main() int a,max=0; scanf( “ %d ”,&a); while(B) if(maxa)max=a; scanf( “ %d ”,&a); printf(“%d ”,max); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 28 页 - - - - - - - - - A)a=0 B)a C) !a=1 D)!a 【题
46、 5. 12 】下面程序的运行结果是(C). #include main() int num=0; while(num=2) num+; printf(“%dn” ,num); A)1 B)1 2 C)1 2 3 D)1 2 3 4 【题 5.14 】 C 语言中 while 和 do-while循环的主要区别是(A). A)do-while的循环体至少无条件执行一次B)while的循环控制条件比的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句【题 5.15 】以下能正确计算1*2*3* ,*10 的程序是 (C). A) doi=1;s=
47、1; B)doi=1;s=0; s=s*i; s=s*i; i+; i+; while(i=10); while(i=10); C) i=1;s=1; D) i=1;s=0; dos=s*i; dos=s*i; i+; i+; while(i=10); while(i=10); 【题 5.17 】以下描述正确的是(C). A)由于 do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。B)do-while循环由 do 开始,用while结束,在 while (表达式)后面不能写分号。C)在 do-while循环体中,一定要有能使while后面表达式的值变成零(“假
48、” )的操作。D)do-while循环中,根据情况可以省略while 【题 5.18 】若有如下语句int x=3; do printf(“%dn”,x-=2); while(!(-x); 则上面程序段 (B). A)输出的是1 B)输出的是1 和 2 C)输出的是3 和 0 D)是死循环名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 28 页 - - - - - - - - - 【题 5.23 】下面程序的运行结果是(B). #include main() int y
49、=10; doy-;while(-y); printf(“%dn” ,y-); A)-1 B)1 C)8 D)0 【题 5.25 】下面程序运行结果是(B). # include main() int a=1,b=10; do b-=a ; a+ ; while ( b-0) ; printf ( “ a=%d , b=%dn”,a,b); A) a=3 , b=11 B) a=2,b=8 C)a=1,b=-1 D)a=4,b=9 【题 5.26 】下面有关for循环的正确描述是(D). A)for循环只能用于循环次数已经确定的情况。B)for循环是先执行循环体语句,后判断表达式。C)在 fo
50、r循环中,不能用break 语句跳出循环体。D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。【题 5.29 】以下 for循环的执行次数是(C). for(x=0,y=0;(y=123)&(x+y;x=i+) I=x B)for( ; ;x+=I); C)while(1)x+; D)for(I=10; ;I-) sum+=I; 【题 5.34 】执行语句for(I=1;I+4; );后变量 I 的值是 (C). A)3 B)4 C)5 D)不定名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 -