内容正文:
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第97卷,为课程综合卷,按《程序设计》课程综合范围和要求编写。具体内容为:C语言基础、顺序结构程序设计、分支结构程序设计、循环结构程序设计、数组、函数。
重庆市高职分类考试
计算机类《考纲百套卷》
第97卷 课程综合卷——程序设计
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.C语言标识符的第一个字符必须是字母或__________。
【答案】下划线
【解析】标识符首字符不能是数字,可以是英文字母或下划线,后续字符还可以包含数字。
2.使用__________预处理命令可以定义一个符号常量。
【答案】#define
【解析】#define用于在预处理阶段建立宏名与替换文本的对应关系,常用于定义符号常量。
3.在C语言中,整数相除时若两个操作数都是整型,结果按__________运算处理。
【答案】整除
【解析】两个整型操作数相除时只保留整数部分,例如7/2的结果为3。
4.printf输出double类型数据时,常用的格式说明符是__________。
【答案】%f
【解析】printf中浮点数通常使用%f输出,也可以配合精度控制小数位数。
5.C语言中,条件表达式的值为0时表示__________。
【答案】假
【解析】C语言把0作为假,把非0值作为真,用于if和循环条件判断。
6.for循环中用于改变循环控制变量的部分称为__________表达式。
【答案】迭代
【解析】for语句的第三部分是迭代表达式,通常负责使控制变量递增或递减。
7.一维数组a的第一个元素下标为__________。
【答案】0
【解析】C语言数组下标从0开始,因此a[0]表示第一个元素。
8.字符数组保存字符串时,字符串末尾需要存放字符__________。
【答案】\0
【解析】字符串以\0作为结束标志,字符数组必须留出存放该标志的空间。
9.函数定义中写在函数名之前、用于说明结果类型的部分称为__________类型。
【答案】返回值
【解析】返回值类型写在函数名之前,用于说明return返回表达式的类型。
10.函数调用时传入的具体表达式称为__________参数。
【答案】实际
【解析】实际参数位于函数调用处,形式参数位于函数定义处,两者按位置对应传递。
二、单项选择题(共15题,每题2分,共30分)
1.下列标识符中,符合C语言命名规则的是( )。
A.total_2
B.2total
C.total-score
D.float
【答案】A
【解析】标识符可以由字母、数字和下划线组成,不能以数字开头,也不能使用关键字。
2.若int a=7,b=2;,则表达式a/b的值是( )。
A.3.5
B.4
C.3
D.2
【答案】C
【解析】a和b都是int型,整型相除只保留整数部分,7/2结果为3。
3.下列语句中,能够把变量x的值增加5的是( )。
A.x = 5;
B.x += 5;
C.x ++ 5;
D.x = x - 5;
【答案】B
【解析】+=把右侧表达式加到左侧变量并将结果写回,x += 5等价于x=x+5。
4.执行int x=4; printf("%d", ++x);后,输出结果是( )。
A.4
B.6
C.编译错误
D.5
【答案】D
【解析】前置++先把x加1再参与表达式计算,因此输出5。
5.若a=5,b=8,表达式a>b的值是( )。
A.0
B.1
C.5
D.8
【答案】A
【解析】5大于8不成立,关系表达式结果为0。
6.下列循环可以准确输出1到5的是( )。
A.for(i=0;i<5;i++) printf("%d",i);
B.for(i=1;i<=5;i++) printf("%d",i);
C.for(i=1;i<5;i++) printf("%d",i);
D.for(i=0;i<=5;i++) printf("%d",i);
【答案】B
【解析】循环从1开始,条件包含5,迭代到6时结束,正好输出1至5。
7.执行while循环时,最先判断的是( )。
A.循环体最后一条语句
B.控制变量的最终值
C.循环条件
D.循环后的下一条语句
【答案】C
【解析】while先判断条件,条件为真才执行循环体,可能一次也不执行。
8.若int a[4]={2,4,6,8};,则a[2]的值是( )。
A.2
B.4
C.8
D.6
【答案】D
【解析】数组下标从0开始,a[2]对应初始化列表中的第三个元素6。
9.字符串"abc"在字符数组中实际需要占用的字符单元数至少是( )。
A.4
B.3
C.2
D.5
【答案】A
【解析】三个有效字符后还要保存字符串结束标志\0,因此至少需要4个字符单元。
10.函数定义int max(int x,int y)中的x和y属于( )。
A.实际参数
B.全局变量
C.形式参数
D.返回值
【答案】C
【解析】函数定义参数列表中的名称和类型是形式参数,调用时由实际参数提供数据。
11.下列语句可以正确读取一个整数到变量n的是( )。
A.scanf("%d", n);
B.scanf("%d", &n);
C.printf("%d", &n);
D.getchar("%d", &n);
【答案】B
【解析】scanf需要把输入写入变量,整型变量应传入地址&n。
12.switch语句中用于结束当前case并跳出switch的是( )。
A.continue
B.return
C.exit
D.break
【答案】D
【解析】break结束switch的当前分支并跳出整个switch语句。
13.若数组长度为n,遍历全部元素的常用条件是( )。
A.i < n
B.i <= n
C.i > n
D.i != n+1
【答案】A
【解析】合法下标范围为0到n-1,控制变量从0开始时应使用i<n。
14.函数声明的主要作用是( )。
A.立即执行函数体
B.提前说明函数接口
C.自动创建所有实参
D.把局部变量变成全局变量
【答案】B
【解析】函数声明提供返回类型、名称和参数类型等接口信息,便于编译器检查调用。
15.若程序需要统计数组中同时满足a[i]>0且a[i]%2==0的元素,合适的条件是( )。
A.a[i] > 0 || a[i] % 2 == 0
B.a[i] <= 0 && a[i] % 2 != 0
C.a[i] > 0 && a[i] % 2 == 0
D.a[i] == 0 && a[i] % 2 == 0
【答案】C
【解析】正偶数必须同时满足大于0和余数为0两个条件,因此使用逻辑与&&。
三、判断题(共12题,每题1分,共12分)
1.C语言标识符可以使用关键字作为变量名。( )
【答案】×
【解析】关键字具有固定语法含义,不能再用作用户自定义标识符。
2.非0整数在C语言条件判断中通常表示真。( )
【答案】√
【解析】C语言条件表达式中0为假,非0值为真。
3.整型表达式7/2的结果是3.5。( )
【答案】×
【解析】两个操作数均为整型时执行整除,结果为3;需要浮点结果时应进行类型转换。
4.printf函数的格式说明符必须与输出表达式的类型相匹配。( )
【答案】√
【解析】格式说明符不匹配可能造成错误输出或未定义行为,应按数据类型选择。
5.do-while循环的循环体至少执行一次。( )
【答案】√
【解析】do-while先执行循环体,再判断条件,因此即使条件初始为假也会执行一次。
6.for(i=0;i<n;i++)可以访问长度为n数组的全部合法下标。( )
【答案】√
【解析】i依次取0到n-1,正好覆盖长度为n数组的全部合法下标。
7.数组a有10个元素时,a[10]是最后一个合法元素。( )
【答案】×
【解析】长度为10的数组合法下标是0到9,a[10]已经越界。
8.字符串常量的末尾自动包含字符串结束标志\0。( )
【答案】√
【解析】C语言字符串以\0结束,字符串常量在存储时包含该结束标志。
9.函数的形式参数和实际参数必须使用完全相同的变量名。( )
【答案】×
【解析】形参和实参按位置及类型对应,名称可以不同。
10.return语句可以把函数计算的结果返回给调用者。( )
【答案】√
【解析】非void函数可以通过return表达式把结果交给调用者。
11.省略函数声明不会对函数调用产生任何影响。( )
【答案】×
【解析】调用前缺少正确声明可能导致编译诊断或类型检查缺失,应保证接口可见。
12.在同一表达式中多次修改同一变量时,可以依赖任意编译器的求值顺序。( )
【答案】×
【解析】未明确规定的求值顺序不能依赖,复杂表达式应拆分为多条语句。
四、程序填空题(共2题,每题8分,共16分)
1.阅读下面程序并补充空格。程序使用函数判断数组元素的类别,并统计正数和正偶数的个数。
#include <stdio.h>
int classify(int x) {
int result;
if (x > 0) {
if (x % 2 == 0) result = 2;
else result = 1;
} else if (x == 0) {
result = 0;
} else {
result = -1;
}
return result;
}
int main(void) {
int data[6] = {12, -3, 0, 7, 8, -6};
int i, positive = 0, even = 0;
for (i = 0; i < 6; i++) {
if (data[i] __________ 0) positive++;
if (classify(data[i]) == __________) even++;
}
printf("%d %d
", positive, even);
return 0;
}
(1)第一个空应填写什么?(2)第二个空应填写什么?
【答案】(1)>;(2)2
【解析】正数判断需要使用data[i]>0。classify函数约定正偶数返回2,数组中的正数有12、7、8共3个,正偶数有12和8共2个,最终输出3 2。
2.阅读下面程序并补充空格。程序调用函数计算数组奇数下标位置上的奇数和,并找出数组最大元素下标。
#include <stdio.h>
int oddPositionOddSum(int a[], int n) {
int i, sum = 0;
for (i = 1; i < n; i += 2) {
if (a[i] % 2 != 0) {
sum += a[i];
}
}
return sum;
}
int main(void) {
int data[7] = {6, 5, 8, 7, 2, 9, 4};
int i, max_index = 0;
int odd_sum = __________ (data, 7);
for (i = 1; i < 7; i++) {
if (data[i] __________ data[max_index]) max_index = i;
}
printf("%d %d %d
", odd_sum, max_index, data[max_index]);
return 0;
}
(1)第一个空应填写函数名;(2)第二个空应填写关系运算符。
【答案】(1)oddPositionOddSum;(2)>
【解析】函数名为oddPositionOddSum。奇数下标位置是1、3、5,对应5、7、9且均为奇数,和为21。最大值比较使用>,最大元素9的下标为5,输出21 5 9。
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下面程序并回答问题。程序在循环中累乘,并根据乘积的奇偶性累加不同的值。
#include <stdio.h>
int main(void) {
int i, value = 1, total = 0;
for (i = 1; i <= 4; i++) {
value *= i;
if (value % 2 == 0) total += value;
else total += 1;
}
printf("%d %d %d
", i, value, total);
return 0;
}
(1)循环体执行几次?(2)循环结束时value是多少?(3)程序输出什么?
【答案】(1)4次;(2)24;(3)5 24 33
【解析】i依次为1、2、3、4,循环共执行4次。value依次为1、2、6、24;total依次为1、3、9、33。循环结束后i自增为5,因此输出5 24 33。
2.阅读下面程序并回答问题。程序通过函数统计数组中的偶数个数,并计算数组元素总和。
#include <stdio.h>
int countEven(int a[], int n) {
int i, count = 0;
for (i = 0; i < n; i++) {
if (a[i] % 2 == 0) count++;
}
return count;
}
int main(void) {
int data[5] = {5, 8, 3, 10, 12};
int i, sum = 0;
for (i = 0; i < 5; i++) sum += data[i];
printf("%d %d %d
", countEven(data, 5), sum, data[2]);
return 0;
}
(1)countEven返回什么值?(2)sum是多少?(3)程序输出什么?
【答案】(1)3;(2)38;(3)3 38 3
【解析】数组中的偶数为8、10、12,共3个。sum依次累加5、8、3、10、12,结果为38,data[2]为3,因此输出3 38 3。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第97卷,为课程综合卷,按《程序设计》课程综合范围和要求编写。具体内容为:C语言基础、顺序结构程序设计、分支结构程序设计、循环结构程序设计、数组、函数。
重庆市高职分类考试
计算机类《考纲百套卷》
第97卷 课程综合卷——程序设计
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.C语言标识符的第一个字符必须是字母或__________。
2.使用__________预处理命令可以定义一个符号常量。
3.在C语言中,整数相除时若两个操作数都是整型,结果按__________运算处理。
4.printf输出double类型数据时,常用的格式说明符是__________。
5.C语言中,条件表达式的值为0时表示__________。
6.for循环中用于改变循环控制变量的部分称为__________表达式。
7.一维数组a的第一个元素下标为__________。
8.字符数组保存字符串时,字符串末尾需要存放字符__________。
9.函数定义中写在函数名之前、用于说明结果类型的部分称为__________类型。
10.函数调用时传入的具体表达式称为__________参数。
二、单项选择题(共15题,每题2分,共30分)
1.下列标识符中,符合C语言命名规则的是( )。
A.total_2
B.2total
C.total-score
D.float
2.若int a=7,b=2;,则表达式a/b的值是( )。
A.3.5
B.4
C.3
D.2
3.下列语句中,能够把变量x的值增加5的是( )。
A.x = 5;
B.x += 5;
C.x ++ 5;
D.x = x - 5;
4.执行int x=4; printf("%d", ++x);后,输出结果是( )。
A.4
B.6
C.编译错误
D.5
5.若a=5,b=8,表达式a>b的值是( )。
A.0
B.1
C.5
D.8
6.下列循环可以准确输出1到5的是( )。
A.for(i=0;i<5;i++) printf("%d",i);
B.for(i=1;i<=5;i++) printf("%d",i);
C.for(i=1;i<5;i++) printf("%d",i);
D.for(i=0;i<=5;i++) printf("%d",i);
7.执行while循环时,最先判断的是( )。
A.循环体最后一条语句
B.控制变量的最终值
C.循环条件
D.循环后的下一条语句
8.若int a[4]={2,4,6,8};,则a[2]的值是( )。
A.2
B.4
C.8
D.6
9.字符串"abc"在字符数组中实际需要占用的字符单元数至少是( )。
A.4
B.3
C.2
D.5
10.函数定义int max(int x,int y)中的x和y属于( )。
A.实际参数
B.全局变量
C.形式参数
D.返回值
11.下列语句可以正确读取一个整数到变量n的是( )。
A.scanf("%d", n);
B.scanf("%d", &n);
C.printf("%d", &n);
D.getchar("%d", &n);
12.switch语句中用于结束当前case并跳出switch的是( )。
A.continue
B.return
C.exit
D.break
13.若数组长度为n,遍历全部元素的常用条件是( )。
A.i < n
B.i <= n
C.i > n
D.i != n+1
14.函数声明的主要作用是( )。
A.立即执行函数体
B.提前说明函数接口
C.自动创建所有实参
D.把局部变量变成全局变量
15.若程序需要统计数组中同时满足a[i]>0且a[i]%2==0的元素,合适的条件是( )。
A.a[i] > 0 || a[i] % 2 == 0
B.a[i] <= 0 && a[i] % 2 != 0
C.a[i] > 0 && a[i] % 2 == 0
D.a[i] == 0 && a[i] % 2 == 0
三、判断题(共12题,每题1分,共12分)
1.C语言标识符可以使用关键字作为变量名。( )
2.非0整数在C语言条件判断中通常表示真。( )
3.整型表达式7/2的结果是3.5。( )
4.printf函数的格式说明符必须与输出表达式的类型相匹配。( )
5.do-while循环的循环体至少执行一次。( )
6.for(i=0;i<n;i++)可以访问长度为n数组的全部合法下标。( )
7.数组a有10个元素时,a[10]是最后一个合法元素。( )
8.字符串常量的末尾自动包含字符串结束标志\0。( )
9.函数的形式参数和实际参数必须使用完全相同的变量名。( )
10.return语句可以把函数计算的结果返回给调用者。( )
11.省略函数声明不会对函数调用产生任何影响。( )
12.在同一表达式中多次修改同一变量时,可以依赖任意编译器的求值顺序。( )
四、程序填空题(共2题,每题8分,共16分)
1.阅读下面程序并补充空格。程序使用函数判断数组元素的类别,并统计正数和正偶数的个数。
#include <stdio.h>
int classify(int x) {
int result;
if (x > 0) {
if (x % 2 == 0) result = 2;
else result = 1;
} else if (x == 0) {
result = 0;
} else {
result = -1;
}
return result;
}
int main(void) {
int data[6] = {12, -3, 0, 7, 8, -6};
int i, positive = 0, even = 0;
for (i = 0; i < 6; i++) {
if (data[i] __________ 0) positive++;
if (classify(data[i]) == __________) even++;
}
printf("%d %d
", positive, even);
return 0;
}
(1)第一个空应填写什么?(2)第二个空应填写什么?
2.阅读下面程序并补充空格。程序调用函数计算数组奇数下标位置上的奇数和,并找出数组最大元素下标。
#include <stdio.h>
int oddPositionOddSum(int a[], int n) {
int i, sum = 0;
for (i = 1; i < n; i += 2) {
if (a[i] % 2 != 0) {
sum += a[i];
}
}
return sum;
}
int main(void) {
int data[7] = {6, 5, 8, 7, 2, 9, 4};
int i, max_index = 0;
int odd_sum = __________ (data, 7);
for (i = 1; i < 7; i++) {
if (data[i] __________ data[max_index]) max_index = i;
}
printf("%d %d %d
", odd_sum, max_index, data[max_index]);
return 0;
}
(1)第一个空应填写函数名;(2)第二个空应填写关系运算符。
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下面程序并回答问题。程序在循环中累乘,并根据乘积的奇偶性累加不同的值。
#include <stdio.h>
int main(void) {
int i, value = 1, total = 0;
for (i = 1; i <= 4; i++) {
value *= i;
if (value % 2 == 0) total += value;
else total += 1;
}
printf("%d %d %d
", i, value, total);
return 0;
}
(1)循环体执行几次?(2)循环结束时value是多少?(3)程序输出什么?
2.阅读下面程序并回答问题。程序通过函数统计数组中的偶数个数,并计算数组元素总和。
#include <stdio.h>
int countEven(int a[], int n) {
int i, count = 0;
for (i = 0; i < n; i++) {
if (a[i] % 2 == 0) count++;
}
return count;
}
int main(void) {
int data[5] = {5, 8, 3, 10, 12};
int i, sum = 0;
for (i = 0; i < 5; i++) sum += data[i];
printf("%d %d %d
", countEven(data, 5), sum, data[2]);
return 0;
}
(1)countEven返回什么值?(2)sum是多少?(3)程序输出什么?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$