C语言-习题集参考答案全部_第1页
C语言-习题集参考答案全部_第2页
C语言-习题集参考答案全部_第3页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

1、WORD格式目录-1-目 录第一章C 语言根底知识 参考答案 .- 2 -第二章顺序构造参考答案 .- 5 -第三章选择构造参考答案.- 7 -第四章循环构造参考答案.-11-第五章函数 参考答案 .-15-第六章指针 参考答案 .-18-第七章一维数组参考答案.-21-第八章二维数组参考答案 .-28-第九章字符串参考答案 .-31-第十章 对 C 语言的深入讨论参考答案 .-33-第十一章构造体与共用体参考答案 .-34-第十二章文件参考答案 .-35-专业资料整理WORD格式全国计算机等级考试二级教程C 语言习题集参考答案- 2 -第一章C 语言根底知识参考答案一,选择题1C2 D3A4

2、C5A6 D7 C分析: C 答案以数字开头了8 D分析: int是关键字9 C10 D11 B12 D分析: Visual C+6.0中 int类型的变量占的字节数为4。13 B分析: B 中出现了 8,而八进制只能有 0 到 7 组成14 D分析:答案 D 中开头是0 不是 o15 A16 D17 B18 D分析: 3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8此题目考察算术运算符,需要注意整数除以整数结果只能是整数19A20C21A22 C23D24C分析:考察的是强制类型转换,正确的选项是k%(int)f25B26C27C28 B29A分析:此题目主要考察n+表达式的值

3、是n 变化之前的值,然后使n 的值增加 130A31D分析: (int)a+b/b=(int)5.5+2.5/2.5=5+1.000000=b=6.000000同样 a,b 的类型是double型的32D分析: long 和 short不能相互修饰33A34C35B36 B 分析: C 语言的标识符中只能包含字线、数字和下划线,没有连接符。37D分析:不同的计算机系统或者编译系统,对3 种整数类型所占用的字节数有不同的规定。38B专业资料整理WORD格式39 A 分析: +运算符有前缀和后缀两种形式,此题中的选项式的值为增 1 后的值,而选项 A 为后缀形式,其表达式的值为增的表达式都是 k

4、加 1 之后的值C就是前缀形式,其表达1 之前的值。而选项B 和D专业资料整理WORD格式40D分析:字符常量是用单引号括起来的单个字符,所以选项B 错误;此外还有一种特殊的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“开头加专业资料整理WORD格式第一章C 语言根底知识参考答案- 3 -一个普通字符组成,代表一个字符。如表示一个单引号字符,所以选项 D 正确;表示一个斜杠字符,而选项 C中的那么是错误的;用“ 与其后的 13 位八进制数字构成的字符序列,表示 ASCII 码等值于该八进制数的字符;用“ x 与其后的 12 位十六进制数字构成的字符序列, 表示 ASCII 码等

5、值于该十六进制数的字符; 所以选项 A 错误。41 B 分析:字符常量是用单引号括起来的单个字符,所以选项 A 正确;此外还有一种特殊的字符专为控制设计,称为转义字符,有三种转义字符:一种是由一个“ 开头加一个普通字符组成,代表一个字符。如 n 表示一个换行符,所以选项 D 正确;用“与其后的 13 位八进制数字构成的字符序列, 表示 ASCII 码等值于该八进制数的字符, 所以选项B 错误,因为 9 不是八进制数字;用“x 与其后的 12 位十六进制数字构成的字符序列,表示 ASCII 码等值于该十六进制数的字符;所以选项C 正确。42D43 B44 A45B分析:选项A 中字符 0的 AS

6、CII 码值为 48,所以 A 的结果不为 1;选项 B 中0 代表空值,空值NULL的 ASCII 码值为 0 所以结果为 1;选项 C 中字符 1的 ASCII 码值为 49,所以结果不为 1;选项 D 相当于用 0-48结果也不为 1。46D如果要表示十六进制字符,那么要用x 开头,所以选项 A 错误;如果要表示八进制,那么0 开头,后面跟 13 位的八进制数,八进制数由07 组成,不包含 8,所以选项 B错误;用单引号括起来的单个字符才是字符常量,所以C错误;而 n 是转义字符,用来表示回车符。47C先将 c1 变量中的字符的ASCII 码值输出, 即为 65,将变量 c2 中字符的

