内容正文:
编写说明:吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第7卷,是知识点训练卷。按“C语言程序设计”考试纲要(三)分支程序设计的三点知识点要求编写,其三点要求是:
1.掌握关系运算与逻辑运算2.掌握if语句的三种格式及编程3.理解switch语句及编程。
吉林省《信息工程类(电子与信息类)考纲百套卷》 第7卷
《C语言程序设计》
(三)分支程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.表达式 a != b == c 的等价形式是( )
A. a != (b == c)
B. (a != b) == c
C. a != b && b == c
D. a != b || b == c
答案:B
2.以下关于逻辑运算符的说法,正确的是( )
A. “&&” 是单目运算符
B. “||” 的优先级高于 “&&”
C. “!” 是单目运算符
D. “&&” 和 “||” 优先级高于关系运算符
答案:C
3.已知int a = 2, b = 3, c = 4;,则表达式a > b && b < c || a + b != c的值是( )
A. 0
B. 1
C. 2
D. -1
答案:B
4.以下代码段的输出结果是( )
int a = 5;
if (a > 6)
printf("大于 6");
printf("结束");
A. 大于 6
B. 结束
C. 大于 6 结束
D. 无输出
答案:B
5.以下代码段的输出结果是( )
int a = 1, b = 2;
if (a < b) {
if (a == 1)
printf("a 是 1 且小于 b");
}
else
printf("a 不小于 b");
A. a 是 1 且小于 b
B. a 不小于 b
C. a 是 1 且小于 b a 不小于 b
D. 无输出
答案:A
6.以下代码段的输出结果是( )
int a = 3, b = 4;
if (a > b) {
if (a > 0) {
printf("a 大且为正");
}
} else {
if (b > 0) {
printf("b 大且为正");
}
}
A. a 大且为正
B. b 大且为正
C. a 大且为正 b 大且为正
D. 无输出
答案:B
7.以下代码片段中,当输入 score 为 55 时,输出结果是( )
#include <stdio.h>
int main() {
int score;
scanf("%d", &score);
if (score >= 60) {
if (score >= 85)
printf("优秀");
else
printf("及格");
} else {
if (score >= 30)
printf("接近及格");
else
printf("差");
}
return 0;
}
A. 优秀
B. 及格
C. 接近及格
D. 差
答案:C
8. 以下 switch 语句中,default 分支的作用是( )
int num = 5;
switch (num) {
case 1: printf("1"); break;
case 2: printf("2"); break;
default: printf("其他");
}
A. 当 num 的值为 1 或 2 时执行
B. 当 num 的值不为 1 和 2 时执行
C. 无论 num 的值是什么都执行
D. 以上都不对
答案:B
9. 若 switch 语句的表达式为字符型变量 ch,以下 case 语句合法的是( )
A. case 'a':
B. case "a":
C. case ch:
D. case 1 + 'a':
答案:A
10. 在 switch 语句中,break 语句的作用是( )
A. 结束整个程序
B. 结束当前 case 分支
C. 跳出 switch 语句
D. 跳过后续所有 case 分支
答案:C
二、判断题(本大题共10小题,每小题2分,共20分)
1.关系运算符 “<” 和 “<=” 的优先级不同。( )
答案:错误
2.关系运算符的优先级高于算术运算符。( )
答案:错误
3.在 C 语言中,若有表达式(a = 3) > 2,因为先执行赋值操作,所以该表达式值为 1。( )
答案:正确
4.以下代码中
if (a = 5)
printf("a 为 5");
这段代码会因为语法错误而无法编译。( )
答案:错误
5.在多分支 if - else if - else 结构中,一旦某个条件成立并执行了相应语句,后续的条件判断将不再进行。( )
答案:正确
6.若 if 语句的 “表达式” 是一个赋值表达式,程序会出现语法错误。( )
答案:错误
7.在 if - else if - else 结构中,else if 子句的数量没有限制,但 else 子句最多只能有一个。( )
答案:正确
8.switch 语句中 case 后面的常量表达式可以是浮点数。( )
答案:错误
9.switch 语句中的 case 分支可以没有执行语句。( )
答案:正确
10.switch 语句的效率一定比 if - else if - else 语句高。( )
答案:错误
三、填空题(本大题共5小题,每题2分,共10分)
1.表达式 (3 == 4) || (5 > 4) 的值为( )。
答案:1
2.已知int x = 5, y = 8;,在关系表达式x + 3 <= y中,该表达式的值为______。
答案:1
3.在 if (表达式) 语句; 格式中,若 “表达式” 的值为________,则执行 “语句”。
答案:非零
4.已知变量 x 和 y,若要判断 x 大于 y 且 x 是偶数,对应的 if 语句的 “表达式” 应该是 ________。
答案:x > y && x % 2 == 0
5.switch 语句中,case 后面的常量表达式之间用 ________ 分隔。
答案:冒号
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 4, b = 6;
if (a < b) {
if (a % 2 == 0) {
if (b % 3 == 0)
printf("满足所有条件
");
}
}
return 0;
}
答案:满足所有条件
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 1, b = 2, c = 3;
if ((a > b) || (b < c))
printf("条件成立
");
else
printf("条件不成立
");
return 0;
}
答案:条件成立
3.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int n = 4;
switch (n) {
case 1: case 2: printf("小
"); break;
case 3: case 4: printf("中
"); break;
default: printf("大
");
}
return 0;
}
答案:中
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 7, b = 3;
if ((a - b > 3) && (a + b < 12))
printf("条件满足
");
else
printf("条件不满足
");
return 0;
}
答案:条件满足
5.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 5, b = 8;
if ((a < b) && (b % a != 0))
printf("满足条件
");
else
printf("不满足条件
");
return 0;
}
答案:满足条件
五、编程题(本大题共5小题,每题5分,共25分)
1. 输入一个整数,判断它是否能同时被 3 和 5 整除,并且不能被 7 整除。
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (num % 3 == 0 && num % 5 == 0 && num % 7 != 0) {
printf("%d 能同时被 3 和 5 整除,且不能被 7 整除。
", num);
} else {
printf("%d 不满足条件。
", num);
}
return 0;
}
2. 输入一个学生的成绩,根据成绩输出对应的等级:90 - 100 为优秀,80 - 89 为良好,70 - 79 为中等,60 - 69 为及格,0 - 59 为不及格。
#include <stdio.h>
int main() {
int score;
printf("请输入学生的成绩: ");
scanf("%d", &score);
if (score >= 90 && score <= 100) {
printf("优秀
");
} else if (score >= 80 && score <= 89) {
printf("良好
");
} else if (score >= 70 && score <= 79) {
printf("中等
");
} else if (score >= 60 && score <= 69) {
printf("及格
");
} else if (score >= 0 && score <= 59) {
printf("不及格
");
} else {
printf("输入的成绩无效。
");
}
return 0;
}
3. 输入一个整数,判断它是否是水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
#include <stdio.h>
int main() {
int num, originalNum, remainder, result = 0;
printf("请输入一个三位数: ");
scanf("%d", &num);
if (num < 100 || num > 999) { // 新增校验逻辑
printf("输入的不是三位数!
");
return 0;
}
originalNum = num;
while (originalNum != 0) {
remainder = originalNum % 10;
result += remainder * remainder * remainder;
originalNum /= 10;
}
if (result == num) {
printf("%d 是水仙花数。
", num);
} else {
printf("%d 不是水仙花数。
", num);
}
return 0;
}
4. 输入一个整数,输出它的绝对值。
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if (num < 0) {
num = -num;
}
printf("该整数的绝对值是: %d
", num);
return 0;
}
5. 输入一个整数,判断它是否在区间 [10, 20] 或 [30, 40] 内。
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数: ");
scanf("%d", &num);
if ((num >= 10 && num <= 20) || (num >= 30 && num <= 40)) {
printf("%d 在区间 [10, 20] 或 [30, 40] 内。
", num);
} else {
printf("%d 不在区间 [10, 20] 或 [30, 40] 内。
", num);
}
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》,依据吉林省高职分类(对口招生)考试各类专业综合卷考试科目及纲要(2021版),种信息工程类(电子与信息类)专业综合卷考试科目及纲要编写。本专辑共150份试卷两部分组成,第一部分是按考纲的考点要求编写的120份知识点训练卷,第二部分是针对6门课程的掌握要求,编写的30份常考题训练卷。
本试卷是吉林省高职分类考试《信息工程类(电子与信息类)考纲百套卷》的第7卷,是知识点训练卷。按“C语言程序设计”考试纲要(三)分支程序设计的三点知识点要求编写,其三点要求是:
1.掌握关系运算与逻辑运算2.掌握if语句的三种格式及编程3.理解switch语句及编程。
吉林省《信息工程类(电子与信息类)考纲百套卷》 第7卷
《C语言程序设计》
(三)分支程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、选择题(本大题共10小题,每小题2分,共20分)
1.表达式 a != b == c 的等价形式是( )
A. a != (b == c)
B. (a != b) == c
C. a != b && b == c
D. a != b || b == c
2.以下关于逻辑运算符的说法,正确的是( )
A. “&&” 是单目运算符
B. “||” 的优先级高于 “&&”
C. “!” 是单目运算符
D. “&&” 和 “||” 优先级高于关系运算符
3.已知int a = 2, b = 3, c = 4;,则表达式a > b && b < c || a + b != c的值是( )
A. 0
B. 1
C. 2
D. -1
4.以下代码段的输出结果是( )
int a = 5;
if (a > 6)
printf("大于 6");
printf("结束");
A. 大于 6
B. 结束
C. 大于 6 结束
D. 无输出
5.以下代码段的输出结果是( )
int a = 1, b = 2;
if (a < b) {
if (a == 1)
printf("a 是 1 且小于 b");
}
else
printf("a 不小于 b");
A. a 是 1 且小于 b
B. a 不小于 b
C. a 是 1 且小于 b a 不小于 b
D. 无输出
6.以下代码段的输出结果是( )
int a = 3, b = 4;
if (a > b) {
if (a > 0) {
printf("a 大且为正");
}
} else {
if (b > 0) {
printf("b 大且为正");
}
}
A. a 大且为正
B. b 大且为正
C. a 大且为正 b 大且为正
D. 无输出
7.以下代码片段中,当输入 score 为 55 时,输出结果是( )
#include <stdio.h>
int main() {
int score;
scanf("%d", &score);
if (score >= 60) {
if (score >= 85)
printf("优秀");
else
printf("及格");
} else {
if (score >= 30)
printf("接近及格");
else
printf("差");
}
return 0;
}
A. 优秀
B. 及格
C. 接近及格
D. 差
8. 以下 switch 语句中,default 分支的作用是( )
int num = 5;
switch (num) {
case 1: printf("1"); break;
case 2: printf("2"); break;
default: printf("其他");
}
A. 当 num 的值为 1 或 2 时执行
B. 当 num 的值不为 1 和 2 时执行
C. 无论 num 的值是什么都执行
D. 以上都不对
9. 若 switch 语句的表达式为字符型变量 ch,以下 case 语句合法的是( )
A. case 'a':
B. case "a":
C. case ch:
D. case 1 + 'a':
10. 在 switch 语句中,break 语句的作用是( )
A. 结束整个程序
B. 结束当前 case 分支
C. 跳出 switch 语句
D. 跳过后续所有 case 分支
二、判断题(本大题共10小题,每小题2分,共20分)
1.关系运算符 “<” 和 “<=” 的优先级不同。( )
2.关系运算符的优先级高于算术运算符。( )
3.在 C 语言中,若有表达式(a = 3) > 2,因为先执行赋值操作,所以该表达式值为 1。( )
4.以下代码中
if (a = 5)
printf("a 为 5");
这段代码会因为语法错误而无法编译。( )
5.在多分支 if - else if - else 结构中,一旦某个条件成立并执行了相应语句,后续的条件判断将不再进行。( )
6.若 if 语句的 “表达式” 是一个赋值表达式,程序会出现语法错误。( )
7.在 if - else if - else 结构中,else if 子句的数量没有限制,但 else 子句最多只能有一个。( )
8.switch 语句中 case 后面的常量表达式可以是浮点数。( )
9.switch 语句中的 case 分支可以没有执行语句。( )
10.switch 语句的效率一定比 if - else if - else 语句高。( )
三、填空题(本大题共5小题,每题2分,共10分)
1.表达式 (3 == 4) || (5 > 4) 的值为( )。
2.已知int x = 5, y = 8;,在关系表达式x + 3 <= y中,该表达式的值为______。
3.在 if (表达式) 语句; 格式中,若 “表达式” 的值为________,则执行 “语句”。
4.已知变量 x 和 y,若要判断 x 大于 y 且 x 是偶数,对应的 if 语句的 “表达式” 应该是 ________。
5.switch 语句中,case 后面的常量表达式之间用 ________ 分隔。
四、读程序写结果题(本大题共5小题,每题5分,共25分)
1.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 4, b = 6;
if (a < b) {
if (a % 2 == 0) {
if (b % 3 == 0)
printf("满足所有条件
");
}
}
return 0;
}
2.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 1, b = 2, c = 3;
if ((a > b) || (b < c))
printf("条件成立
");
else
printf("条件不成立
");
return 0;
}
3.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int n = 4;
switch (n) {
case 1: case 2: printf("小
"); break;
case 3: case 4: printf("中
"); break;
default: printf("大
");
}
return 0;
}
4.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 7, b = 3;
if ((a - b > 3) && (a + b < 12))
printf("条件满足
");
else
printf("条件不满足
");
return 0;
}
5.以下程序的运行结果是______。
#include <stdio.h>
int main() {
int a = 5, b = 8;
if ((a < b) && (b % a != 0))
printf("满足条件
");
else
printf("不满足条件
");
return 0;
}
五、编程题(本大题共5小题,每题5分,共25分)
1. 输入一个整数,判断它是否能同时被 3 和 5 整除,并且不能被 7 整除。
2. 输入一个学生的成绩,根据成绩输出对应的等级:90 - 100 为优秀,80 - 89 为良好,70 - 79 为中等,60 - 69 为及格,0 - 59 为不及格。
3. 输入一个整数,判断它是否是水仙花数。水仙花数是指一个三位数,其各位数字的立方和等于该数本身。
4. 输入一个整数,输出它的绝对值。
5. 输入一个整数,判断它是否在区间 [10, 20] 或 [30, 40] 内。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$