《C语言程序设计》(三)分支结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第47卷

2024-08-08
| 2份
| 19页
| 101人阅读
| 2人下载

内容正文:

编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。 本试卷是重庆市《计算机类考纲百套卷》的第47卷,是知识点训练卷,按考纲中《C语言程序设计》---(三)分支结构程序设计的1-2要求编写。其两点要求是:1.掌握if语句,if else 语句,if else if 语句, if语句的嵌套(else 和if 的配对原则);说明: if 语句的嵌套仅限两层。2.掌握多分支语句 switch 的应用;说明:只要求一层 switch 的应用。 重庆市《计算机类考纲百套卷》 第47卷 C语言程序设计 (三)分支结构程序设计 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、填空题(本大题共15小题,每题2分,共30分) 1. if语句的格式为:if (条件表达式) { _________; }。 【答案】语句块 2. 当if语句的条件表达式为真时,执行___________;否则执行else后面的语句块。 【答案】if后面的语句块 3. if else if 语句可以用于实现___________。 【答案】多条件判断 4. 在嵌套的if语句中,else子句总是与离它最近的且未配对的___________配对。 【答案】if 5. 以下是一个if else if语句的例子:if (a > b) { ___________; } else if (a < b) { printf("a小于b"); }。 【答案】printf("a大于b"); 6. switch语句中的case后面必须跟一个___________。 【答案】常量表达式 7. switch语句中的default子句是___________的。 【答案】可选的 8. 当switch语句中的某个case匹配成功后,如果没有遇到___________,则会继续执行后续的case语句。 【答案】break 9. 在以下switch语句中,当x等于2时,会输出什么?switch(x) { case 1: printf("1"); break; case 2: ___________; case 3: printf("3"); }。 【答案】printf("2"); 10. switch语句不能用于处理___________类型的条件表达式。 【答案】浮点型(或字符串型) 11.在关系运算和逻辑运算中,如果结果为真,则表达式的值为__________,否则为0。 【答案】 1 12.if语句和switch语句属于分支结构。分支结构的特点是语句由多条_______构成,在程序的一次运行过程中,通常只有其中一条分支的语句被执行,而其他分支上的语句则被跳过。 【答案】 分支 13.”A&&B”的含义为_______。 【答案】 A和B的逻辑与 14.”A||B”的含义为_______。 【答案】 A和B的逻辑或 15.若a=7,b=6,c=12,则表达式”a+b<c&&a>b”的值为________。 【答案】 0 二、单项选择题(本大题共15小题,每题2分,共30分) 1. 关于if语句,以下描述正确的是( )。 A. if语句后面必须跟着一个布尔表达式 B. if语句后面可以不跟大括号 C. if语句中的布尔表达式必须用双引号括起来 D. if语句可以没有else分支 【答案】D 2. 下面哪个选项是if else if语句的正确写法?( ) A. if (condition) statement1; else if (condition) statement2; B. if (condition) statement1; else if (condition) statement2 C. if (condition) statement1; else if (condition) { statement2; } D. if (condition) { statement1; } else if (condition) { statement2; } 【答案】D 3. 关于else和if的配对原则,以下描述正确的是( )。 A. else总是与最近的if配对 B. else可以与任意一个if配对 C. else必须与第一个if配对 D. else可以与多个if配对 【答案】A 4. 下面关于if语句嵌套的说法,错误的是( )。 A. if语句嵌套可以无限层 B. if语句嵌套最多两层 C. if语句嵌套可以提高程序的可读性 D. if语句嵌套可以使程序结构更清晰 【答案】A 5. 以下哪个选项是switch语句的正确写法?( ) A. switch (expression) { case value: statement; break; } B. switch (expression) { case value; statement; break; } C. switch (expression) { case value: statement; } D. switch (expression) { case value: statement; default: statement; } 【答案】A 6. 在switch语句中,default关键字的作用是( )。 A. 表示switch语句的开始 B. 表示switch语句的结束 C. 当所有case都不匹配时执行的代码块 D. 必须放在所有case之前 【答案】C 7. 下面关于switch语句的描述,错误的是( )。 A. switch语句中的表达式只能是整型或字符型 B. switch语句中的case后面必须跟常量表达式 C. switch语句中的break语句是必须的 D. switch语句中可以有多个default分支 【答案】D 8. 在以下哪个场景下,使用if else if语句比switch语句更合适?( ) A. 根据不同的数值范围执行不同的代码块 B. 根据不同的字符执行不同的代码块 C. 根据不同的字符串执行不同的代码块 D. 根据不同的布尔值执行不同的代码块 【答案】A 9. 下面关于分支结构程序设计的描述,错误的是( )。 A. if语句和switch语句都可以实现多分支选择 B. if语句和switch语句可以相互嵌套使用 C. if语句和switch语句在功能上是等价的 D. if语句和switch语句都可以实现简单的条件判断 【答案】C 10. 在以下代码中,输出结果为“Hello, World!”的是( )。 A. int x = 10; if (x > 10) printf("Hello, "); else if (x == 10) printf("World!"); B. int x = 10; if (x > 10) printf("Hello, "); else if (x < 10) printf("World!"); C. int x = 10; if (x > 10) printf("Hello, "); else printf("World!"); D. int x = 10; if (x == 10) printf("Hello, "); else printf("World!"); 【答案】C 11.C语言对嵌套if语句的规定是:else总是与( )。 A.其之前最近的if配对 B.第一个if配对 C.缩进位置相同的if配对 D.其之前最近的且尚未配对的if配对 【答案】 D 12.如果在C语言的if语句中不使用大括号,那么它会如何运行?( ) A. 只有紧跟在if后的第一个语句被视为if的一部分 B. 所有紧跟在if后的语句都被视为if的一部分 C. 如果不使用大括号,代码无法编译 D. 结果是未定义的 【答案】 A 13.在C语言中,下列哪个符号是等于的意思?( ) A. == B. = C. != D. <= 【答案】 A 14.在C语言的if语句中,以下哪个条件表示“x小于10并且大于0”?( ) A. if (x < 10 && x > 0) B. if (x < 10 || x > 0) C. if (x > 0 && x < 10) D. if (x > 0 || x < 10) 【答案】 A 15.不合法的if语句是( )。 A.if(表达式)语句1else 语句2 B.if(表达式)语句 C.if(表达式1)语句1else if(表达式2)语句2else 语句3。 D.if 关系表达式 语1else语句2 【答案】 D 三、判断题(本大题共6小题,每题2分,共12分) 1. if语句可以单独使用,也可以与else语句搭配使用。( ) 【答案】√ 2. 在if语句的嵌套中,else子句总是与它上面最近的未配对的if语句配对。( ) 【答案】√ 3. if else if语句可以用于实现多分支选择结构。( ) 【答案】√ 4. switch语句中的case标签后必须跟一个常量表达式。( ) 【答案】√ 5. switch语句中的default子句是必须的。( ) 【答案】× 6. if语句的嵌套可以超过两层。( ) 【答案】× 四、程序填空题(本大题共2小题,每题8分,共16分) 1.#include <stdio.h> int main() { int score; printf("请输入分数:"); scanf("%d", &score); if (score >= 90) { printf("优秀 "); } else { // 请在此处填空 if (__________________) { printf("及格 "); } else { // 请在此处填空 ________________________; } } return 0; } 【答案】 (1)score >= 60 (2)printf("不及格 "); 2.#include <stdio.h> int main() { char grade; printf("请输入成绩等级(A, B, C, D, F):"); scanf(" %c", &grade); // 注意%c前的空格,用于忽略前面的空白字符 switch (grade) { case 'A': printf("优秀 "); break; case 'B': printf("良好 "); break; case 'C': // 请在此处填空 ________________________; break; case 'D': printf("及格 "); break; // 请在此处填空 ________________________; } return 0; } 【答案】 (1)printf("中等 "); (2)default: printf("无效的成绩等级 "); 五、阅读程序题(本大题共12分) 1.阅读以下C语言程序,回答问题。 #include <stdio.h> int main() { int number; printf("请输入一个整数:"); scanf("%d", &number); if (number > 0) { if (number % 2 == 0) { printf("这是一个正偶数。 "); } else { printf("这是一个正奇数。 "); } } else if (number < 0) { printf("这是一个负数。 "); } else { printf("这是零。 "); } char grade; printf("请输入一个字母成绩(A, B, C, D, F):"); scanf(" %c", &grade); switch (grade) { case 'A': printf("优秀 "); break; case 'B': printf("良好 "); break; case 'C': printf("中等 "); break; case 'D': printf("及格 "); break; case 'F': printf("不及格 "); break; default: printf("无效的成绩等级 "); break; } return 0; } 问题: (1)当用户输入一个正整数时,程序会输出什么? (2)如果用户输入的整数是负数,程序将如何响应? (3)当用户输入字母'A'时,switch语句将如何处理? (4)如果用户输入一个不在'A'到'F'范围内的字母,程序会输出什么? 【答案】 (1)如果用户输入一个正整数,程序会判断这个数是奇数还是偶数,并相应地输出“这是一个正偶数。”或“这是一个正奇数。” (2)如果用户输入的整数是负数,程序将输出“这是一个负数。” (3)当用户输入字母'A'时,switch语句将匹配case 'A',并输出“优秀”。 (4)如果用户输入一个不在'A'到'F'范围内的字母,程序将执行default子句,并输出“无效的成绩等级”。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。 本试卷是重庆市《计算机类考纲百套卷》的第47卷,是知识点训练卷,按考纲中《C语言程序设计》---(三)分支结构程序设计的1-2要求编写。其两点要求是:1.掌握if语句,if else 语句,if else if 语句, if语句的嵌套(else 和if 的配对原则);说明: if 语句的嵌套仅限两层。2.掌握多分支语句 switch 的应用;说明:只要求一层 switch 的应用。 重庆市《计算机类考纲百套卷》 第47卷 C语言程序设计 (三)分支结构程序设计 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、填空题(本大题共15小题,每题2分,共30分) 1. if语句的格式为:if (条件表达式) { _________; }。 2. 当if语句的条件表达式为真时,执行___________;否则执行else后面的语句块。 3. if else if 语句可以用于实现___________。 4. 在嵌套的if语句中,else子句总是与离它最近的且未配对的___________配对。 5. 以下是一个if else if语句的例子:if (a > b) { ___________; } else if (a < b) { printf("a小于b"); }。 6. switch语句中的case后面必须跟一个___________。 7. switch语句中的default子句是___________的。 8. 当switch语句中的某个case匹配成功后,如果没有遇到___________,则会继续执行后续的case语句。 9. 在以下switch语句中,当x等于2时,会输出什么?switch(x) { case 1: printf("1"); break; case 2: ___________; case 3: printf("3"); }。 10. switch语句不能用于处理___________类型的条件表达式。 11.在关系运算和逻辑运算中,如果结果为真,则表达式的值为__________,否则为0。 12.if语句和switch语句属于分支结构。分支结构的特点是语句由多条_______构成,在程序的一次运行过程中,通常只有其中一条分支的语句被执行,而其他分支上的语句则被跳过。 13.”A&&B”的含义为_______。 14.”A||B”的含义为_______。 15.若a=7,b=6,c=12,则表达式”a+b<c&&a>b”的值为________。 二、单项选择题(本大题共15小题,每题2分,共30分) 1. 关于if语句,以下描述正确的是( )。 A. if语句后面必须跟着一个布尔表达式 B. if语句后面可以不跟大括号 C. if语句中的布尔表达式必须用双引号括起来 D. if语句可以没有else分支 2. 下面哪个选项是if else if语句的正确写法?( ) A. if (condition) statement1; else if (condition) statement2; B. if (condition) statement1; else if (condition) statement2 C. if (condition) statement1; else if (condition) { statement2; } D. if (condition) { statement1; } else if (condition) { statement2; } 3. 关于else和if的配对原则,以下描述正确的是( )。 A. else总是与最近的if配对 B. else可以与任意一个if配对 C. else必须与第一个if配对 D. else可以与多个if配对 4. 下面关于if语句嵌套的说法,错误的是( )。 A. if语句嵌套可以无限层 B. if语句嵌套最多两层 C. if语句嵌套可以提高程序的可读性 D. if语句嵌套可以使程序结构更清晰 5. 以下哪个选项是switch语句的正确写法?( ) A. switch (expression) { case value: statement; break; } B. switch (expression) { case value; statement; break; } C. switch (expression) { case value: statement; } D. switch (expression) { case value: statement; default: statement; } 6. 在switch语句中,default关键字的作用是( )。 A. 表示switch语句的开始 B. 表示switch语句的结束 C. 当所有case都不匹配时执行的代码块 D. 必须放在所有case之前 7. 下面关于switch语句的描述,错误的是( )。 A. switch语句中的表达式只能是整型或字符型 B. switch语句中的case后面必须跟常量表达式 C. switch语句中的break语句是必须的 D. switch语句中可以有多个default分支 8. 在以下哪个场景下,使用if else if语句比switch语句更合适?( ) A. 根据不同的数值范围执行不同的代码块 B. 根据不同的字符执行不同的代码块 C. 根据不同的字符串执行不同的代码块 D. 根据不同的布尔值执行不同的代码块 9. 下面关于分支结构程序设计的描述,错误的是( )。 A. if语句和switch语句都可以实现多分支选择 B. if语句和switch语句可以相互嵌套使用 C. if语句和switch语句在功能上是等价的 D. if语句和switch语句都可以实现简单的条件判断 10. 在以下代码中,输出结果为“Hello, World!”的是( )。 A. int x = 10; if (x > 10) printf("Hello, "); else if (x == 10) printf("World!"); B. int x = 10; if (x > 10) printf("Hello, "); else if (x < 10) printf("World!"); C. int x = 10; if (x > 10) printf("Hello, "); else printf("World!"); D. int x = 10; if (x == 10) printf("Hello, "); else printf("World!"); 11.C语言对嵌套if语句的规定是:else总是与( )。 A.其之前最近的if配对 B.第一个if配对 C.缩进位置相同的if配对 D.其之前最近的且尚未配对的if配对 12.如果在C语言的if语句中不使用大括号,那么它会如何运行?( ) A. 只有紧跟在if后的第一个语句被视为if的一部分 B. 所有紧跟在if后的语句都被视为if的一部分 C. 如果不使用大括号,代码无法编译 D. 结果是未定义的 13.在C语言中,下列哪个符号是等于的意思?( ) A. == B. = C. != D. <= 14.在C语言的if语句中,以下哪个条件表示“x小于10并且大于0”?( ) A. if (x < 10 && x > 0) B. if (x < 10 || x > 0) C. if (x > 0 && x < 10) D. if (x > 0 || x < 10) 15.不合法的if语句是( )。 A.if(表达式)语句1else 语句2 B.if(表达式)语句 C.if(表达式1)语句1else if(表达式2)语句2else 语句3。 D.if 关系表达式 语1else语句2 三、判断题(本大题共6小题,每题2分,共12分) 1. if语句可以单独使用,也可以与else语句搭配使用。( ) 2. 在if语句的嵌套中,else子句总是与它上面最近的未配对的if语句配对。( ) 3. if else if语句可以用于实现多分支选择结构。( ) 4. switch语句中的case标签后必须跟一个常量表达式。( ) 5. switch语句中的default子句是必须的。( ) 6. if语句的嵌套可以超过两层。( ) 四、程序填空题(本大题共2小题,每题8分,共16分) 1.#include <stdio.h> int main() { int score; printf("请输入分数:"); scanf("%d", &score); if (score >= 90) { printf("优秀 "); } else { // 请在此处填空 if (__________________) { printf("及格 "); } else { // 请在此处填空 ________________________; } } return 0; } 2.#include <stdio.h> int main() { char grade; printf("请输入成绩等级(A, B, C, D, F):"); scanf(" %c", &grade); // 注意%c前的空格,用于忽略前面的空白字符 switch (grade) { case 'A': printf("优秀 "); break; case 'B': printf("良好 "); break; case 'C': // 请在此处填空 ________________________; break; case 'D': printf("及格 "); break; // 请在此处填空 ________________________; } return 0; } 五、阅读程序题(本大题共12分) 1.阅读以下C语言程序,回答问题。 #include <stdio.h> int main() { int number; printf("请输入一个整数:"); scanf("%d", &number); if (number > 0) { if (number % 2 == 0) { printf("这是一个正偶数。 "); } else { printf("这是一个正奇数。 "); } } else if (number < 0) { printf("这是一个负数。 "); } else { printf("这是零。 "); } char grade; printf("请输入一个字母成绩(A, B, C, D, F):"); scanf(" %c", &grade); switch (grade) { case 'A': printf("优秀 "); break; case 'B': printf("良好 "); break; case 'C': printf("中等 "); break; case 'D': printf("及格 "); break; case 'F': printf("不及格 "); break; default: printf("无效的成绩等级 "); break; } return 0; } 问题: (1)当用户输入一个正整数时,程序会输出什么? (2)如果用户输入的整数是负数,程序将如何响应? (3)当用户输入字母'A'时,switch语句将如何处理? (4)如果用户输入一个不在'A'到'F'范围内的字母,程序会输出什么? 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

《C语言程序设计》(三)分支结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第47卷
1
《C语言程序设计》(三)分支结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第47卷
2
《C语言程序设计》(三)分支结构程序设计 - 知识点训练卷 重庆市计算机类 考纲百套卷 第47卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。