7、ASCII码值减 2 后输出,即为66。48 A 变量 c1 和 c2 中的值一样, 所以转换成二进制数后, 对应的二进制位上的值也一样,当两值一样时,只有进展异或运算,结果才为0,所以 c1c2 值为 0。所以此题的正确答案为 A。二,填空题1位012关键字预定义标识符用户标识符384八十十六5intfloatdouble65+3.6/2=5+1.8=6.871516a+表达式的值是a 变化之前的值,当然a 本身增加了 18 把 10 赋给变量 B9 printf( “ *a=%d,b=%d* , a,b); 10 3专业资料整理WORD格式全国计算机等级考试二级教程C 语言习题集参考答案-

8、 4 -专业资料整理WORD格式整个表达式是一个逗号表达式,变量n 和i赋值为2 后,通过+i将i的值增加1 变为3,专业资料整理WORD格式然后再通过i+为i增加1,整个逗号表达式的值为i+ 的值,此时是后缀,所以整个i+专业资料整理WORD格式表达式的值为3,而变量i 的值为 2。11、 112、 3专业资料整理WORD格式第二章顺序构造参考答案- 5 -第二章顺序构造参考答案一 选择题1.C 解析:构造化程序的算法可以解决任何复杂的问题。2.C解析: C 程序的根本组成单位是函数,在C程序中每行可以写多条语句,每条语句以分号完毕,每条语句可以占用几行,在几行内写完。3.C解析:随意使用空

9、语句会导致逻辑上出现错误,不要随便使用。4.D5.D6.B7.A8.C9.B解析:在 printf语句中,格式控制的个数只有一个,即d,而输出项有两项,即a和 b。而得到的结果应该只有一个,所以应该输出第一个变量的值,即变量a 的值。10.C解析: m=0256,即 m是八进制的数0256,要以八进制无符号的形式输出,即输出256;n=256, 即 n 是十进制的数 256,也要以八进制无符号的形式输出,首先要把十进制数转化为八进制数, 256 转化为八进制为0400 ,以无符号形式输出,即输出400。11.C解析:第一个数据的输出控制宽度是2 位,但是 x 的值是 102,占 3 位,要输出

10、的数据宽度大于规定的输出宽度,由于数据时右对齐方式,所以按数据的实际宽度输出,输出 102。第二个数据要求以十进制形式输出,输出控制宽度是2,y 的值为 012,是八进制数,所以要转换成十进制数10 后再输出。12.C13.A14.D解析: float x=-123.456;说明 x 为单精度浮点数据,单精度浮点数据对应的输出格式应该为 %f。15.C16.D. 解析: m遵循从右向左结合的原那么;m的值为m自增之前的值,所以执行完x m以后,x 被赋值为3;表达式 x x8/+n中有加号除号, 先算 8/+n,+n的值为自增之后的值为5,8/5取整为1,即 xx 8/+n转化为 x x 1,

11、即把 x1 的值赋给 x, x 的值变为 2。17.B解析:输入控制中第一个数要求以“2d形式输入,即要求输入一个两位的数,而从键盘输入的数为 876,所以从左到右取两位数字87,即把 87 赋值给整型变量a,余下的 6 再赋值给浮点型变量b,自动进展类型转换,b 的值为 6.000000,后面输入的 543 那么没有赋值给变量。18.B19.B20.A21.A解析:从键盘输入数据的格式必须与输入控制要求的格式一样,B 答案三个之间不要有空格; C答案用逗号分开是多余的;D 答案格式不匹配。22.C23.C解析: x 乘以 100是为了把 x 小数点后的两位小数变为整数,再加上 0.5 ,如果

12、小数点专业资料整理WORD格式全国计算机等级考试二级教程C 语言习题集参考答案- 6 -后一位大于等于 5 那么会进一位, 如果小数点后一位小于 5 那么不会出现进位的情况, 再对其进展强制类型转换, 采用舍去法丢掉小数局部, 即对 x 乘上 100 后的数实现了小数位到整数位的四舍五入。 最后再除以 100.0 ,把数字变回原来的大小, 整数与浮点数相除结果为浮点数,即实现了要求。专业资料整理WORD格式24.C25.A专业资料整理WORD格式26.D解析:第1 个输出语句要求ch 以%c字符形式输出所以为输出“a,以 %d整数形式输出为,字符转换为整型要使用ASCII 码所以为“ 97,k

