内容正文:
编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共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'范围内的字母,程序会输出什么?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$