第12卷 函数 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》

2026-07-16
| 2份
| 28页
| 10人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 函数
使用场景 中职复习
学年 2027-2028
地区(省份) 吉林省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 175 KB
发布时间 2026-07-16
更新时间 2026-07-16
作者 xy06893
品牌系列 学易金卷·考纲百套卷
审核时间 2026-07-16
下载链接 https://m.zxxk.com/soft/58824338.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。 本试卷是第12卷,为知识训练卷,按《C语言程序设计》中“函数”范围和要求编写。具体内容为:1.了解常用库函数。2.了解include命令的使用。3.掌握函数的定义与调用。4.掌握函数的返回值及其类型。5.掌握函数调用时参数间的传递。6.了解函数的嵌套调用和递归调用。7.了解变量的作用域和存储类型。 吉林省高职分类(对口招生)考试 电子与信息类《考纲百套卷》 第12卷 C语言程序设计——函数 (考试时间:45分钟 满分:100分) 一、单项选择题(共20题,每题2分,共40分。) 1.一个完整的C函数由哪几部分组成?( ) A.返回值类型、函数名、参数列表、函数体 B.函数名和函数体 C.参数列表和return语句 D.头文件和main函数 2.在函数调用f(a,b)中,a和b被称为( ) A.形式参数 B.实际参数 C.局部变量 D.全局变量 3.C语言中函数返回值的类型由什么决定?( ) A.return语句中表达式的类型 B.调用函数时的实参类型 C.函数定义时声明的返回值类型 D.编译器的自动推断 4.如果函数不需要返回值,其返回值类型应声明为( ) A.int B.float C.NULL D.void 5.C语言中函数参数传递的方式是( ) A.值传递(单向传递) B.地址传递(双向传递) C.引用传递 D.值传递和地址传递混合 6.当main函数中调用fun()时,程序的执行顺序是( ) A.main和fun交替执行 B.先暂停main,转去执行fun,fun结束后返回main继续 C.main直接结束 D.fun先执行,再执行main 7.函数原型(声明)的作用是( ) A.定义函数的函数体 B.分配函数的内存空间 C.告诉编译器函数的返回值类型和参数信息 D.执行函数调用 8.以下关于main函数的说法,正确的是( ) A.main函数可以没有 B.main函数必须放在程序最前面 C.C程序可以包含多个main函数 D.C程序有且仅有一个main函数 9.函数的形参变量的作用范围是( ) A.仅限于该函数内部 B.整个源程序 C.从定义处到程序结束 D.所有函数中都可以访问 10.一个函数中可以有多个return语句吗?( ) A.不可以,只能有一个 B.可以,执行到任一return即返回 C.可以,但所有return必须返回相同值 D.只有main函数可以 11.使用数学函数sqrt()、pow()等,需要包含哪个头文件?( ) A.stdio.h B.stdlib.h C.math.h D.string.h 12.C语言中,函数定义可以放在程序中的什么位置?( ) A.只能放在main函数之前 B.只能放在main函数之后 C.只能放在main函数内部 D.可以在main之前或之后,但不能嵌套在其他函数内部 13.在函数内部定义的变量称为( ) A.局部变量 B.全局变量 C.静态变量 D.外部变量 14.void类型函数中可以使用return;语句吗?( ) A.不可以 B.可以,用于提前结束函数 C.可以,必须带返回值 D.只有特定void函数可以 15.printf函数是C语言的( ) A.关键字 B.自定义函数 C.标准库函数 D.main函数 16.调用函数时,实参和形参的关系正确的是( ) A.实参和形参可以类型不同 B.实参个数可以多于形参 C.实参个数可以少于形参 D.实参和形参在个数、类型、顺序上应一一对应 17.C语言中f1()调用f2(),f2()调用f3(),这种机制称为( ) A.函数的嵌套调用 B.函数的嵌套定义 C.函数的递归调用 D.函数的迭代调用 18.局部变量默认的存储类型是( ) A.static B.auto(自动) C.register D.extern 19.以下哪项是正确的函数调用语句?( ) A.int max(int a,int b); B.max(int a,int b) C.max(3,5); D.int max(3,5); 20.使用函数进行模块化编程的主要好处是( ) A.增加代码行数 B.让程序运行更快 C.只让一个人编写 D.提高代码复用性和可维护性 二、判断题(共10题,每题1分,共10分。) 1.递归函数不需要终止条件也能正常运行。( ) 2.数组名作为函数参数时,传递的是数组首元素的地址,因此函数内修改数组元素会影响原数组。( ) 3.用static修饰的函数,可以在其他源文件中被调用。( ) 4.全局变量在程序开始执行时自动初始化为0。( ) 5.函数返回值的类型必须与函数体内return语句中表达式的类型严格一致,否则编译错误。( ) 6.递归算法都可以用非递归(迭代)的方式改写实现。( ) 7.函数调用时,实参和形参共用同一块内存空间。( ) 8.函数的声明(原型)可以放在main函数的花括号内部。( ) 9.C语言中一个程序可以不包含main函数。( ) 10.用const修饰的函数参数在函数体内不能被修改。( ) 三、填空题(共5题,每题2分,共10分。) 1.定义在所有函数外部的变量称为____变量,可被多个函数共享。 2.函数递归调用时,每次调用都会在内存的____区域中创建一组新的局部变量。 3.将一维数组作为函数参数传递时,形参写成int a[],此时[]内____指定元素个数。 4.在函数内部用____关键字修饰的局部变量,其值在函数多次调用之间保持不变。 5.return语句后的表达式类型若与函数声明的返回值类型不同,编译器会进行____类型转换。 四、读程序写结果题(共4题,每题5分,共20分。) 1.请阅读下列程序,写出运行结果。 #include <stdio.h> int f(int n) { if (n <= 1) return 1; return n + f(n - 1); } int main() { printf("%d", f(4)); return 0; } 2.请阅读下列程序,写出运行结果。 #include <stdio.h> void sqr(int a[], int n) { int i; for (i = 0; i < n; i++) a[i] = a[i] * a[i]; } int main() { int x[] = {1, 2, 3}; sqr(x, 3); printf("%d", x[1]); return 0; } 3.请阅读下列程序,写出运行结果。 #include <stdio.h> int count() { static int c = 0; c++; return c; } int main() { printf("%d", count()); printf("%d", count()); printf("%d", count()); return 0; } 4.请阅读下列程序,写出运行结果。 #include <stdio.h> int g(int a, int b) { if (b == 0) return a; return g(b, a % b); } int main() { printf("%d", g(12, 8)); return 0; } 五、编程题(共2题,每题10分,共20分。) 1.编写一个递归函数gcd(int a, int b),用辗转相除法求两个正整数的最大公约数。在main中输入两个整数,调用函数并输出结果。 2.编写一个函数findMax(int a[], int n),接收一个整型数组和其长度,返回数组中的最大值。在main中初始化一个数组并调用。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:2027版吉林省高职分类(对口招生)考试电子与信息类《考纲百套卷》,依据《吉林省高职分类(对口招生)考试电子与信息类专业综合卷考试科目及纲要(2025版)》编写。本专辑涵盖三个部分,第一部分为知识训练卷,第二部分为专题训练卷,第三部分为课程综合卷。本专辑共115份试卷,其中知识训练卷82份、专题训练卷19份、课程综合卷14份。 本试卷是第12卷,为知识训练卷,按《C语言程序设计》中“函数”范围和要求编写。具体内容为:1.了解常用库函数。2.了解include命令的使用。3.掌握函数的定义与调用。4.掌握函数的返回值及其类型。5.掌握函数调用时参数间的传递。6.了解函数的嵌套调用和递归调用。7.了解变量的作用域和存储类型。 吉林省高职分类(对口招生)考试 电子与信息类《考纲百套卷》 第12卷 C语言程序设计——函数 (考试时间:45分钟 满分:100分) 一、单项选择题(共20题,每题2分,共40分。) 1.一个完整的C函数由哪几部分组成?( ) A.返回值类型、函数名、参数列表、函数体 B.函数名和函数体 C.参数列表和return语句 D.头文件和main函数 【答案】A 【解析】函数定义格式:返回值类型 函数名(参数列表){函数体}。四部分缺一不可(void可省略参数和返回值类型)。 2.在函数调用f(a,b)中,a和b被称为( ) A.形式参数 B.实际参数 C.局部变量 D.全局变量 【答案】B 【解析】调用时传递的a、b是实际参数(实参),函数定义中的参数是形式参数(形参)。实参的值传递给形参。 3.C语言中函数返回值的类型由什么决定?( ) A.return语句中表达式的类型 B.调用函数时的实参类型 C.函数定义时声明的返回值类型 D.编译器的自动推断 【答案】C 【解析】函数返回值类型由定义时指定的类型决定。若return表达式类型与声明类型不一致,会自动转换为声明类型。 4.如果函数不需要返回值,其返回值类型应声明为( ) A.int B.float C.NULL D.void 【答案】D 【解析】void表示函数不返回任何值。void函数可以没有return语句,或使用return;(不带表达式)提前退出。 5.C语言中函数参数传递的方式是( ) A.值传递(单向传递) B.地址传递(双向传递) C.引用传递 D.值传递和地址传递混合 【答案】A 【解析】C语言参数默认是值传递:实参的值复制给形参,函数内修改形参不影响实参。要修改实参需传递地址(指针)。 6.当main函数中调用fun()时,程序的执行顺序是( ) A.main和fun交替执行 B.先暂停main,转去执行fun,fun结束后返回main继续 C.main直接结束 D.fun先执行,再执行main 【答案】B 【解析】函数调用时主调函数暂停,转去执行被调函数,被调函数结束后返回主调函数调用点继续执行。 7.函数原型(声明)的作用是( ) A.定义函数的函数体 B.分配函数的内存空间 C.告诉编译器函数的返回值类型和参数信息 D.执行函数调用 【答案】C 【解析】函数原型声明让编译器在调用前知道函数的参数类型和返回值类型,以便在编译时进行类型检查。 8.以下关于main函数的说法,正确的是( ) A.main函数可以没有 B.main函数必须放在程序最前面 C.C程序可以包含多个main函数 D.C程序有且仅有一个main函数 【答案】D 【解析】每个C程序有且仅有一个main函数作为入口。main可以放在任意位置,程序始终从main开始执行。 9.函数的形参变量的作用范围是( ) A.仅限于该函数内部 B.整个源程序 C.从定义处到程序结束 D.所有函数中都可以访问 【答案】A 【解析】形参是局部变量,作用域仅限于该函数内部。函数执行完毕后形参被释放,外部不可访问。 10.一个函数中可以有多个return语句吗?( ) A.不可以,只能有一个 B.可以,执行到任一return即返回 C.可以,但所有return必须返回相同值 D.只有main函数可以 【答案】B 【解析】一个函数可以有多个return语句(如不同分支中),执行到第一个return即结束函数并返回值。 11.使用数学函数sqrt()、pow()等,需要包含哪个头文件?( ) A.stdio.h B.stdlib.h C.math.h D.string.h 【答案】C 【解析】数学函数sqrt(开平方)、pow(幂)、fabs(绝对值)等声明在math.h中,使用时需#include <math.h>。 12.C语言中,函数定义可以放在程序中的什么位置?( ) A.只能放在main函数之前 B.只能放在main函数之后 C.只能放在main函数内部 D.可以在main之前或之后,但不能嵌套在其他函数内部 【答案】D 【解析】C函数定义可放在main函数前后任意位置,但不能在一个函数内部定义另一个函数(C不支持函数嵌套定义)。 13.在函数内部定义的变量称为( ) A.局部变量 B.全局变量 C.静态变量 D.外部变量 【答案】A 【解析】函数内部定义的变量(含形参)是局部变量,仅在函数执行期间存在,函数结束后释放。 14.void类型函数中可以使用return;语句吗?( ) A.不可以 B.可以,用于提前结束函数 C.可以,必须带返回值 D.只有特定void函数可以 【答案】B 【解析】void函数可用return;(不带表达式)提前退出,不能return带值。无return结束时自动返回到调用处。 15.printf函数是C语言的( ) A.关键字 B.自定义函数 C.标准库函数 D.main函数 【答案】C 【解析】printf不是C语言关键字,而是标准库函数,声明在stdio.h中。类似的有scanf、sqrt、strlen等。 16.调用函数时,实参和形参的关系正确的是( ) A.实参和形参可以类型不同 B.实参个数可以多于形参 C.实参个数可以少于形参 D.实参和形参在个数、类型、顺序上应一一对应 【答案】D 【解析】实参和形参必须在个数、类型、顺序上严格匹配。个数不匹配会导致编译错误或未定义行为。 17.C语言中f1()调用f2(),f2()调用f3(),这种机制称为( ) A.函数的嵌套调用 B.函数的嵌套定义 C.函数的递归调用 D.函数的迭代调用 【答案】A 【解析】函数嵌套调用指一个函数调用另一个函数形成调用链。与嵌套定义不同(C不支持嵌套定义)。 18.局部变量默认的存储类型是( ) A.static B.auto(自动) C.register D.extern 【答案】B 【解析】局部变量默认是auto(自动)存储类型,进入函数时创建、退出时销毁。static局部变量则保持值到下次调用。 19.以下哪项是正确的函数调用语句?( ) A.int max(int a,int b); B.max(int a,int b) C.max(3,5); D.int max(3,5); 【答案】C 【解析】函数调用格式为 函数名(实参列表); 。选项A是声明,B缺少实参,D多余类型。max(3,5);才是正确调用。 20.使用函数进行模块化编程的主要好处是( ) A.增加代码行数 B.让程序运行更快 C.只让一个人编写 D.提高代码复用性和可维护性 【答案】D 【解析】函数将程序分解为独立模块,便于代码复用、分工编写、调试和维护,是结构化编程的核心思想。 二、判断题(共10题,每题1分,共10分。) 1.递归函数不需要终止条件也能正常运行。( ) 【答案】× 【解析】递归必须有终止条件(基准情况),否则会无限递归最终导致栈溢出。 2.数组名作为函数参数时,传递的是数组首元素的地址,因此函数内修改数组元素会影响原数组。( ) 【答案】√ 【解析】数组参数传递的是地址而非值,函数通过地址直接操作原数组内存,修改会反映到实参。 3.用static修饰的函数,可以在其他源文件中被调用。( ) 【答案】× 【解析】static函数的作用域仅限于定义它的源文件,其他文件无法访问,即使用extern声明也不行。 4.全局变量在程序开始执行时自动初始化为0。( ) 【答案】√ 【解析】未显式初始化的全局变量和静态变量,编译器自动初始化为0。局部auto变量则不自动初始化。 5.函数返回值的类型必须与函数体内return语句中表达式的类型严格一致,否则编译错误。( ) 【答案】× 【解析】若return表达式类型与声明类型不同,编译器会自动进行类型转换(如int转float),不会报错。 6.递归算法都可以用非递归(迭代)的方式改写实现。( ) 【答案】√ 【解析】任何递归算法理论上都能转换为迭代实现(可能需要显式栈辅助),两者在计算能力上等价。 7.函数调用时,实参和形参共用同一块内存空间。( ) 【答案】× 【解析】C语言采用值传递,实参的值被复制到形参独立的内存空间中,两者占用不同地址。 8.函数的声明(原型)可以放在main函数的花括号内部。( ) 【答案】√ 【解析】函数声明可以放在任何位置,包括main函数内部,只要在使用前出现即可。但通常放在文件开头。 9.C语言中一个程序可以不包含main函数。( ) 【答案】× 【解析】每个C程序必须有且仅有一个main函数作为执行入口,缺少main会导致链接错误。 10.用const修饰的函数参数在函数体内不能被修改。( ) 【答案】√ 【解析】const限定参数为只读,函数内尝试修改const参数会导致编译错误,用于保护数据不被意外修改。 三、填空题(共5题,每题2分,共10分。) 1.定义在所有函数外部的变量称为____变量,可被多个函数共享。 【答案】全局 【解析】全局变量定义在函数外,作用域覆盖从定义处到文件末尾的所有函数,用于函数间共享数据。 2.函数递归调用时,每次调用都会在内存的____区域中创建一组新的局部变量。 【答案】栈 【解析】递归调用时每层都在栈上分配新栈帧,保存该层的局部变量和返回地址。栈空间有限,递归过深会溢出。 3.将一维数组作为函数参数传递时,形参写成int a[],此时[]内____指定元素个数。 【答案】可以不 【解析】数组作形参时第一维长度可省略,写为int a[]或int a[10]均可。实际传递的是地址而非整个数组。 4.在函数内部用____关键字修饰的局部变量,其值在函数多次调用之间保持不变。 【答案】static 【解析】static局部变量在程序加载时初始化一次,函数退出后不销毁。下次调用时保留上次结束时的值。 5.return语句后的表达式类型若与函数声明的返回值类型不同,编译器会进行____类型转换。 【答案】自动 【解析】例如函数返回类型为double但return 3(int),编译器自动将3转换为3.0后返回,不会报错。 四、读程序写结果题(共4题,每题5分,共20分。) 1.请阅读下列程序,写出运行结果。 #include <stdio.h> int f(int n) { if (n <= 1) return 1; return n + f(n - 1); } int main() { printf("%d", f(4)); return 0; } 【答案】10 【解析】f(4)=4+f(3)=4+6=10,f(3)=3+f(2)=3+3=6,f(2)=2+f(1)=2+1=3。考查递归累加追踪。 2.请阅读下列程序,写出运行结果。 #include <stdio.h> void sqr(int a[], int n) { int i; for (i = 0; i < n; i++) a[i] = a[i] * a[i]; } int main() { int x[] = {1, 2, 3}; sqr(x, 3); printf("%d", x[1]); return 0; } 【答案】4 【解析】数组名传地址,sqr中a[1]=2×2=4,反映到原数组x[1]=4。考查数组作函数参数的地址传递特性。 3.请阅读下列程序,写出运行结果。 #include <stdio.h> int count() { static int c = 0; c++; return c; } int main() { printf("%d", count()); printf("%d", count()); printf("%d", count()); return 0; } 【答案】123 【解析】static局部变量只初始化一次,每次调用累加。第1次c=1,第2次c=2,第3次c=3,连续输出123。考查static变量的持久性。 4.请阅读下列程序,写出运行结果。 #include <stdio.h> int g(int a, int b) { if (b == 0) return a; return g(b, a % b); } int main() { printf("%d", g(12, 8)); return 0; } 【答案】4 【解析】辗转相除法求最大公约数:g(12,8)→g(8,4)→g(4,0)→4。考查递归的实际应用(欧几里得算法)。 五、编程题(共2题,每题10分,共20分。) 1.编写一个递归函数gcd(int a, int b),用辗转相除法求两个正整数的最大公约数。在main中输入两个整数,调用函数并输出结果。 【答案】 #include <stdio.h> int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a % b); } int main() { int m, n; printf("请输入两个正整数:"); scanf("%d %d", &m, &n); printf("最大公约数=%d ", gcd(m, n)); return 0; } 【解析】辗转相除法:gcd(a,b)=gcd(b,a%b),当b=0时a即为最大公约数。例如gcd(12,8)=gcd(8,4)=gcd(4,0)=4。考查递归函数的设计与实现。 2.编写一个函数findMax(int a[], int n),接收一个整型数组和其长度,返回数组中的最大值。在main中初始化一个数组并调用。 【答案】 #include <stdio.h> int findMax(int a[], int n) { int i, max = a[0]; for (i = 1; i < n; i++) if (a[i] > max) max = a[i]; return max; } int main() { int arr[6] = {15, 8, 23, 4, 19, 11}; int m = findMax(arr, 6); printf("数组最大值=%d ", m); return 0; } 【解析】findMax接收数组地址和长度,遍历比较找最大值返回。数组{15,8,23,4,19,11}最大值为23。考查数组作函数参数的实际应用。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第12卷 函数 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》
1
第12卷 函数 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》
2
第12卷 函数 《C语言程序设计》吉林省对口招生《电子与信息类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。