内容正文:
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第29卷,是知识点训练卷,其编写要求如下:
(1)掌握关系运算符和关系表达式;
(2)熟悉逻辑运算符和逻辑表达式;
(3)掌握 if 语句的使用;
(4)了解条件运算符和条件表达式;
(5)掌握 switch 语句的使用。
广西《电子与信息类考纲百套卷》 第29卷
《程序设计基础》
3.选择结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.已知x=5,y=3,z=2,表达式x%y >= z && y != z的结果是( )
A. 0
B. 1
C. 2
D. 不确定
2.以下与!(x <= 5)等价的表达式是( )
A. x > 5
B. x >= 5
C. x < 5
D. x != 5
3.表达式(3 > 5) + (4 != 3) 的值是( )
A. 0
B. 1
C. 2
D. 3
4.表达式!!5的值是( )
A. -2
B. -1
C. 0
D. 1
5.表达式5 && 0 || 3 的结果是( )
A. 0
B. 1
C. 3
D. 5
6. 表达式!(3 < 5) || (2 >= 2) 的结果是( )
A. 1
B. -1
C. 2
D. -2
7. 表达式(5 > 3) + (2 == 3) 的值是( )
A. 0
B. 1
C. 2
D. 3
8. 表达式(10 < 5) ? 10 : 5 的结果是( )
A. -5
B. -1
C. 1
D. 5
9.以下代码段的输出是( )
int a = 0;
if (a = 1)
printf("True");
else
printf("False");
A. True
B. False
C. 编译错误
D. 无输出
10.以下代码段的输出是( )
int x = 10;
printf("%d", x > 5 ? x/2 : x*2);
A. 5
B. 20
C. 10
D. 2
11.以下代码段的输出是( )
float f = 0.1f;
if (f == 0.1)
printf("A");
else
printf("B");
A. A
B. B
C. 编译错误
D. 不确定
12.以下代码段的语法错误是( )
int a = 5;
if (a % 2 = 0)
printf("Even");
A. 条件中误用赋值运算符
B. printf缺少分号
C. 变量未定义
D. 无错误
13.以下代码段的输出是( )
int a = 0;
if (a = 1)
printf("True");
else if (a = 0)
printf("False");
A. True
B. False
C. 编译错误
D. TrueFalse
14.以下代码段的输出是( )
int a = 1, b = 2;
if (a, b)
printf("%d", a + b);
A. 3
B. 1
C. 2
D. 编译错误
15.以下代码的输出是( )
char c = 'A';
switch (c) {
case 'A': printf("1");
case 65: printf("2");
default: printf("3");
}
A. 1
B. 12
C. 123
D. 编译错误
16.以下代码的输出是( )
int x = 2;
switch (x) {
case 1: x = 10;
case 2: x = 20;
case 3: x = 30;
}
printf("%d", x);
A. 2
B. 20
C. 30
D. 10
17.以下代码的输出是( )
enum color { RED = 1, GREEN, BLUE };
enum color c = GREEN;
switch (c) {
case RED: printf("R"); break;
case GREEN: printf("G"); break;
case BLUE: printf("B"); break;
}
A. R
B. G
C. B
D. 编译错误
18.以下代码的输出是( )
int x = 2;
switch (x << 1) { // x左移1位(即乘以2)
case 2: printf("A"); break;
case 4: printf("B"); break;
default: printf("C");
}
A. A
B. B
C. C
D. 编译错误
19.以下代码的输出是( )
int x = 1;
switch (x) {
case 1:
printf("A");
return 0;
case 2:
printf("B");
}
printf("C");
A. A
B. AC
C. A C
D. 无输出
20.以下代码的输出是( )
int x = 5;
switch (x) {
default: printf("D");
case 1: printf("A");
case 2: printf("B");
}
A. D
B. B
C. AB
D. DAB
二、判断题(本大题共10小题,每小题1分,共10分)
1.表达式 0 || !5 的值为1( )
2.(x != y) 与 !(x == y) 完全等价( )
3.5 + 3 < 10 && 2 * 4 == 8 的值为1( )
4.表达式 !(-5) + !!5 的值为1( )
5.(a > b) - (a < b) 可以替代三目运算符判断a和b大小( )
6.条件表达式 a ? b : c = d 等价于 a ? b : (c = d)( )
7.switch (1) { case 1: if (x) { ... } } 中的if语句可以省略大括号( )
8.case标签后的值可以是变量( )
9.case标签的值可以重复(( )
10.case标签后的常量表达式可以包含运算符( )
三、填空题(本大题共5小题,每题3分,共15分)
1.表达式 ~3 & 0x0F 的值为 ______(用十进制表示)
2.设 int x = 2, y = 3;,表达式 (x != y) && (x + y >= 5) 的值是______。
3.设 int x = 10, y = 20;,表达式 (x < y)? (x + 5) : (y - 5) 的值是______。
4.表达式 5 > 3 的结果是________。
5.以下代码的输出是________ 。
char c = 'B';
switch (c) {
case 'A': printf("1");
case 66: printf("2"); // 'B'的ASCII码为66
default: printf("3");
}
四、应用题(本大题共2小题,共15分)
1.补全代码,根据输入的数字 num 输出对应的星期几,若输入不在 1 - 7 范围内,输出 "Invalid input"。
#include <stdio.h>
int main() {
int num;
printf("请输入一个1 - 7的数字: ");
scanf("%d", &num);
_____________ {
case 1:
printf("Monday
");
break;
case 2:
printf("Tuesday
");
break;
case 3:
printf("Wednesday
");
break;
case 4:
printf("Thursday
");
break;
case 5:
printf("Friday
");
break;
case 6:
printf("Saturday
");
break;
case 7:
printf("Sunday
");
break;
_____________
printf("Invalid input
");
}
return 0;
}
2.补全代码,判断输入的整数 n 是否为正数、负数或零。
#include <stdio.h>
int main() {
int n;
printf("请输入一个整数: ");
scanf("%d", &n);
if (n > 0) {
_____________
} _____________ (n < 0) {
printf("负数
");
} _____________ {
printf("零
");
}
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
编写说明:广西《电子与信息大类考纲百套卷》,是依据广西《高等职业教育考试大纲与说明(电子与信息大类)》2026版编写。本套试卷共100份,由三个部分组成。第一部分是按考点要求编写的60份知识点训练卷;第二部分是针对三门课程编写的30份常考题训练卷;第三个部分是10份专业知识综合训练卷。
本试卷是广西《电子与信息大类考纲百套卷》的第29卷,是知识点训练卷,其编写要求如下:
(1)掌握关系运算符和关系表达式;
(2)熟悉逻辑运算符和逻辑表达式;
(3)掌握 if 语句的使用;
(4)了解条件运算符和条件表达式;
(5)掌握 switch 语句的使用。
广西《电子与信息类考纲百套卷》 第29卷
《程序设计基础》
3.选择结构程序设计-知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每小题3分,共60分)
1.已知x=5,y=3,z=2,表达式x%y >= z && y != z的结果是( )
A. 0
B. 1
C. 2
D. 不确定
答案:B
2.以下与!(x <= 5)等价的表达式是( )
A. x > 5
B. x >= 5
C. x < 5
D. x != 5
答案:A
3.表达式(3 > 5) + (4 != 3) 的值是( )
A. 0
B. 1
C. 2
D. 3
答案:B
4.表达式!!5的值是( )
A. -2
B. -1
C. 0
D. 1
答案:D
5.表达式5 && 0 || 3 的结果是( )
A. 0
B. 1
C. 3
D. 5
答案:B
6. 表达式!(3 < 5) || (2 >= 2) 的结果是( )
A. 1
B. -1
C. 2
D. -2
答案:A
7. 表达式(5 > 3) + (2 == 3) 的值是( )
A. 0
B. 1
C. 2
D. 3
答案:B
8. 表达式(10 < 5) ? 10 : 5 的结果是( )
A. -5
B. -1
C. 1
D. 5
答案:D
9.以下代码段的输出是( )
int a = 0;
if (a = 1)
printf("True");
else
printf("False");
A. True
B. False
C. 编译错误
D. 无输出
答案:A
10.以下代码段的输出是( )
int x = 10;
printf("%d", x > 5 ? x/2 : x*2);
A. 5
B. 20
C. 10
D. 2
答案:A
11.以下代码段的输出是( )
float f = 0.1f;
if (f == 0.1)
printf("A");
else
printf("B");
A. A
B. B
C. 编译错误
D. 不确定
答案:B
12.以下代码段的语法错误是( )
int a = 5;
if (a % 2 = 0)
printf("Even");
A. 条件中误用赋值运算符
B. printf缺少分号
C. 变量未定义
D. 无错误
答案:A
13.以下代码段的输出是( )
int a = 0;
if (a = 1)
printf("True");
else if (a = 0)
printf("False");
A. True
B. False
C. 编译错误
D. TrueFalse
答案:A
14.以下代码段的输出是( )
int a = 1, b = 2;
if (a, b)
printf("%d", a + b);
A. 3
B. 1
C. 2
D. 编译错误
答案:A
15.以下代码的输出是( )
char c = 'A';
switch (c) {
case 'A': printf("1");
case 65: printf("2");
default: printf("3");
}
A. 1
B. 12
C. 123
D. 编译错误
答案:D
16.以下代码的输出是( )
int x = 2;
switch (x) {
case 1: x = 10;
case 2: x = 20;
case 3: x = 30;
}
printf("%d", x);
A. 2
B. 20
C. 30
D. 10
答案:C
17.以下代码的输出是( )
enum color { RED = 1, GREEN, BLUE };
enum color c = GREEN;
switch (c) {
case RED: printf("R"); break;
case GREEN: printf("G"); break;
case BLUE: printf("B"); break;
}
A. R
B. G
C. B
D. 编译错误
答案:B
18.以下代码的输出是( )
int x = 2;
switch (x << 1) { // x左移1位(即乘以2)
case 2: printf("A"); break;
case 4: printf("B"); break;
default: printf("C");
}
A. A
B. B
C. C
D. 编译错误
答案:B
19.以下代码的输出是( )
int x = 1;
switch (x) {
case 1:
printf("A");
return 0;
case 2:
printf("B");
}
printf("C");
A. A
B. AC
C. A C
D. 无输出
答案:A
20.以下代码的输出是( )
int x = 5;
switch (x) {
default: printf("D");
case 1: printf("A");
case 2: printf("B");
}
A. D
B. B
C. AB
D. DAB
答案:D
二、判断题(本大题共10小题,每小题1分,共10分)
1.表达式 0 || !5 的值为1( )
答案:×
2.(x != y) 与 !(x == y) 完全等价( )
答案:√
3.5 + 3 < 10 && 2 * 4 == 8 的值为1( )
答案:√
4.表达式 !(-5) + !!5 的值为1( )
答案:√
5.(a > b) - (a < b) 可以替代三目运算符判断a和b大小( )
答案:√
6.条件表达式 a ? b : c = d 等价于 a ? b : (c = d)( )
答案:×
7.switch (1) { case 1: if (x) { ... } } 中的if语句可以省略大括号( )
答案:√
8.case标签后的值可以是变量( )
答案:×
9.case标签的值可以重复(( )
答案:×
10.case标签后的常量表达式可以包含运算符( )
答案:√
三、填空题(本大题共5小题,每题3分,共15分)
1.表达式 ~3 & 0x0F 的值为 ______(用十进制表示)
答案:12
2.设 int x = 2, y = 3;,表达式 (x != y) && (x + y >= 5) 的值是______。
答案:1
3.设 int x = 10, y = 20;,表达式 (x < y)? (x + 5) : (y - 5) 的值是______。
答案:15
4.表达式 5 > 3 的结果是________。
答案:1
5.以下代码的输出是________ 。
char c = 'B';
switch (c) {
case 'A': printf("1");
case 66: printf("2"); // 'B'的ASCII码为66
default: printf("3");
}
答案:23
四、应用题(本大题共2小题,共15分)
1.补全代码,根据输入的数字 num 输出对应的星期几,若输入不在 1 - 7 范围内,输出 "Invalid input"。
#include <stdio.h>
int main() {
int num;
printf("请输入一个1 - 7的数字: ");
scanf("%d", &num);
_____________ {
case 1:
printf("Monday
");
break;
case 2:
printf("Tuesday
");
break;
case 3:
printf("Wednesday
");
break;
case 4:
printf("Thursday
");
break;
case 5:
printf("Friday
");
break;
case 6:
printf("Saturday
");
break;
case 7:
printf("Sunday
");
break;
_____________
printf("Invalid input
");
}
return 0;
}
答案:switch (num)
答案:default:
2.补全代码,判断输入的整数 n 是否为正数、负数或零。
#include <stdio.h>
int main() {
int n;
printf("请输入一个整数: ");
scanf("%d", &n);
if (n > 0) {
_____________
} _____________ (n < 0) {
printf("负数
");
} _____________ {
printf("零
");
}
return 0;
}
答案:printf("正数
");
答案:else if
答案:else
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$