第11练 3.4 分支结构程序设计综合实例 《C语言》 (第五版) 一课一练 (山东省)

2026-06-24
| 2份
| 11页
| 44人阅读
| 0人下载

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第11练,内容是3.4 分支结构程序设计综合实例。 《C语言》(第五版)一课一练 第11练 3.4 分支结构程序设计综合实例 一、单选题 1. 以下关于if-else嵌套的叙述,正确的是( ) A. else总是与它上面最近的未配对的if配对 B. else总是与第一个if配对 C. 嵌套的if-else不能超过两层 D. else可以独立使用不需要对应if 2. 在C语言中,实现多条件互斥判断时应该使用的语句是( ) A. 多个独立的if语句 B. 多个并列的switch语句 C. if-else if-else语句 D. 重复使用return语句 3. 设 int x=5; 执行以下代码后输出的结果是 if (x > 10) printf("A"); else if (x > 3) printf("B"); else if (x > 1) printf("C"); else printf("D");( ) A. 输出A B. 输出C C. 输出D D. 输出B 4. 以下代码段中,else与哪个if配对 if (a > 0) if (b > 0) printf("1"); else printf("2");( ) A. 与if(a>0)配对 B. 与两个if都配对 C. 与if(b>0)配对 D. 不与任何if配对 5. 设 int a=3, b=4; 执行以下代码后c的值是 c = 0; if (a > b) c = 1; else if (a == b) c = 2; else c = 3;( ) A. c的值为3 B. c的值为0 C. c的值为2 D. c的值为1 6. 设 int x=15, y=20; 执行以下代码后输出的结果是 if (x > 10) if (y > 30) printf("A"); else printf("B"); else printf("C");( ) A. 输出A B. 输出C C. 无输出 D. 输出B 7. 设 int a=2, b=3, c=1; 执行以下代码后输出的结果是 if (a > b) if (b > c) printf("X"); else printf("Y"); else printf("Z");( ) A. 输出X B. 输出Z C. 输出Y D. 输出XY 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int x = 8; if (x > 10) printf("%d ", x * 2); else if (x > 5) printf("%d ", x + 2); else if (x > 0) printf("%d ", x - 2); else printf("%d ", x); return 0; } 三、案例分析题 9. 以下程序的功能是:输入一个整数,判断它是正数、负数还是零,并输出对应信息。请填空。 #include <stdio.h> int main() { int n; scanf("%d", &n); if (【1】) printf("正数 "); else if (【2】) printf("负数 "); else 【3】; return 0; } 四、综合应用题 10. 编写一个C程序,计算以下分段函数的值并输出:当x<0时,y=2x+1;当0<=x<10时,y=x*x-5;当x>=10时,y=3x-1。从键盘输入x的值,输出y的值。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第11练,内容是3.4 分支结构程序设计综合实例。 《C语言》(第五版)一课一练 第11练 3.4 分支结构程序设计综合实例 一、单选题 1. 以下关于if-else嵌套的叙述,正确的是( ) A. else总是与它上面最近的未配对的if配对 B. else总是与第一个if配对 C. 嵌套的if-else不能超过两层 D. else可以独立使用不需要对应if 【答案】A 【解析】C语言规定else总是与它上面最近的尚未配对的if进行配对,这就是就近配对原则。else不能单独使用,必须与if成对出现。if-else嵌套层数没有限制。因此A选项正确。 2. 在C语言中,实现多条件互斥判断时应该使用的语句是( ) A. 多个独立的if语句 B. 多个并列的switch语句 C. if-else if-else语句 D. 重复使用return语句 【答案】C 【解析】当需要判断多个互斥条件时,应使用if-else if-else语句,程序会依次检查每个条件,一旦某个条件满足就执行对应分支。多个独立if语句可能同时满足多个条件,不符合互斥需求。switch语句不能直接处理范围判断。因此C选项正确。 3. 设 int x=5; 执行以下代码后输出的结果是 if (x > 10) printf("A"); else if (x > 3) printf("B"); else if (x > 1) printf("C"); else printf("D");( ) A. 输出A B. 输出C C. 输出D D. 输出B 【答案】D 【解析】x的值为5,先判断x>10为假,再判断x>3为真,执行printf输出B。if-else if结构中一旦某个条件满足,后续分支不再判断。因此x>1不会被检查。所以程序输出B。 4. 以下代码段中,else与哪个if配对 if (a > 0) if (b > 0) printf("1"); else printf("2");( ) A. 与if(a>0)配对 B. 与两个if都配对 C. 与if(b>0)配对 D. 不与任何if配对 【答案】C 【解析】根据else的就近配对原则,else与离它最近的未配对if配对。代码中else上方最近的未配对if是if(b>0),所以else与if(b>0)配对。缩进不影响配对关系,编译器按照语法规则确定配对。如果想与if(a>0)配对,需要用花括号改变结构。 5. 设 int a=3, b=4; 执行以下代码后c的值是 c = 0; if (a > b) c = 1; else if (a == b) c = 2; else c = 3;( ) A. c的值为3 B. c的值为0 C. c的值为2 D. c的值为1 【答案】A 【解析】a的值为3,b的值为4,a>b即3>4为假。继续判断a==b即3==4也为假。最后执行else分支,c被赋值为3。if-else if-else结构保证必定执行其中一个分支。所以c的值为3。 6. 设 int x=15, y=20; 执行以下代码后输出的结果是 if (x > 10) if (y > 30) printf("A"); else printf("B"); else printf("C");( ) A. 输出A B. 输出C C. 无输出 D. 输出B 【答案】D 【解析】x>10即15>10为真,进入内层if判断。y>30即20>30为假,执行内层else输出B。内层else与if(y>30)配对,外层else与if(x>10)配对。由于外层if条件已满足,外层else不会执行。所以最终输出B。 7. 设 int a=2, b=3, c=1; 执行以下代码后输出的结果是 if (a > b) if (b > c) printf("X"); else printf("Y"); else printf("Z");( ) A. 输出X B. 输出Z C. 输出Y D. 输出XY 【答案】B 【解析】a>b即2>3为假,外层if条件不满足,直接执行外层else输出Z。内层if-else在逻辑上属于外层if的分支,外层if条件为假时整个内层结构被跳过。else按照就近原则配对,内层else与if(b>c)配对,外层else与if(a>b)配对。所以程序输出Z。 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int x = 8; if (x > 10) printf("%d ", x * 2); else if (x > 5) printf("%d ", x + 2); else if (x > 0) printf("%d ", x - 2); else printf("%d ", x); return 0; } 【答案】10 【解析】x的值为8,先判断x>10即8>10为假。再判断x>5即8>5为真,执行printf输出x+2的值即8+2=10。后续x>0的判断不再执行。所以程序输出10。 三、案例分析题 9. 以下程序的功能是:输入一个整数,判断它是正数、负数还是零,并输出对应信息。请填空。 #include <stdio.h> int main() { int n; scanf("%d", &n); if (【1】) printf("正数 "); else if (【2】) printf("负数 "); else 【3】; return 0; } 【答案】【1】n > 0 【2】n < 0 【3】printf("零 ") 【解析】程序需要判断n是正数、负数还是零三种情况。第一个条件判断n是否为正数,填n>0。第二个条件判断n是否为负数,填n<0。当前两个条件都不满足时n为零,输出零的信息,填printf("零\ ")。三个分支覆盖了所有可能情况。 四、综合应用题 10. 编写一个C程序,计算以下分段函数的值并输出:当x<0时,y=2x+1;当0<=x<10时,y=x*x-5;当x>=10时,y=3x-1。从键盘输入x的值,输出y的值。 【答案】#include <stdio.h> int main() { int x, y; scanf("%d", &x); if (x < 0) y = 2 * x + 1; else if (x < 10) y = x * x - 5; else y = 3 * x - 1; printf("%d ", y); return 0; } 【解析】分段函数有三个区间需要处理。x<0时y=2x+1,0<=x<10时y=x*x-5,x>=10时y=3x-1。使用if-else if-else结构,第一个条件判断x<0,第二个条件判断x<10(因为else已经隐含x>=0),剩余情况为x>=10。这样三个分支分别对应三个区间。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第11练 3.4 分支结构程序设计综合实例 《C语言》 (第五版) 一课一练 (山东省)
1
第11练 3.4 分支结构程序设计综合实例 《C语言》 (第五版) 一课一练 (山东省)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。