内容正文:
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第7卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(一)C 语言基础:关系表达式
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第7卷
关系表达式 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共30小题,每题3分,共90分)
1.以下程序段的输出是( )
main()
{ char x =‘A’ ; x =(x>=‘A’&& x<=‘Z’)?(x+32): x;printf(“%c”,x);
}
A.A B.a C.Z D.z
2.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a﹥b)&&(n=c﹥d)运算后,n的值为( )
A.0 B.1 C.2 D.3
3.能正确表示逻辑关系:“a≥10或 a≤0”的C语言表达式是( )
A.a>=10 or a<=0 B.a>=10| a<=0
C.a>=10 && a<=0 D.a>=10||a<=0
4.以下运算符中优先级最高的是( )
A.&& B.+ C.!= D.?:
5.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )
A.算术运算、赋值运算、关系运算
B.关系运算、赋值运算、算术运算
C.算术运算、关系运算、赋值运算
D.关系运算、算术运算、赋值运算
6.能正确表示a和b同时为正或同时为负的逻辑表达式是( )
A.(a﹥=0||b﹥=0)&&(a﹤0||b﹤0)
B.(a﹥=0&&b﹥=0)&&(a﹤0&&b﹤0)
C.(a+b﹥0)&&(a+b﹤=0)
D.a*b﹥0
7.如果x大于1并且小于或等于10,则为真,否则为假,正确的表达式是( )
A.1﹤x﹤=10
B.x﹥1||x﹤=10
C.x﹥1&&x﹤=10
D.x﹥1&&x﹤10
8.表达式!x||a==b等效于( )
A.!((x||a))==b B.!(x||y)==b
C.!(x||(a==b)) D.(!X)||(a==b)
9.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( )
A.a﹥=10 or a﹤=10 B.a﹥=0 | a﹤=10
C.a﹥=10 && a﹤=0 D.a﹥=10 || a﹤=0
10.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面表达式的值为0的是( )
A.’a’&&’b’
B.a﹤=b
C.a||b+c&&b-c
D.!((a﹤b)&&!c||1)
11.已知x=43,ch=’A’,y=0;则表达式(x﹥=y&&ch﹤’B’&&!y)的值是( )
A.0 B.语法错误 C.1 D.“假”
12.执行以下程序段后的输出结果是( )
int x=10,y=20;if(!x)y++;else if(x==0)
if(x) y+=2;else y+=3;printf("%d",y);
A.23 B.22 C.21 D.20
13.执行以下程序段后的输出结果是( )
main( )
{int x=7;if(x++>7) printf(“%d
”,x);
else printf(“%d
”,--x);}
A.6 B.7 C.8 D.9
14.以下程序段中,与表达式:k=a>b?(b>c?1:0):0;功能相同的是( )
A.if(a>b&&b>c) k=1;else k=0;
B.if(a>b||b>c) k=1;else k=0;
C.if(a<=b) k=0;else if(b<=c) k=1;
D.if(a>b) k=1;else if(b>c) k=1;else k=0;
15.下列表达式中,不能正确表示,当c的值分别为1,3,5三个数时值为“真”,否则值为“假”的表达式是( )
A.!((c<3)&&(c>l))&&!((c<5)&&(c>3))&&(c<=5)&&(c>=l)
B.(c==l)||(c==3)||(c==5)
C.(c!=2)&&(c!=4)&&(c>=1)&&(c<=5)
D.(c=l)||(c=3)||(c=5)
15.已知x=43,ch='A',y=0;,则表达式x>=y&&ch<'B'&&!y的值是( )
A.0 B.语法错 C.1 D.“假”
16.要判断char型变量m是否是数字,可以使用下列表达式( )
A.0<=m&&m<=9 B.'0'<=m&&m<='9'
C."0"<=m&&m<="9" D.前面三个答案均是错误的
17.已知:int w=3,x=10,z=7;,则执行下面语句后的结果为( )
printf("%d",x>10?x+100:x-10);
printf("%d",w++||z++);
printf("%d",!w>z);
printf("%d",w&&z);
A.0111 B.1111 C.0101 D.0100
18.已知:int a=4,b=5,c;, 则执行表达式c=a=a>b后变量a的值为 ( )
A.0 B.1 C.4 D.5
19.关于下列运算符的优先级描述正确的是( )
A.逗号运算符<赋值运算符<关系运算符<算术运算符
B.赋值运算符<逗号运算符<关系运算符<算术运算符
C.赋值运算符<关系运算符<逗号运算符<算术运算符
D.逗号运算符<赋值运算符<算术运算符<关系运算符
20.设x、y、z是int型变量,且x=3,y=4,z=5,则下列表达式值为0的是( )
A.‘x’&&‘y’
B.x<=y
C.x||y+z&&y-z
D.!((x<y)&&!z||1)
21.能够正确表示a和b同时为正或同时为负的逻辑表达式是( )
A.(a>=0||b>=0)&&(a<0||b<0)
B.(a=b>0)&&(a+b<=0)
C.a*b>0
D.(a>=0&&b>=0)&&(a<0&&b<0)
22.以下代码实现根据 n 的值判断是否为闰年,闰年的条件是能被 4 整除但不能被 100 整除,或者能被 400 整除,横线处应填( )
if (______)
printf("是闰年");
else
printf("不是闰年");
A.(n % 4 == 0 && n % 100 != 0) || (n % 400 == 0)
B.(n % 4 == 0 && n % 100 != 0) && (n % 400 == 0)
C.(n % 4 == 0 || n % 100 != 0) || (n % 400 == 0)
D.(n % 4 == 0 || n % 100 != 0) && (n % 400 == 0)
23.以下表达式中, 是非法的关系表达式。( )
A.a + b > c - d B.a == b + c C.a && b D.'a' != 'b'
24.若 x = 5,y = 6,表达式 (x> y) || (x < y) 的值为( )
A.0 B.1 C.2 D.3
25.关系运算符 “==” 和 “!=” 的优先级( )
A.高于 “<”、“<=”、“>”、“>=”
B.低于 “<”、“<=”、“>”、“>=”
C.与 “<”、“<=”、“>”、“>=” 相同
D.高于算术运算符
26.以下代码的输出结果是( )
int x = 10;
if (x > 5)
if (x < 8)
printf("A");
else
printf("B");
else
printf("C");
A.A B.B C.C D.无输出
27.以下条件表达式等价于( )
(a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c)
A.求a、b、c的最小值 B.求a、b、c的最大值
C.求a和b的最大值再与c比较 D.语法错误
28.以下条件表达式的值是多少( )
int a = 5, b = 3, c = 2;
a > b ? a : c > b ? c : b;
A.5 B.3 C.2 D.编译错误
29.以下能判断x为偶数的表达式是( )
A.x%2 == 0 B.x/2 == 0 C.!x%2 D.x%2 != 1
30.以下代码段的输出是( )
int a = 1, b = 2;
if (a == 1 && b++ == 3)
printf("A");
printf("%d", b);
A.A3 B.3 C.2 D.A2
二、程序设计题(本大题共1小题,每题10分,共10分)
31.请设计一个程序,实现以下功能:定义一个二维整型数组 matrix[3][3],并通过用户输入为数组的每个元素赋值。判断数组是否为对称矩阵,并输出结果(对称矩阵定义为:矩阵的转置等于矩阵本身)。
程序设计要求:
使用嵌套的循环结构来遍历数组的每个元素。
利用用户输入的数据对数组进行初始化。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第7卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(一)C 语言基础:关系表达式
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第7卷
关系表达式 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共30小题,每题3分,共90分)
1.以下程序段的输出是( )
main()
{ char x =‘A’ ; x =(x>=‘A’&& x<=‘Z’)?(x+32): x;printf(“%c”,x);
}
A.A B.a C.Z D.z
【答案】B
2.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a﹥b)&&(n=c﹥d)运算后,n的值为( )
A.0 B.1 C.2 D.3
【答案】C
3.能正确表示逻辑关系:“a≥10或 a≤0”的C语言表达式是( )
A.a>=10 or a<=0 B.a>=10| a<=0
C.a>=10 && a<=0 D.a>=10||a<=0
【答案】D
4.以下运算符中优先级最高的是( )
A.&& B.+ C.!= D.?:
【答案】B
5.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )
A.算术运算、赋值运算、关系运算
B.关系运算、赋值运算、算术运算
C.算术运算、关系运算、赋值运算
D.关系运算、算术运算、赋值运算
【答案】A
【详解】C语言中,算术运算符、赋值运算符和关系运算符的运算优先级从高到低依次为:
算术运算符(如 +, -, *, /)
关系运算符(如 >, <, ==, !=, >=, <=)
赋值运算符(如 =, +=, -=, *=, /=)
6.能正确表示a和b同时为正或同时为负的逻辑表达式是( )
A.(a﹥=0||b﹥=0)&&(a﹤0||b﹤0)
B.(a﹥=0&&b﹥=0)&&(a﹤0&&b﹤0)
C.(a+b﹥0)&&(a+b﹤=0)
D.a*b﹥0
【答案】D
7.如果x大于1并且小于或等于10,则为真,否则为假,正确的表达式是( )
A.1﹤x﹤=10
B.x﹥1||x﹤=10
C.x﹥1&&x﹤=10
D.x﹥1&&x﹤10
【答案】C
8.表达式!x||a==b等效于( )
A.!((x||a))==b B.!(x||y)==b
C.!(x||(a==b)) D.(!X)||(a==b)
【答案】D
9.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( )
A.a﹥=10 or a﹤=10 B.a﹥=0 | a﹤=10
C.a﹥=10 && a﹤=0 D.a﹥=10 || a﹤=0
【答案】D
10.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面表达式的值为0的是( )
A.’a’&&’b’
B.a﹤=b
C.a||b+c&&b-c
D.!((a﹤b)&&!c||1)
【答案】D
11.已知x=43,ch=’A’,y=0;则表达式(x﹥=y&&ch﹤’B’&&!y)的值是( )
A.0 B.语法错误 C.1 D.“假”
【答案】A
12.执行以下程序段后的输出结果是( )
int x=10,y=20;if(!x)y++;else if(x==0)
if(x) y+=2;else y+=3;printf("%d",y);
A.23 B.22 C.21 D.20
【答案】D
13.执行以下程序段后的输出结果是( )
main( )
{int x=7;if(x++>7) printf(“%d
”,x);
else printf(“%d
”,--x);}
A.6 B.7 C.8 D.9
【答案】B
14.以下程序段中,与表达式:k=a>b?(b>c?1:0):0;功能相同的是( )
A.if(a>b&&b>c) k=1;else k=0;
B.if(a>b||b>c) k=1;else k=0;
C.if(a<=b) k=0;else if(b<=c) k=1;
D.if(a>b) k=1;else if(b>c) k=1;else k=0;
【答案】A
15.下列表达式中,不能正确表示,当c的值分别为1,3,5三个数时值为“真”,否则值为“假”的表达式是( )
A.!((c<3)&&(c>l))&&!((c<5)&&(c>3))&&(c<=5)&&(c>=l)
B.(c==l)||(c==3)||(c==5)
C.(c!=2)&&(c!=4)&&(c>=1)&&(c<=5)
D.(c=l)||(c=3)||(c=5)
【答案】D
15.已知x=43,ch='A',y=0;,则表达式x>=y&&ch<'B'&&!y的值是( )
A.0 B.语法错 C.1 D.“假”
【答案】C
16.要判断char型变量m是否是数字,可以使用下列表达式( )
A.0<=m&&m<=9 B.'0'<=m&&m<='9'
C."0"<=m&&m<="9" D.前面三个答案均是错误的
【答案】B
17.已知:int w=3,x=10,z=7;,则执行下面语句后的结果为( )
printf("%d",x>10?x+100:x-10);
printf("%d",w++||z++);
printf("%d",!w>z);
printf("%d",w&&z);
A.0111 B.1111 C.0101 D.0100
【答案】C
18.已知:int a=4,b=5,c;, 则执行表达式c=a=a>b后变量a的值为 ( )
A.0 B.1 C.4 D.5
【答案】A
19.关于下列运算符的优先级描述正确的是( )
A.逗号运算符<赋值运算符<关系运算符<算术运算符
B.赋值运算符<逗号运算符<关系运算符<算术运算符
C.赋值运算符<关系运算符<逗号运算符<算术运算符
D.逗号运算符<赋值运算符<算术运算符<关系运算符
【答案】A
【详解】运算符的优先级为:逗号运算符<赋值运算符<关系运算符<算术运算符。
20.设x、y、z是int型变量,且x=3,y=4,z=5,则下列表达式值为0的是( )
A.‘x’&&‘y’
B.x<=y
C.x||y+z&&y-z
D.!((x<y)&&!z||1)
【答案】D
21.能够正确表示a和b同时为正或同时为负的逻辑表达式是( )
A.(a>=0||b>=0)&&(a<0||b<0)
B.(a=b>0)&&(a+b<=0)
C.a*b>0
D.(a>=0&&b>=0)&&(a<0&&b<0)
【答案】C
22.以下代码实现根据 n 的值判断是否为闰年,闰年的条件是能被 4 整除但不能被 100 整除,或者能被 400 整除,横线处应填( )
if (______)
printf("是闰年");
else
printf("不是闰年");
A.(n % 4 == 0 && n % 100 != 0) || (n % 400 == 0)
B.(n % 4 == 0 && n % 100 != 0) && (n % 400 == 0)
C.(n % 4 == 0 || n % 100 != 0) || (n % 400 == 0)
D.(n % 4 == 0 || n % 100 != 0) && (n % 400 == 0)
【答案】A
23.以下表达式中, 是非法的关系表达式。( )
A.a + b > c - d B.a == b + c C.a && b D.'a' != 'b'
【答案】C
24.若 x = 5,y = 6,表达式 (x> y) || (x < y) 的值为( )
A.0 B.1 C.2 D.3
【答案】B
25.关系运算符 “==” 和 “!=” 的优先级( )
A.高于 “<”、“<=”、“>”、“>=”
B.低于 “<”、“<=”、“>”、“>=”
C.与 “<”、“<=”、“>”、“>=” 相同
D.高于算术运算符
【答案】B
26.以下代码的输出结果是( )
int x = 10;
if (x > 5)
if (x < 8)
printf("A");
else
printf("B");
else
printf("C");
A.A B.B C.C D.无输出
【答案】B
27.以下条件表达式等价于( )
(a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c)
A.求a、b、c的最小值 B.求a、b、c的最大值
C.求a和b的最大值再与c比较 D.语法错误
【答案】B
28.以下条件表达式的值是多少( )
int a = 5, b = 3, c = 2;
a > b ? a : c > b ? c : b;
A.5 B.3 C.2 D.编译错误
【答案】A
29.以下能判断x为偶数的表达式是( )
A.x%2 == 0 B.x/2 == 0 C.!x%2 D.x%2 != 1
【答案】A
30.以下代码段的输出是( )
int a = 1, b = 2;
if (a == 1 && b++ == 3)
printf("A");
printf("%d", b);
A.A3 B.3 C.2 D.A2
【答案】B
二、程序设计题(本大题共1小题,每题10分,共10分)
31.请设计一个程序,实现以下功能:定义一个二维整型数组 matrix[3][3],并通过用户输入为数组的每个元素赋值。判断数组是否为对称矩阵,并输出结果(对称矩阵定义为:矩阵的转置等于矩阵本身)。
程序设计要求:
使用嵌套的循环结构来遍历数组的每个元素。
利用用户输入的数据对数组进行初始化。
【答案】#include <stdio.h>
int main() {
int matrix[3][3];
// 输入元素值
printf("请输入二维数组matrix[3][3]的元素值:
");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 判断数组是否为对称矩阵
int isSymmetric = 1;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (matrix[i][j] != matrix[j][i]) {
isSymmetric = 0;
break;
}
}
if (!isSymmetric) {
break;
}
}
if (isSymmetric) {
printf("数组是对称矩阵。
");
} else {
printf("数组不是对称矩阵。
");
}
return 0;
}
【详解】程序首先定义了一个二维整型数组 matrix[3][3]。
接下来,通过嵌套的循环结构,使用 scanf 函数分别为二维数组的每个元素赋值。
然后,定义了一个变量 isSymmetric 用于判断数组是否为对称矩阵。将 isSymmetric 的初始值设置为1(假设数组是对称的)。
通过再次使用嵌套的循环结构遍历二维数组,判断数组的每个元素是否满足对称矩阵的条件。如果存在不满足的情况,即 matrix[i][j] 不等于 matrix[j][i],则将 isSymmetric 的值设为0,并跳出循环。
最后,根据 isSymmetric 的值,使用 printf 函数输出结果是否为对称矩阵。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$