13、 没有对应的输出符所以没有输出, 第 2 个输出语句要求以整型方式输出k 得到“ 12。结果为“ a,97,k=12 。专业资料整理WORD格式27.C28.D专业资料整理WORD格式二填空题1. 构造化2. 一条语句分号3.884.115.2521376.27.58.099.i=10,j=2010.1611.AB 回车12.B 6513.3457914.12<CR>315.12专业资料整理WORD格式第三章选择构造参考答案- 7 -第三章 选择构造参考答案一、选择题1、 D 逻辑运算符两侧运算对象可以是任意合法的表达式,应该是两条语句, 所以选 D。2、A 此题主要是考察C 语言

14、中 if语句的合法条件表达式描述,在 C 语言中 “不等于 用“!=描述而不是用“<>描述。 B、 C、D选项都是合法的表达式。专业资料整理WORD格式3、 D if语句的表达式可以是任意合法的表达式专业资料整理WORD格式4、 D此题主要是考逻辑运算和关系运算的优先级别. 只要掌握 ! 、算术运算和便可选对 . 这几种运算符的具体优先级关系见见教材P188,附录三。&&的优先级别专业资料整理WORD格式5、 A 此题主要是考逻辑运算符! 、 &&和 | 之间的优先级别。 !最高, &&次之, | 最低。先求得 !a 为 0,所以不必

15、计算 !b 的值,即 !a&&!b 的值为 0,由 c=0,!c=1, 而 0|1=1 ,所以选 A。6、答案是 BC 语言的字符以其ASCII码的形式存在,所以要确定某个字符是大写字母,只要确定它的ASCII 码在 A和 Z之间就可以了,选项A 和 C符合要求。大写字母的ASCII 码值的X围为65 到 90,所以 D选项符合要求,所以只有C是错误的。7、D 此题考到了 +运算符以及逻辑运算。当计算机碰到 a&&b 时,先计算表达式a 的值, 假设为真才会计算表达式b 的值,否那么将不会去计算b 的值,因为一旦a=0, 那么 0&&b必为0;而

16、 a|b那么正好是相反的,即先计算表达式a 的值,假设 a 为假才会计算表达式b的值,否那么将不会去计算b 的值,因为一旦 a=1, 那么 1|b的值必为 1, 理解了这两点后,我们在看题目: i+=1 的值为 1,此时 i 为 2,所以计算 &&后的表达式,首先计算 +j=3的值为 1, j的值为3,由上面的原理我们可知, | 后面的表达式不用再计算,所以此时 i , j , k 的值分别为2, 3, 3。8、 C 此题主要是从概念上考if和 else的配对问题9、A 此题主要是从实际应用上考if 和 else的配对问题, a=1, 那么 !a 的值是假,程序执行第一个 if

17、 下的第一个 else语句,在判断 a=0 显然条件为假查看第二个 if是否有其配对的 else, 发现没有,那么执行最后一条printf语句输出 b 的值,因为在整个过程中程序没有对 b 的值做任何改变,所以答案选择A.10、 D 此题主要是考 if 和 else的一般形式。 if 后面的语句要么是单条语句,要么是由 扩起来的复合语句, 不能是 if 后有两条语句的, 所以此题程序在运行的时候会出错。11、 C 此题考到了关系运算和逻辑运算及一定数学知识。|x-y|<10 可等价为 -10<x-y<10,首先选项 A 表示 x-y 的绝对值小于10,与题中的数学关系一样;将

18、-10<x-y<10 用逻辑表达式表示的话就是B 选项;而 D 选项只是数学变换,所以选择C12、 D 此题也是考到了真假条件的变换和if-else语句。 A、 B、C三项都是表示a 为真时输出 x,为假时输出 y, 而 D 那么是 a 为假时输出x, 为真时输出 y。专业资料整理WORD格式全国计算机等级考试二级教程C 语言习题集参考答案- 8 -专业资料整理WORD格式13、 D此题考察了赋值表达式的一般格式,=的左边是变量名,右边是表达式,所以D 项错专业资料整理WORD格式误。专业资料整理WORD格式14、 C此题主要是考察逻辑值用整数值替代的结果,数0 代表逻辑假,非零值

