第9练 3.2 if语句、if...else语句 《C语言》 (第五版) 一课一练 (山东省)

2026-06-24
| 2份
| 10页
| 28人阅读
| 0人下载

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第9练,内容是3.2 if语句、if...else语句。 《C语言》(第五版)一课一练 第9练 3.2 if语句、if...else语句 一、单选题 1. 以下关于if语句的叙述,正确的是( ) A. if语句后面必须有else部分 B. if语句的执行体必须用花括号括起来 C. if语句的条件表达式值为0时执行其后的语句 D. if语句中的条件表达式必须用圆括号括起来 2. C语言中,if与else的配对原则是( ) A. else与同一行上的if配对 B. else与距离它最近的未配对的if配对 C. else与缩进对齐的if配对 D. else与第一个if配对 3. 以下能正确判断x为偶数的if条件是( ) A. if (x % 2 == 0) B. if (x % 2) C. if (x / 2 == 0) D. if (x % 2 = 0) 4. 以下代码段的输出结果是 int a = 3; if (a = 2) printf("%d", a); else printf("%d", a+1);( ) A. 3 B. 4 C. 2 D. 编译错误 5. 以下代码段的输出结果是 int x = 5; if (x > 3) if (x < 4) printf("A"); else printf("B"); else printf("C");( ) A. A B. C C. AB D. B 6. 以下代码段的输出结果是 int a = 1, b = 2; if (a > 0) a = a + 1; b = b + 1; printf("%d %d", a, b);( ) A. 1 2 B. 2 2 C. 2 3 D. 1 3 7. 以下代码段的输出结果是 int x = -1; if (x) printf("YES"); else printf("NO");( ) A. YES B. NO C. 编译错误 D. 无输出 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int a = 10, b = 20, c; if (a > b) c = a; else c = b; printf("%d ", c); return 0; } 三、案例分析题 9. 以下程序的功能是:输入一个整数,如果是正数输出"positive",如果是负数输出"negative",如果是0输出"zero"。请填空。 #include <stdio.h> int main() { int n; scanf("%d", &n); if (【1】) printf("positive "); else if (【2】) printf("negative "); else printf("zero "); return 0; } 四、综合应用题 10. 编写一个C程序:从键盘输入一个整数,判断它是奇数还是偶数,并输出判断结果。如果是偶数输出"even",如果是奇数输出"odd"。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第9练,内容是3.2 if语句、if...else语句。 《C语言》(第五版)一课一练 第9练 3.2 if语句、if...else语句 一、单选题 1. 以下关于if语句的叙述,正确的是( ) A. if语句后面必须有else部分 B. if语句的执行体必须用花括号括起来 C. if语句的条件表达式值为0时执行其后的语句 D. if语句中的条件表达式必须用圆括号括起来 【答案】D 【解析】if语句的语法规定条件表达式必须放在圆括号中。if可以没有else部分,所以A错误。当执行体为单条语句时花括号可省略,B错误。条件为非0时执行后面的语句,C错误。 2. C语言中,if与else的配对原则是( ) A. else与同一行上的if配对 B. else与距离它最近的未配对的if配对 C. else与缩进对齐的if配对 D. else与第一个if配对 【答案】B 【解析】C语言规定else总是与距离它最近的、还没有和其他else配对的if进行配对。这个规则与书写格式和缩进无关,因此缩进对齐不能决定配对关系。A和D的配对方式都不符合C语言语法规则。 3. 以下能正确判断x为偶数的if条件是( ) A. if (x % 2 == 0) B. if (x % 2) C. if (x / 2 == 0) D. if (x % 2 = 0) 【答案】A 【解析】判断偶数应看x除以2的余数是否为0。x%2==0是正确的判断条件。B选项x%2在x为偶数时值为0即假,逻辑相反。C选项x/2==0在x为0和1时才成立,不是偶数判断。D选项使用了赋值号=而非比较号==,语法错误。 4. 以下代码段的输出结果是 int a = 3; if (a = 2) printf("%d", a); else printf("%d", a+1);( ) A. 3 B. 4 C. 2 D. 编译错误 【答案】C 【解析】if(a=2)是赋值语句而非比较语句,将2赋给a后a变为2,赋值表达式的值为2即非0,条件为真。因此执行printf输出a的值2。这是一个常见的编程错误,把==写成了=,编译器不会报错但逻辑与预期不同。 5. 以下代码段的输出结果是 int x = 5; if (x > 3) if (x < 4) printf("A"); else printf("B"); else printf("C");( ) A. A B. C C. AB D. B 【答案】D 【解析】else与最近的未配对if配对。第一个else与if(x<4)配对,第二个else与if(x>3)配对。x为5,x>3成立进入内层判断,x<4即5<4不成立,执行第一个else输出B。第二个else不执行。 6. 以下代码段的输出结果是 int a = 1, b = 2; if (a > 0) a = a + 1; b = b + 1; printf("%d %d", a, b);( ) A. 1 2 B. 2 2 C. 2 3 D. 1 3 【答案】C 【解析】if语句没有花括号时,其执行体到第一条语句为止。a=a+1属于if的执行体,b=b+1不属于if执行体,无论条件真假都会执行。a>0成立,a变为2。b=b+1无条件执行,b变为3。输出2 3。这体现了花括号的重要性。 7. 以下代码段的输出结果是 int x = -1; if (x) printf("YES"); else printf("NO");( ) A. YES B. NO C. 编译错误 D. 无输出 【答案】A 【解析】if语句判断条件是否为非0值。-1是非0值,条件为真,执行printf输出YES。C语言中任何非0值都视为真,包括负数。0才被视为假。因此输出YES而不是NO。 二、简答题 8. 以下程序的运行结果是【 】。 #include <stdio.h> int main() { int a = 10, b = 20, c; if (a > b) c = a; else c = b; printf("%d ", c); return 0; } 【答案】20 【解析】a的值为10,b的值为20,a>b即10>20不成立,条件为假。执行else分支,c=b即c=20。最后输出c的值为20。这个程序的功能是求两个数中的较大值。 三、案例分析题 9. 以下程序的功能是:输入一个整数,如果是正数输出"positive",如果是负数输出"negative",如果是0输出"zero"。请填空。 #include <stdio.h> int main() { int n; scanf("%d", &n); if (【1】) printf("positive "); else if (【2】) printf("negative "); else printf("zero "); return 0; } 【答案】【1】n > 0 【2】n < 0 【解析】程序使用多分支if...else if...else结构。第一个条件判断n是否为正数,填n>0。第二个条件在第一个不成立时判断n是否为负数,填n<0。当n既不大于0也不小于0时,n必定等于0,由else分支处理输出zero。 四、综合应用题 10. 编写一个C程序:从键盘输入一个整数,判断它是奇数还是偶数,并输出判断结果。如果是偶数输出"even",如果是奇数输出"odd"。 【答案】#include <stdio.h> int main() { int n; scanf("%d", &n); if (n % 2 == 0) printf("even "); else printf("odd "); return 0; } 【解析】判断奇偶性的关键是取余运算n%2。当n除以2余数为0时n是偶数,输出even。余数不为0时n是奇数,输出odd。使用if...else语句即可实现两种情况的分支处理。取余运算的结果为0和1,判断条件用==0与0比较。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

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