内容正文:
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第98卷,为课程综合卷,按《程序设计》课程综合范围和要求编写。具体内容为:C语言基础、顺序结构程序设计、分支结构程序设计、循环结构程序设计、数组、函数。
重庆市高职分类考试
计算机类《考纲百套卷》
第98卷 课程综合卷——程序设计
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.C语言中,单行注释通常以__________符号开始。
【答案】//
【解析】//后的内容直到本行结束都作为注释,不参与程序执行。
2.long型整数使用printf输出时,常用的格式说明符是__________。
【答案】%ld
【解析】long型十进制整数通常使用%ld输出,格式说明符应与表达式类型匹配。
3.C语言字符常量使用一对__________括起来。
【答案】单引号
【解析】单个字符常量写在单引号中,例如'A';双引号用于字符串常量。
4.逻辑运算符__________可以把真变假、把假变真。
【答案】!
【解析】!是逻辑非运算符,对操作数的逻辑值进行取反。
5.switch语句中用于标记不同分支入口的关键字是__________。
【答案】case
【解析】case后面跟常量表达式和冒号,用于标记一个分支入口。
6.while循环属于先判断__________、后执行循环体的循环语句。
【答案】条件
【解析】while先判断条件表达式,条件为真才进入循环体,因此循环体可能一次也不执行。
7.在循环中,执行__________语句会立即结束当前循环。
【答案】break
【解析】break跳出所在的循环或switch语句,执行其后的下一条语句。
8.长度为n的一维数组最后一个合法下标是__________。
【答案】n-1
【解析】C语言数组下标从0开始,长度为n时合法下标范围为0到n-1。
9.函数定义中,位于函数名之前并说明函数结果类型的部分称为__________类型。
【答案】返回值
【解析】函数返回值类型写在函数名之前,用于说明return返回表达式的类型。
10.strlen、strcpy等字符串函数的声明通常位于__________头文件。
【答案】string.h
【解析】string.h提供strlen、strcpy、strcat和strcmp等字符串处理函数的声明。
二、单项选择题(共15题,每题2分,共30分)
1.下列标识符中,符合C语言命名规则的是( )。
A.sum_3
B.3sum
C.sum-value
D.while
【答案】A
【解析】标识符不能以数字开头,不能包含减号,也不能使用关键字。
2.若int a=9,b=4;,则表达式a%b的值是( )。
A.2
B.2.25
C.1
D.0
【答案】C
【解析】%求两个整型操作数相除的余数,9除以4余1。
3.下列语句中,可以交换变量a和b的值的是( )。
A.a=b; b=a;
B.t=a; a=b; b=t;
C.a=a+b; b=a-b;
D.t=b; a=t; b=a;
【答案】B
【解析】使用临时变量保存a的原值,依次赋值才能完成可靠交换。
4.执行int x=3; printf("%d", x--);后,输出结果是( )。
A.2
B.4
C.编译错误
D.3
【答案】D
【解析】后置--先使用x原值参与输出,再将x减1,因此输出3。
5.若x=0,表达式!x的值是( )。
A.1
B.0
C.-1
D.x
【答案】A
【解析】0表示假,逻辑非把假转换为真,结果为1。
6.switch语句中某个case末尾没有break时,通常会( )。
A.立即结束整个程序
B.继续执行后续case语句
C.自动返回main函数
D.重新计算switch表达式
【答案】B
【解析】没有break时会发生贯穿,继续执行后续分支中的语句。
7.continue语句在循环中的作用是( )。
A.结束整个程序
B.结束所在函数
C.跳过本次循环剩余语句
D.跳出所有嵌套循环
【答案】C
【解析】continue结束本次迭代,直接进入下一次循环条件判断或迭代步骤。
8.两重for循环中,外层循环3次、内层循环4次时,内层循环体共执行( )次。
A.7
B.8
C.16
D.12
【答案】D
【解析】每次外层循环都会完整执行4次内层循环,共3乘4等于12次。
9.求数组最大值时,max变量更稳妥的初始值是( )。
A.a[0]
B.0
C.1
D.a[n]
【答案】A
【解析】以a[0]初始化可兼容全为负数的数组,a[n]则越界。
10.strcmp("abc","abc")的返回值是( )。
A.1
B.-1
C.0
D.3
【答案】C
【解析】strcmp比较两个字符串内容,内容相同时返回0。
11.void函数中可以使用的return语句是( )。
A.return 0.0;
B.return;
C.return value;
D.return int;
【答案】B
【解析】void函数可以用不带表达式的return提前结束,不能返回一个数据值。
12.fabs函数通常需要包含的头文件是( )。
A.stdio.h
B.string.h
C.stdlib.h
D.math.h
【答案】D
【解析】fabs用于求浮点数绝对值,函数声明位于math.h。
13.将摄氏温度c转换为华氏温度f,正确的表达式是( )。
A.f = c * 9 / 5 + 32;
B.f = c + 9 / 5 + 32;
C.f = (c + 32) * 5 / 9;
D.f = c * 5 / 9 - 32;
【答案】A
【解析】摄氏转华氏公式为f=c×9/5+32,注意运算顺序和整型除法类型。
14.函数调用时,实参与形参的对应关系主要按( )确定。
A.变量名和颜色
B.位置和类型
C.声明顺序和长度
D.输出格式和范围
【答案】B
【解析】实参按位置传递给对应形参,并应满足相应的类型转换规则。
15.若要统计数组中的正偶数,合适的条件是( )。
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且除以2余数为0,两个条件之间使用&&。
三、判断题(共12题,每题1分,共12分)
1.C语言单行注释中的文字不会参与程序执行。( )
【答案】√
【解析】注释只供阅读和说明使用,编译时不会作为可执行语句处理。
2.字符常量'A'和字符串常量"A"在C语言中完全相同。( )
【答案】×
【解析】'A'是单个字符常量,"A"是以\0结尾的字符串常量,存储形式和类型不同。
3.正整数的余数运算可以使用%运算符。( )
【答案】√
【解析】%用于求整数相除的余数,题目范围内操作数为正整数时结果非负。
4.逻辑与&&总是会计算左右两个操作数。( )
【答案】×
【解析】&&具有短路特性,左操作数为假时右操作数可能不再计算。
5.switch的case标签通常要求是整型或字符型常量表达式。( )
【答案】√
【解析】switch表达式和case标签遵循整型兼容的匹配规则。
6.while循环在条件初始为真时才会执行循环体。( )
【答案】√
【解析】while先判断条件,条件为真才进入循环体;初始条件为假时可以一次也不执行。
7.break可以结束它所在的最内层循环。( )
【答案】√
【解析】break跳出当前所在的循环,嵌套循环中不会自动跳出所有外层循环。
8.continue会结束整个程序的执行。( )
【答案】×
【解析】continue只跳过当前迭代的剩余语句,程序仍会继续执行循环。
9.长度为n的数组可以访问下标n的元素。( )
【答案】×
【解析】长度为n的数组合法下标为0到n-1,下标n已经越界。
10.strlen返回的字符串长度包括末尾的\0字符。( )
【答案】×
【解析】strlen统计\0之前的有效字符数,不把结束标志计入长度。
11.函数定义中的形参名称必须与调用处实参名称相同。( )
【答案】×
【解析】实参和形参按位置及类型对应,变量名称可以不同。
12.void函数可以使用不带表达式的return语句提前结束。( )
【答案】√
【解析】void函数不能返回数据值,但可以用return;结束当前函数。
四、程序填空题(共2题,每题8分,共16分)
1.阅读下面程序并补充空格。程序调用函数计算成绩等级,并统计达到及格线的成绩个数。
#include <stdio.h>
int grade(int score) {
int level;
if (score >= 90) level = 3;
else if (score >= 75) level = 2;
else if (score >= 60) level = 1;
else level = 0;
return level;
}
int main(void) {
int scores[5] = {58, 75, 92, 60, 88};
int i, level_sum = 0, pass = 0;
for (i = 0; i < 5; i++) {
level_sum += grade(scores[i]);
if (scores[i] __________ 60) pass++;
}
printf("%d %d
", level_sum, pass);
return 0;
}
(1)空格处应填写什么关系运算符?
【答案】(1)>=
【解析】及格线包含60分,所以使用>=。五个成绩对应等级0、2、3、1、2,level_sum为8;达到60分的有75、92、60、88,共4个,输出8 4。
2.阅读下面程序并补充空格。程序在字符数组中查找长度最长的字符串,并输出其下标及内容。
#include <stdio.h>
#include <string.h>
int longestIndex(char words[][20], int n) {
int i, best = 0;
for (i = 1; i < n; i++) {
if (strlen(words[i]) __________ strlen(words[best])) {
best = i;
}
}
return best;
}
int main(void) {
char words[4][20] = {"red", "computer", "AI", "network"};
int pos = __________ (words, 4);
printf("%d %s %zu
", pos, words[pos], strlen(words[pos]));
return 0;
}
(1)第一个空应填写什么关系运算符?(2)第二个空应填写什么函数名?
【答案】(1)>;(2)longestIndex
【解析】比较当前字符串与已记录最长字符串的长度,应使用>,相同长度时保留先出现的位置。函数名为longestIndex。computer长度8,大于network长度7,最终pos为1,输出1 computer 8。
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下面程序并回答问题。程序根据数组元素是否大于4,调用函数转换数值并累加。
#include <stdio.h>
int transform(int x) {
if (x % 2 == 0) return x / 2;
return x * 2 + 1;
}
int main(void) {
int data[5] = {4, 3, 8, 5, 2};
int i, total = 0;
for (i = 0; i < 5; i++) {
if (data[i] > 4) total += transform(data[i]);
else total += data[i];
}
printf("%d %d %d
", total, i, data[1]);
return 0;
}
(1)transform(8)返回什么值?(2)循环结束时total是多少?(3)程序输出什么?
【答案】(1)4;(2)24;(3)24 5 3
【解析】transform(8)因8为偶数返回4。各次累加为4、3、4、11、2,total最终为24;循环结束后i为5,data[1]为3,所以输出24 5 3。
2.阅读下面程序并回答问题。程序统计字符数组中大写字母和数字的数量。
#include <stdio.h>
#include <string.h>
int kind(char c) {
if (c >= 'A' && c <= 'Z') return 1;
if (c >= '0' && c <= '9') return 2;
return 0;
}
int main(void) {
char text[] = "A7bC2";
int i, upper = 0, digit = 0;
for (i = 0; i < (int)strlen(text); i++) {
switch (kind(text[i])) {
case 1: upper++; break;
case 2: digit++; break;
default: break;
}
}
printf("%d %d %d
", upper, digit, i);
return 0;
}
(1)strlen(text)是多少?(2)大写字母数量是多少?(3)程序输出什么?
【答案】(1)5;(2)2;(3)2 2 5
【解析】字符串A7bC2包含5个有效字符,其中大写字母A、C共2个,数字7、2共2个。循环结束后i为5,因此输出2 2 5。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第98卷,为课程综合卷,按《程序设计》课程综合范围和要求编写。具体内容为:C语言基础、顺序结构程序设计、分支结构程序设计、循环结构程序设计、数组、函数。
重庆市高职分类考试
计算机类《考纲百套卷》
第98卷 课程综合卷——程序设计
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.C语言中,单行注释通常以__________符号开始。
2.long型整数使用printf输出时,常用的格式说明符是__________。
3.C语言字符常量使用一对__________括起来。
4.逻辑运算符__________可以把真变假、把假变真。
5.switch语句中用于标记不同分支入口的关键字是__________。
6.while循环属于先判断__________、后执行循环体的循环语句。
7.在循环中,执行__________语句会立即结束当前循环。
8.长度为n的一维数组最后一个合法下标是__________。
9.函数定义中,位于函数名之前并说明函数结果类型的部分称为__________类型。
10.strlen、strcpy等字符串函数的声明通常位于__________头文件。
二、单项选择题(共15题,每题2分,共30分)
1.下列标识符中,符合C语言命名规则的是( )。
A.sum_3
B.3sum
C.sum-value
D.while
2.若int a=9,b=4;,则表达式a%b的值是( )。
A.2
B.2.25
C.1
D.0
3.下列语句中,可以交换变量a和b的值的是( )。
A.a=b; b=a;
B.t=a; a=b; b=t;
C.a=a+b; b=a-b;
D.t=b; a=t; b=a;
4.执行int x=3; printf("%d", x--);后,输出结果是( )。
A.2
B.4
C.编译错误
D.3
5.若x=0,表达式!x的值是( )。
A.1
B.0
C.-1
D.x
6.switch语句中某个case末尾没有break时,通常会( )。
A.立即结束整个程序
B.继续执行后续case语句
C.自动返回main函数
D.重新计算switch表达式
7.continue语句在循环中的作用是( )。
A.结束整个程序
B.结束所在函数
C.跳过本次循环剩余语句
D.跳出所有嵌套循环
8.两重for循环中,外层循环3次、内层循环4次时,内层循环体共执行( )次。
A.7
B.8
C.16
D.12
9.求数组最大值时,max变量更稳妥的初始值是( )。
A.a[0]
B.0
C.1
D.a[n]
10.strcmp("abc","abc")的返回值是( )。
A.1
B.-1
C.0
D.3
11.void函数中可以使用的return语句是( )。
A.return 0.0;
B.return;
C.return value;
D.return int;
12.fabs函数通常需要包含的头文件是( )。
A.stdio.h
B.string.h
C.stdlib.h
D.math.h
13.将摄氏温度c转换为华氏温度f,正确的表达式是( )。
A.f = c * 9 / 5 + 32;
B.f = c + 9 / 5 + 32;
C.f = (c + 32) * 5 / 9;
D.f = c * 5 / 9 - 32;
14.函数调用时,实参与形参的对应关系主要按( )确定。
A.变量名和颜色
B.位置和类型
C.声明顺序和长度
D.输出格式和范围
15.若要统计数组中的正偶数,合适的条件是( )。
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.字符常量'A'和字符串常量"A"在C语言中完全相同。( )
3.正整数的余数运算可以使用%运算符。( )
4.逻辑与&&总是会计算左右两个操作数。( )
5.switch的case标签通常要求是整型或字符型常量表达式。( )
6.while循环在条件初始为真时才会执行循环体。( )
7.break可以结束它所在的最内层循环。( )
8.continue会结束整个程序的执行。( )
9.长度为n的数组可以访问下标n的元素。( )
10.strlen返回的字符串长度包括末尾的\0字符。( )
11.函数定义中的形参名称必须与调用处实参名称相同。( )
12.void函数可以使用不带表达式的return语句提前结束。( )
四、程序填空题(共2题,每题8分,共16分)
1.阅读下面程序并补充空格。程序调用函数计算成绩等级,并统计达到及格线的成绩个数。
#include <stdio.h>
int grade(int score) {
int level;
if (score >= 90) level = 3;
else if (score >= 75) level = 2;
else if (score >= 60) level = 1;
else level = 0;
return level;
}
int main(void) {
int scores[5] = {58, 75, 92, 60, 88};
int i, level_sum = 0, pass = 0;
for (i = 0; i < 5; i++) {
level_sum += grade(scores[i]);
if (scores[i] __________ 60) pass++;
}
printf("%d %d
", level_sum, pass);
return 0;
}
(1)空格处应填写什么关系运算符?
2.阅读下面程序并补充空格。程序在字符数组中查找长度最长的字符串,并输出其下标及内容。
#include <stdio.h>
#include <string.h>
int longestIndex(char words[][20], int n) {
int i, best = 0;
for (i = 1; i < n; i++) {
if (strlen(words[i]) __________ strlen(words[best])) {
best = i;
}
}
return best;
}
int main(void) {
char words[4][20] = {"red", "computer", "AI", "network"};
int pos = __________ (words, 4);
printf("%d %s %zu
", pos, words[pos], strlen(words[pos]));
return 0;
}
(1)第一个空应填写什么关系运算符?(2)第二个空应填写什么函数名?
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下面程序并回答问题。程序根据数组元素是否大于4,调用函数转换数值并累加。
#include <stdio.h>
int transform(int x) {
if (x % 2 == 0) return x / 2;
return x * 2 + 1;
}
int main(void) {
int data[5] = {4, 3, 8, 5, 2};
int i, total = 0;
for (i = 0; i < 5; i++) {
if (data[i] > 4) total += transform(data[i]);
else total += data[i];
}
printf("%d %d %d
", total, i, data[1]);
return 0;
}
(1)transform(8)返回什么值?(2)循环结束时total是多少?(3)程序输出什么?
2.阅读下面程序并回答问题。程序统计字符数组中大写字母和数字的数量。
#include <stdio.h>
#include <string.h>
int kind(char c) {
if (c >= 'A' && c <= 'Z') return 1;
if (c >= '0' && c <= '9') return 2;
return 0;
}
int main(void) {
char text[] = "A7bC2";
int i, upper = 0, digit = 0;
for (i = 0; i < (int)strlen(text); i++) {
switch (kind(text[i])) {
case 1: upper++; break;
case 2: digit++; break;
default: break;
}
}
printf("%d %d %d
", upper, digit, i);
return 0;
}
(1)strlen(text)是多少?(2)大写字母数量是多少?(3)程序输出什么?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$