19、代表逻辑真。专业资料整理WORD格式15、 C此题主要是考察if-else-if和 if语句。具体分析见教材第49 页例7。专业资料整理WORD格式16、 C 此题主要是考察if-else-if以及关系表达式的运算。首先判断第一个条件a>b>c值为 0,所以不执行第一条语句;在判断第二个条件,c-1>=c 表达式的结果为假,所以也不执行其下面的语句,因此执行最后一条语句,将输出d+2 的值为 4 。的专业资料整理WORD格式17、C此题主要是考察条件表达式和条件运算符。首先要注意条件表达式的结合方向,它是从右至左的可参照附录三第一个条件表达式的值为a, 第二个条件表达式的值为

20、c , 而 c=6, 所以答案选C 。专业资料整理WORD格式18、 A此题主要是考察if-else语句和条件表达式的转化。只要理解了表达式的运算规那么的话,就很容易选出A。if-else语句和条件专业资料整理WORD格式19、 D此题主要是考察在switch细说明可参看教材第三章语句中P53 对break switch和 default的作用及的说明局部。break的适用X围。详专业资料整理WORD格式20、B此题考察的是条件表达式求解问题。先看第一个条件表达式语句,k=b=2; 再看第二个条件表达式语句,k>c 为假,所以k=k=2 选Ba<b为真,所以专业资料整理WORD格式

21、21、C此题考察逻辑与&& 的运算工作特性,&&运算的是从左至右,当左边表达式的值为假时,右边的表达式那么不执行,因此题中k1=k1>k2 的值为 0 亦为假,该表达式是一个赋值语句,且此时k1 的值为 0,因而右边的表达式k2=k2>k1 不执行,因此K2 的值没有做任何改变。值依然是20,所以此题选选B。专业资料整理WORD格式22、C此题考察的是真假条件的等价问题。x-y为真表示x-y是非0 的,也即x-y<0或x-y>0专业资料整理WORD格式即选 C。专业资料整理WORD格式23 答案是B专业资料整理WORD格式满足表达式 c&

22、gt;=2&&c<=6的整型变量c 的值是2,3,4,5,6。当变量c 的值不为2,4,6专业资料整理WORD格式时,其值只能为3 或 5,所以表达式c!=3和c!=5中至少有一个为真,即不管c 为何值,B专业资料整理WORD格式选项中的表达式的值都为真,所以B 选项正确。专业资料整理WORD格式24 答案是D 举个例子如 x=3 带入得出结果为0 的选项是D 选项。专业资料整理WORD格式25 答案是D专业资料整理WORD格式条件x=0|x=1为真,所以执行y=1,然后执行专业资料整理WORD格式y=x*x-(x-2)*(x-2)=1-(-1)*(-1)=1-1=0,所

23、以选择A。专业资料整理WORD格式26 答案是B专业资料整理WORD格式此题考察 if语句条件表达式后的语句块区分问题。题中第一条if语句之后有两条赋值语句,但他们不在一个复合语句之内,所以只有a=b 是直接附属于第一条if语句的,因此当 a=3,b=5,c=7 ,那么 a>b 为 0,程序不执行a=b,但执行 c=a 此时 c 的值是 3,在第二条if专业资料整理WORD格式语句的条件表达式中 c!=a 条件值为 0,那么不执行 c=b 因此最终 a、b、c 的值为 3、5、3,因此选 B专业资料整理WORD格式第三章选择构造参考答案- 9 -27答案是 DC语言的字符以其 ASCII

24、 码的形式存在,所以要确定某个字符是大写字母,只要确定它的 ASCII 码在 A和 Z之间就可以了,选项B 的书写格式错误,而选项C 不符合要求。大写字母的 ASCII 码值的X围为 65 到 90,所以 A 选项不符合要求,小写字母的ASCII 码比大写字母的 ASCII 码大 32,所以只有 D 是正确的。28答案是 B,此题考察三目运算符的运算特性。29答案是 B,此题考察 switch 语句运算过程。30答案是 C,表达式 y%3=0的值为 1,所以执行下面的输出语句,表达式 y 的值为8,所以输出结果是 8。选择 C。31答案是 C,表达式 x%3的值为 2,非 0 所以执行下面的输

