内容正文:
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第75卷,为知识训练卷,按《程序设计》中“函数定义与返回值”范围和要求编写。具体内容为:3.掌握函数的定义方法;4.理解函数的返回值类型与return语句的关系;
重庆市高职分类考试
计算机类《考纲百套卷》
第75卷 程序设计——函数定义与返回值
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.函数定义通常由返回类型、函数名、参数列表和函数__________组成。
2.函数返回类型为int时,return表达式结果应与__________类型兼容。
3.函数执行到return语句时,函数会立即__________。
4.没有返回值的函数应声明为__________类型。
5.函数调用表达式的值通常就是函数的__________值。
6.函数参数列表中声明的参数称为__________参数。
7.调用函数时传入的具体数据称为__________参数。
8.一个函数可以包含多个return语句,但一次调用通常只执行其中的__________条。
9.函数声明中参数类型和数量应与函数调用保持__________。
10.函数调用结束后,调用者可以使用函数返回的__________继续计算。
二、单项选择题(共15题,每题2分,共30分)
1.函数定义中,函数体通常使用哪一对符号包围( )。
A.大括号
B.圆括号
C.方括号
D.尖括号
2.函数返回一个整数结果时,返回类型通常写作( )。
A.void
B.int
C.char[]
D.return
3.return语句执行后,函数通常会( )。
A.重新初始化参数
B.自动调用自身
C.立即结束
D.跳过函数名
4.下列函数头表示函数不返回结果的是( )。
A.int show(void)
B.char show(void)
C.double show(void)
D.void show(void)
5.调用int f(int x)时,括号中的具体数值属于( )。
A.实际参数
B.形式参数
C.返回类型
D.函数体
6.函数定义int f(int x)中的x属于( )。
A.实际参数
B.形式参数
C.返回值
D.全局常量
7.下列语句正确返回变量r的是( )。
A.back r;
B.give r;
C.return r;
D.output r;
8.函数的多个return语句中,一次调用最多执行( )。
A.两条
B.全部语句
C.零条且必然报错
D.一条
9.函数声明与调用的参数数量不一致,可能导致( )。
A.编译或运行错误
B.结果一定不变
C.数组自动扩容
D.返回类型自动修改
10.有返回值函数的调用结果可以( )。
A.只能打印不能保存
B.赋给变量或参与表达式
C.只能作为注释
D.只能修改函数名
11.下列函数定义中,return表达式类型最匹配的是( )。
A.int avg(void){return "2";}
B.char avg(void){return 300;}
C.double avg(void){return 2.5;}
D.void avg(void){return 2.5;}
12.若函数执行路径没有到达return,且声明有返回类型,可能出现( )。
A.自动返回最大值
B.自动补上零值
C.自动重复调用
D.未定义或错误结果
13.函数局部变量在函数返回后通常( )。
A.结束其生命周期
B.永久保存在栈中
C.自动成为全局变量
D.变成函数参数
14.调用函数时,实参传给形参通常采用( )。
A.按名称替换代码
B.按值复制基本数据
C.按文件复制函数
D.按输出格式传递
15.设计返回值函数时,最重要的是保证返回类型与结果( )。
A.长度完全相同
B.名称完全相同
C.兼容
D.颜色保持一致
三、判断题(共12题,每题1分,共12分)
1.函数体通常使用大括号包围。( )
2.void函数必须返回一个整数。( )
3.return执行后当前函数通常结束。( )
4.函数定义中的参数是实际参数。( )
5.调用处传入的具体值是实际参数。( )
6.一个函数一次调用可以执行所有return语句。( )
7.有返回值函数的结果可以赋给变量。( )
8.返回类型为int时可以无条件返回字符串。( )
9.参数数量不一致也一定不会影响函数调用。( )
10.局部变量通常随所在函数调用结束而失去生命周期。( )
11.函数可以通过return返回数组全部内容。( )
12.保证每条有效执行路径返回结果有助于避免未定义结果。( )
四、程序填空题(共2题,每题8分,共16分)
1.阅读下列程序,补充空格处的代码。程序计算区间内满足条件的整数和。
int rangeSum(int left, int right) {
int i, sum = 0;
for (i = left; i <= right; i++) {
if (i % 2 __________ 0) {
continue;
}
sum += i;
}
__________ sum;
}
int main(void) {
int result = rangeSum(3, 11);
printf("%d %d", result, rangeSum(1, 4));
return 0;
}
(1)第一个空应填什么?(2)第二个空应填什么?
2.阅读下列程序,补充空格处的代码。程序返回数组中第一个大于limit的元素下标。
int firstGreater(int a[], int n, int limit) {
int i;
for (i = 0; i < n; i++) {
if (a[i] __________ limit) {
__________ i;
}
}
return -1;
}
int main(void) {
int a[6] = {4, 8, 3, 10, 6, 12};
int p = firstGreater(a, 6, 9);
printf("%d %d", p, a[p]);
return 0;
}
(1)第一个空应填什么?(2)第二个空应填什么?
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下列程序并回答问题。
int score(int a, int b) {
int result;
if (a > b) {
result = a - b;
} else {
result = b - a;
}
return result;
}
int main(void) {
int data[5] = {7, 3, 10, 6, 4};
int i, total = 0;
for (i = 0; i < 4; i++) {
total += score(data[i], data[i + 1]);
}
printf("%d %d", total, i);
return 0;
}
(1)score返回什么?(2)循环执行几次?(3)最终输出什么?
2.阅读下列程序并回答问题。
int adjust(int x) {
if (x < 0) return -x;
if (x % 3 == 0) return x / 3;
return x + 2;
}
int main(void) {
int a[6] = {-4, 6, 5, 9, 2, -3};
int i, sum = 0, changed = 0;
for (i = 0; i < 6; i++) {
sum += adjust(a[i]);
if (a[i] < 0 || a[i] % 3 == 0) changed++;
if (sum > 18) break;
}
printf("%d %d %d", sum, changed, i);
return 0;
}
(1)adjust如何处理负数?(2)何时break?(3)最终输出什么?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:2027版重庆市高等职业教育分类考试计算机类《考纲百套卷》,依据《2027年重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共99份试卷,其中知识训练卷76份、专题训练卷16份、课程综合卷7份。
本试卷是第75卷,为知识训练卷,按《程序设计》中“函数定义与返回值”范围和要求编写。具体内容为:3.掌握函数的定义方法;4.理解函数的返回值类型与return语句的关系;
重庆市高职分类考试
计算机类《考纲百套卷》
第75卷 程序设计——函数定义与返回值
(考试时间:45分钟 满分:100分)
一、填空题(共10题,每题3分,共30分)
1.函数定义通常由返回类型、函数名、参数列表和函数__________组成。
【答案】体
【解析】函数体包含完成具体任务的语句。
2.函数返回类型为int时,return表达式结果应与__________类型兼容。
【答案】int
【解析】返回表达式应与函数声明的返回类型相匹配。
3.函数执行到return语句时,函数会立即__________。
【答案】结束
【解析】return结束当前函数并把结果交给调用者。
4.没有返回值的函数应声明为__________类型。
【答案】void
【解析】void表示函数不返回数据。
5.函数调用表达式的值通常就是函数的__________值。
【答案】返回
【解析】有返回值函数的调用结果可参与表达式计算。
6.函数参数列表中声明的参数称为__________参数。
【答案】形式
【解析】形式参数在函数定义中接收实际参数。
7.调用函数时传入的具体数据称为__________参数。
【答案】实际
【解析】实参写在函数调用处。
8.一个函数可以包含多个return语句,但一次调用通常只执行其中的__________条。
【答案】一
【解析】函数执行到首个满足路径的return即结束。
9.函数声明中参数类型和数量应与函数调用保持__________。
【答案】匹配
【解析】参数接口不匹配可能造成编译或运行错误。
10.函数调用结束后,调用者可以使用函数返回的__________继续计算。
【答案】结果
【解析】返回值可以赋给变量或参与表达式。
二、单项选择题(共15题,每题2分,共30分)
1.函数定义中,函数体通常使用哪一对符号包围( )。
A.大括号
B.圆括号
C.方括号
D.尖括号
【答案】A
【解析】函数体由大括号包围。
2.函数返回一个整数结果时,返回类型通常写作( )。
A.void
B.int
C.char[]
D.return
【答案】B
【解析】int表示函数返回整数。
3.return语句执行后,函数通常会( )。
A.重新初始化参数
B.自动调用自身
C.立即结束
D.跳过函数名
【答案】C
【解析】return会结束当前函数。
4.下列函数头表示函数不返回结果的是( )。
A.int show(void)
B.char show(void)
C.double show(void)
D.void show(void)
【答案】D
【解析】void返回类型表示无返回值。
5.调用int f(int x)时,括号中的具体数值属于( )。
A.实际参数
B.形式参数
C.返回类型
D.函数体
【答案】A
【解析】调用处的具体值是实参。
6.函数定义int f(int x)中的x属于( )。
A.实际参数
B.形式参数
C.返回值
D.全局常量
【答案】B
【解析】定义中的x是形参。
7.下列语句正确返回变量r的是( )。
A.back r;
B.give r;
C.return r;
D.output r;
【答案】C
【解析】C语言使用return返回表达式。
8.函数的多个return语句中,一次调用最多执行( )。
A.两条
B.全部语句
C.零条且必然报错
D.一条
【答案】D
【解析】执行到第一条实际到达的return即结束函数。
9.函数声明与调用的参数数量不一致,可能导致( )。
A.编译或运行错误
B.结果一定不变
C.数组自动扩容
D.返回类型自动修改
【答案】A
【解析】参数接口不匹配会带来错误。
10.有返回值函数的调用结果可以( )。
A.只能打印不能保存
B.赋给变量或参与表达式
C.只能作为注释
D.只能修改函数名
【答案】B
【解析】返回值可以继续参与计算。
11.下列函数定义中,return表达式类型最匹配的是( )。
A.int avg(void){return "2";}
B.char avg(void){return 300;}
C.double avg(void){return 2.5;}
D.void avg(void){return 2.5;}
【答案】C
【解析】double与2.5类型匹配。
12.若函数执行路径没有到达return,且声明有返回类型,可能出现( )。
A.自动返回最大值
B.自动补上零值
C.自动重复调用
D.未定义或错误结果
【答案】D
【解析】有返回值函数应保证有效路径返回结果。
13.函数局部变量在函数返回后通常( )。
A.结束其生命周期
B.永久保存在栈中
C.自动成为全局变量
D.变成函数参数
【答案】A
【解析】局部变量的生命周期通常随函数调用结束。
14.调用函数时,实参传给形参通常采用( )。
A.按名称替换代码
B.按值复制基本数据
C.按文件复制函数
D.按输出格式传递
【答案】B
【解析】基本类型参数通常按值传递。
15.设计返回值函数时,最重要的是保证返回类型与结果( )。
A.长度完全相同
B.名称完全相同
C.兼容
D.颜色保持一致
【答案】C
【解析】返回表达式应与声明类型兼容。
三、判断题(共12题,每题1分,共12分)
1.函数体通常使用大括号包围。( )
【答案】√
【解析】大括号界定函数体范围。
2.void函数必须返回一个整数。( )
【答案】×
【解析】void函数没有返回值。
3.return执行后当前函数通常结束。( )
【答案】√
【解析】return会退出当前函数。
4.函数定义中的参数是实际参数。( )
【答案】×
【解析】定义中的参数是形式参数。
5.调用处传入的具体值是实际参数。( )
【答案】√
【解析】实参位于函数调用中。
6.一个函数一次调用可以执行所有return语句。( )
【答案】×
【解析】到达一条return后函数即结束。
7.有返回值函数的结果可以赋给变量。( )
【答案】√
【解析】调用表达式可以作为赋值右值。
8.返回类型为int时可以无条件返回字符串。( )
【答案】×
【解析】返回结果应与int兼容。
9.参数数量不一致也一定不会影响函数调用。( )
【答案】×
【解析】参数接口不一致可能导致错误。
10.局部变量通常随所在函数调用结束而失去生命周期。( )
【答案】√
【解析】局部变量作用域和生命周期受函数调用限制。
11.函数可以通过return返回数组全部内容。( )
【答案】×
【解析】C语言函数不能直接返回数组对象,通常返回指针或通过参数处理。
12.保证每条有效执行路径返回结果有助于避免未定义结果。( )
【答案】√
【解析】有返回值函数应覆盖所有有效路径。
四、程序填空题(共2题,每题8分,共16分)
1.阅读下列程序,补充空格处的代码。程序计算区间内满足条件的整数和。
int rangeSum(int left, int right) {
int i, sum = 0;
for (i = left; i <= right; i++) {
if (i % 2 __________ 0) {
continue;
}
sum += i;
}
__________ sum;
}
int main(void) {
int result = rangeSum(3, 11);
printf("%d %d", result, rangeSum(1, 4));
return 0;
}
(1)第一个空应填什么?(2)第二个空应填什么?
【答案】(1)==;(2)return;
【解析】偶数跳过,条件填i%2==0;函数结束前用return返回sum。3到11的奇数和为3+5+7+9+11=35,1到4的奇数和为4,输出35 4。
2.阅读下列程序,补充空格处的代码。程序返回数组中第一个大于limit的元素下标。
int firstGreater(int a[], int n, int limit) {
int i;
for (i = 0; i < n; i++) {
if (a[i] __________ limit) {
__________ i;
}
}
return -1;
}
int main(void) {
int a[6] = {4, 8, 3, 10, 6, 12};
int p = firstGreater(a, 6, 9);
printf("%d %d", p, a[p]);
return 0;
}
(1)第一个空应填什么?(2)第二个空应填什么?
【答案】(1)>;(2)return;
【解析】首个大于9的元素是a[3]=10,因此条件填a[i]>limit,第二空填return。函数返回3,a[3]为10,输出3 10。
五、程序阅读题(共2题,每题6分,共12分)
1.阅读下列程序并回答问题。
int score(int a, int b) {
int result;
if (a > b) {
result = a - b;
} else {
result = b - a;
}
return result;
}
int main(void) {
int data[5] = {7, 3, 10, 6, 4};
int i, total = 0;
for (i = 0; i < 4; i++) {
total += score(data[i], data[i + 1]);
}
printf("%d %d", total, i);
return 0;
}
(1)score返回什么?(2)循环执行几次?(3)最终输出什么?
【答案】(1)两个参数之差的绝对值;(2)4次;(3)输出17 4。
【解析】score依次返回4、7、4、2,总和为17;i从0到3共执行4次,结束时i为4,因此输出17 4。
2.阅读下列程序并回答问题。
int adjust(int x) {
if (x < 0) return -x;
if (x % 3 == 0) return x / 3;
return x + 2;
}
int main(void) {
int a[6] = {-4, 6, 5, 9, 2, -3};
int i, sum = 0, changed = 0;
for (i = 0; i < 6; i++) {
sum += adjust(a[i]);
if (a[i] < 0 || a[i] % 3 == 0) changed++;
if (sum > 18) break;
}
printf("%d %d %d", sum, changed, i);
return 0;
}
(1)adjust如何处理负数?(2)何时break?(3)最终输出什么?
【答案】(1)返回负数的相反数;(2)sum大于18时;(3)输出20 3 4。
【解析】adjust(-4)=4,adjust(6)=2,adjust(5)=7,adjust(9)=3,累计sum依次为4、6、13、16;i=4时adjust(2)=4,sum=20并触发break。满足负数或3的倍数的元素为-4、6、9,共3个,break发生在i=4,最终输出20 3 4。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$