招生电话:0759-2296349

课程咨询微信号:619809370

地址:湛江市霞山区人民大道南81号新宇大厦501室

新闻中心

教材104页提升题答案

2025-09-01

一、单项选择题

 1. 【精析】 B if 语句中,if 后会跟一个表达式,一般为逻辑表达式或关系表达式,此表达式应用( )括起来,选项 B 的正确表示形式为 “if((x = y) && (x!= 0)) x += y;”。

 2. 【精析】 A 对于表达式 a>b?(b>c?1:0):0},只有当 a>b 时,其值为表达式 (b>c?1:0) 的值。而表达式 (b>c?1:0),只有当 b>c 时,其值为 1。也就是说,只有当 a>b b>c 时,k 的值才为 1,其他情况下,k 的值都为 0,因此,选项 A 正确。

要点总结

z=x>y?x:y?”语句的作用是当条件成立时将 x 的值赋给 z,否则将 y 的值赋给 z

 3. 【精析】 C switch 语句中表达式的值必须是整型或字符型数据,与之对应,case 后面的常量也应为整型或字符型常量,按照这一原则,选项 B 和选项 D 不正确;选项 A 中,取余的两个操作数都应为整数,因此表达式 c\% 3 不正确,故选 C

 4. 【精析】 C 选项 C 中,当 x 的值为 1 时,表达式 x==1 的值为真,即为 1,这样会执行 case 1 分支中的 “x++;” 语句,与题目中 if 语句的功能不同。

 5. 【精析】 B 只有当 x 大于 1 时才会执行 else 部分,另外 x 不等于 5,才会执行打印输出语句。所以,若要使程序输出结果则 x 必须大于 1 且不等于 5

二、计算题

1. 【精析】 (1) 11, 19 (2) 11, 20, 28

 (1) 3 if 语句都为单分支语句,x 的值为 11 时,满足条件 x>10, 输出 x 的值 11, 又由于 x>5 成立,继续执行 “printf("%d\n",x+8)”,语句,输出 19

 (2) x 的值为 20 时,满足条件 x>13,执行语句 “printf("%d",x-9)”,输出 11,又满足条件 x>10,输出 x 的值 20,还满足条件 x>5,继续执行 “printf("%d\n",x+8)”,语句,输出 28

2. 【精析】 (1) 15, 0 (2) 10, 15

 (1) 程序中,“if(a==b) t=a;”构成一条 if 语句。由于 a==b 条件不成立,语句 “t=a;” 不执行;程序接着执行 “a=b;”“b=t;” 这两条语句,执行后 a=15, b=0

 (2) 修改过后,“if(a==b) t=a; a=b; b=t;” 构成一条 if 语句,由于条件不成立,则不执行任何操作,原样输出 a, b 的值。

3. 【精析】 (1) passterror (2) you

 (1) n 被赋值为字符 'c',与 case 'c' 匹配,输出 pass;此时并没有遇到 break 语句,继续执行 case 'd' 子句,输出 test,接着执行 default 子句,输出 error 后遇 break 语句结束 switch 分支语句。

 (2) n='a',与 case 'a' 匹配,没有输出,此时没有遇到 break 语句,继续执行 case 'b' 子句,输出 you,遇 break 语句结束 switch 分支语句。

4. 【精析】 (1) 11, (2) 10

 先取 a 的值判断,表达式 a++>10 不成立,a 的值再自增 1 11,执行语句 “printf("%d\n",a--);” 时先将 a 的值输出,即输出 11,再使 a 自减 1,此时 a 的值为 10

5. 【精析】 (1) * * 0 * * (2) * * 1 * *

 (1) 这是一个 switch 嵌套语句。a = 1, 执行 case 1: switch (b) 分支, b = 0, 执行 “case 0: printf("**0**\n"); break;”语句,打印出**0**; case 1:switch(b)分支执行完后,碰到break语句,结束switch分支语句。

 (2)b=1,执行“case 1:printf("**1**\n"); break;”语句,打印出**1**;case 1:switch(b)分支执行完后,碰到break语句,结束switch分支语句。

6.【精析】(1)条件运算符 (2)3

 条件运算符的表达式是:表达式1?表达式2:表达式3,含义是:当表达式1的值为真时,返回表达式2的值,否则返回表达式3的值。

 根据运算符的优先级,先计算赋值运算符右侧的条件表达式5?a++:b--的值;由于条件5为真,所以将a++的值作为条件表达式的值;这样“c=5?a++:b--;”等价于“c=a++;”,a++表示先使用a的值,再将a的值加1,因此c的值为3

上一篇

这里有最新的公司动态,这里有最新的网站设计、移动端设计、网页相关内容与你分享

下一篇