25、出语句,将x- 的值 8 输出,此时 x 的值变为 7,然后再执行下一个输出语句,将-x 的值 6输出, x 的值也变为6,所以选择 C。32答案是 D,这是嵌套形式的 switch 语句,因为 break构造影响较大,而此程序中的第一个 case 后没有 break 语句,程序执行时, x=1,执行内嵌的 switch 语句,因 y=0,执行a+,使变量 a 的值为 1 并终止内层 switch 构造,回到外层。程序继续执行case 2 后面的语句 a+;b+; ,这使变量 a,b 的值分别为 2 和 1,外层 switch 语句完毕。所以此题选择 D。33答案是 C, switch 语句中

26、开关条件必须是整型、字符型和float 类型,此外强制类型转换的格式C 选项正确。二、填空题1、答案是: (x%3=0)&&(x%7=0)专业资料整理WORD格式2、答案是:4专业资料整理WORD格式分析:程序中是一个if else构造。分析时要理清if与 else的配对情况。专业资料整理WORD格式3、答案是:4, 5, 99专业资料整理WORD格式分析: 题中的重点在于两个 if 构造,大家要注意两点:第一, 如果 if 后面没有花括号,那么它后面的第一条语句是它的构造体,并且只有一条语句。 如果后面是一个构造,那么整个专业资料整理WORD格式构造都属于if构造的构造体 。

27、第二,变量在不断的被重新赋值,所以其值在不断的变化。4、答案是: yes ,分析:该题与第二题是同一回事。专业资料整理WORD格式5、答案是:1。专业资料整理WORD格式分析:这个题还上一个面括号里的表达式p=a!=0,算, a 的值为 5,所以 a!=0值,为 1。if else构造,考察点仍然是考察考生是否能够正确识别if后根据运算符的优先级知道,这里应该先算a!=0 ,这是一个逻辑运为真,其逻辑值为1,将 1 赋值给 p,所以条件为真,输出p 的专业资料整理WORD格式6、答案是:非零专业资料整理WORD格式7、答案是:585858。专业资料整理WORD格式分析:题中有三个if构造,注意

28、,这三个if构造是相互独立的,是互不相关的,只要专业资料整理WORD格式全国计算机等级考试二级教程C 语言习题集参考答案- 10 -他们的条件成立,就要执行其构造体后面的输出语句。通过键盘输入,得a 的值为 58,所以 a>50 为真,输出58;然后判断 a>40,仍然为真,再输出58,最后判断 a>30,肯定为真,所以再输出 58,连续三次输出 58。8、答案是: 0。分析:此题的关键在于关系运算符的运算次序,a=5,b=4,c=3.a>b>c看起来是真的,但是这这是数学里面是这样的,这里我们要一步一步的计算,先算a>b, a 确实大于 b,所以为真,逻辑

29、值为 1,后面的计算就变成了1>c,显然为假,逻辑值为0,并将它赋值给 d,所以最后输出 d 的值为 0。9、答案是: 3。分析:这个题主要考察条件运算符。程序要输出P/3>0"p/10:p%3 这个条件表达式的值。 P 为 30,所以 p/3=10,10>0显然为真,所以整个表达式的值应该是p/10 的值, p/10 得3。10、答案是: 2 1 。分析:题中是一个switch嵌套构造。里面的switch是 case 1的语句,题的关键点在于这个语句 即里面的这个 switch 构造的后面并没有跳出整个构造的break 语句。 所以,当 x=1,与 case 相配

30、以后,执行完后面的语句即里面的这个switch构造,然后没有遇到 break 语句,所以并不跳出构造体,而是继续执行case 2后面的语句。所以最后得到的结果应该是 2 1 ,而不是 1 0 。11、答案是: 0。字符空格的 ASCII 码不为 0,所以此题中表达式!c 的值为0, b=0&&1的结果显然为 0。12、答案是: 2。此题考察逻辑或运算的运算特性,当| 运算的左边的表达式值为1 时那么不进展右边表达式的计算。此外对于自增运算a+的运算规那么是先使用在自增。13、答案是: -4 。表达式 !n 的值为 1,所以执行 x-=1后 x=1;表达式 m的值为非0 值,所以

31、执行其后的语句 x-=2 后 x 的值为 -1 ,表达式 x 的值也为非0,所以执行其后的语句后x 的值为 -4 ,最后输出 x 的值即为 -4 。14、答案是: #&。表达式 c=5 的值为真, 所以表达式的值等于1,因此输出符号“ #,然后执行 “break ,继而去执行“ default: printf(“ &); 语句,输出符号“&。15、答案是: 12 17 。当从键盘输入 x 的值为 12 时,程序自上而下执行经过三个if条件判断第一个条件不满足,第二、第三两个都满足。因此最终输出结果为1217。16、答案是: a:bc:t1。条件表达式类似于 if语句,根

32、据“?前面子表达式的逻辑值来判断应该计算“:前面的子表达式还是后面的作为整个条件表达式的结果。题目要求输出a、 b、c3 个变量中的最小值,所以当 a<b 时,应该选 a,否那么选 b,帮前一空应填a:b 。同理,后一空应填c:t1 。专业资料整理WORD格式第四章循环构造参考答案- 11 -第四章 循环构造参考答案一、选择题:1.B专业资料整理WORD格式解析: a 的值为 1,a<6 为真,执行循环体,值与 10 求余运算后值为3。a 的值为 3,a<6 为真,执行循环体,b 的值加 a 后为 3, a 的值加 2 后为 3, b 的b 的值加 a 后为 6,a 的值加

33、2 后为 5,b 的值专业资料整理WORD格式与 10 求余运算后值为 6。 a 的值为 6, a<6 为真,执行循环体, b 的值加 a 后为 11, a 的值加 2 后为 7, b 的值与 10 求余运算后值为 1。a 的值为 7, a<6 为假,不执行循环体,直接输出a、b 的值为 7,1 。2. A解析: k 的值为 5,进入循环, -k 表达式的值为 4真,同时 k 的值改变为 4,输出表达式 k-=3 的值 1,同时 k 的值为 1。 k 为 1, 表达式 k的值为 0, 完毕循环。3.A专业资料整理WORD格式解析: X=0,y=5,z=3,(z>0&&

34、amp;x<4)值为真,进入循环体,1 (z>0&&x<4) 值为真,进入循环体, y值为 3,z 值为2 (z>0&&x<4) 值为真,进入循环体, y值为 2,z 值为3 (z>0&&x<4) 值为假,完毕循环。4输出 x,y,z的值 3,2,0y 值为 4,z1, x值为0, x值为值为232, x值为1专业资料整理WORD格式4. D解析:当K 的值为 3 时,只执行case 3后面的语句n+=k, n 的值为 3;当 k 的值为 2 时,先执行case 2后面的语句,但没有break ,所以不会

35、退出,继续执行 case 3 后面的语句 n+=k,n 的值为 5;专业资料整理WORD格式当 k 的值为 1 时,先执行 case 1 后面的语句的语句 ( 没有 ) ,继续执行 case 3 后面的语句n+=k, n 的值为n+=k, n 的值为6,先执行case 27。输出 n 的值 7。后面专业资料整理WORD格式5.B专业资料整理WORD格式解析: 在循环体中有“ s+=1; s 的初始值为 0,要让 s 的值等于 2 必须是循环体执行两遍。当循环提执行两遍后 a 的值等于 -3 ,所以在 n=-3 的时候循环体执行两遍后条件表达试a!=0 为假,会退出循环。6.B解析:程序开场时,

36、y=10, while循环中执行y 自减运算,值的注意的是他的循环体只是一个空语句,那么由于自减运算y-的特点:先使用后自减,因为当y 的值减为0 时,while循环完毕, 但 y 变量依然执行自减运算,此时 y = -1 。因此最终输出的y 的值为 y=-1 ,因此选 B。7. A解析: x 3; 先执行循环体,输出表达式 x-=2 的值 1,同时 x 的值也改变成 1,再判断表达式的值 (!x),x 的值为 1真,(!x) 为假,循环完毕。8. B专业资料整理WORD格式全国计算机等级考试二级教程C 语言习题集参考答案- 12 -解析:分析:B选项每次进入循环体,都要先执行p=1; 即 1

37、 赋值给 p. 所以不能求出5!的值。9. D解析:变量i 每次增量为2,变化过程为:1->3->5->7->9,语句 s+=1 每次执行使s 增加的数为: 2,4,6,8,10,所以 s 的值为自然数110 中偶数的值。10. C解析: C项 s=s+1/n, 1/n 首先运算, n 为整型变量, 1 也是整型变量, 当 n=2, 10 时,1/n的值为整数0,故 C不正确11. B 分析过程与第 6 题类似。12. C13. A从键盘输入1 2 3 4 5 0 后,程序从 main 函数开场执行,先将1 读入到 s 变量中, while的判断条件s>0成立,那

38、么执行循环体。循环体语句是一个switch 构造的语句,依据 s的值去执行相应的case 语句,直到碰到 break 语句跳出 switch 构造。第一次 s 为 1,执行 case 1: 此时输出 6,没有碰到 break 语句 , 继续执行 case 2 :输出 5,紧接着碰到 break 语句跳出本次 switch 构造。然后程序再次读入整数 2 再次执行 while 循环 , 。此题需要理解 switch 语句的执行过程。14. D解析:在循环中当 x 等于 0, 3,6, 9 时 x%3 等于 0,这时会进入if 语句执行 printf语句,在输出前x 会先自加。屏幕上输出 1471

39、0。15.D解析:注意 a 变量在 for 循环的表达式3 和循环体中都有改变。16.2345 解析:选择中没有此答案。此题注意的是在循环第一次进入switch 语句的时候是执行的 default 后面的语句块,由于没有break, 所以还会执行case2:case4: 后面的语句。17.A解析: 首先执行 +n,判断条件表达式 n<=0 为假退出循环。 B 条件表达式 1 永远为真是无限循环, C 条件表达式n 的值为 10 永远为真是无限循环,D 没有条件表达式,所以没有退出条件,是无限循环。此题要注意的是0 为假,非0 为真。18.B专业资料整理WORD格式解析:此题考察分析:第一

40、次循环for语句的嵌套以及i=1 , j=3if语句的执行。此题输出的结果是m=1。专业资料整理WORD格式19. D解析:第一次循环 x=8,x%3<>0, 进入 if 语句输出 x 的值为 8,然后 x 自减 1,执行 continue立即进展下次循环条件判断。第二次循环x=6,x%3=0, 不进入 if语句,执行if语句后面的printf(“ %d,-x),x先自减 1 再输出得到5。第三次循环x=4,x%3<>0, 进入 if语句输出x 的值为 4,然后 x 自减 1,执行 continue立即进展下次循环条件判断。第四次循环x=2,x%3<>0,进

41、入 if语句, 输出 x 的值为 2,然后 x 自减 1,执行 continue立即进展下次循环条件判断。第五次循环x=0, 判断表达式x>0 为假。完毕循环输出结果为8, 5,4, 2。答案 D20. C解析:第一次循环a=0,a%2=0,进入 if语句的 else局部输出字符A,第二次循环a=1,a%2=1,进入 if语句输出字符2,第三次循环a=2,a%2=0,进入 if语句的 else局部输出字符 C, 第四次循环 a=3,a%2=1,进入 if 语句输出字符 4, 第五次循环 a=4,a%2=0,进入 if语句的 else 局部输出字符E, 第六次循环a=5, a%2=1,进入

42、 if语句输出字符6, 此时 a=6,专业资料整理WORD格式第四章循环构造参考答案- 13 -跳出循环,因此最终结果输出:A2C4E6。21. A22. B解析:外层循环 3 次, i 的值在内层循环中依次为 1,2,3 内层循环次数依次为 3,2,1次。23. D解析:代码“ if(n%3!=0)continue;无实际意义。当n 自加到 4 的时候完毕循环。答案D。24. D解析:表达式 2 为赋值语句k=1, 条件永远为真,会进入死循环。答案D25. A解析:0%任何数等于0,所以第一次循环的时候就进入了if语句退出了for循环。i=21 ,i<20 为假,退出了while循环。 a 的值为 21。26. D解析: i的初值为0,第一次循环的时候满足i<0, 进入第一个if语句,执行continue直接进展下次循环,i 的值没有改变。第二次循环又重复了第一次循环的操作,所以是死循环。27.B 解析:控制每行输出“* 号的过程。一共四行,每行输出奇数个。二填空题:1. 7解析:从键盘输入14 63 后程序将14 赋给变量m,63 赋值给变量n,最外层的while条件 m!=n 为真,进入循环体。循环体语句是两组

温馨提示

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

评论

0/150

提交评论