《C语言程序设计》(六)函数 - 知识点训练卷 重庆市计算机类 考纲百套卷 第57卷

2024-08-09
| 2份
| 17页
| 137人阅读
| 3人下载

内容正文:

编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。 本试卷是重庆市《计算机类考纲百套卷》的第57卷,是知识点训练卷,按考纲中《C语言程序设计》---(六)函数的1-4要求编写。其四点要求是:1.了解模块化程序设计的方法;2.了解 C 语言函数的分类,并掌握以下库函数:math.h:pow() 、sqrt();stdlib.h:rand() 、srand();time.h: time();3.掌握函数的定义方法;4.理解函数的类型, 返回值类型与 return 语句的关系;说明:不要求函数的类型与返回值类型不一致的情况。 重庆市《计算机类考纲百套卷》 第57卷 C语言程序设计 (六)函数 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、填空题(本大题共15小题,每题2分,共30分) 1. 为了将复杂问题简化处理,模块化程序设计的核心思想是将问题分解为若干个______。 【答案】模块 2. 函数可以分为______函数和用户自定义函数两大类。 【答案】库函数 3. 若要使用pow()函数,需要包含______头文件。 【答案】math.h 4. 利用sqrt()函数,我们可以计算出一个数的______。 【答案】平方根 5. 在stdlib.h头文件中,rand()函数的作用是生成一个______。 【答案】随机数 6. 为了使rand()函数每次运行生成的随机数序列不同,我们可以使用______函数来设置随机数种子。 【答案】srand() 7. 若要获取当前系统的时间,需要使用time()函数,并包含______头文件。 【答案】time.h 8. 函数定义的一般形式为:______类型 函数名(参数类型 参数名)。 【答案】返回值 9. 对于不需要返回值的函数,其返回值类型应定义为______。 【答案】void 10. return语句用于______函数的执行,并返回一个值。 【答案】结束 11. 如果一个函数需要返回整型值,那么其返回值类型应定义为______。 【答案】int 12. 当定义函数时,若省略了返回值类型,则默认为______类型。 【答案】int 13. 函数的返回值类型决定了return语句中______的类型。 【答案】返回值 14. 若一个int类型的函数没有return语句,则该函数将自动返回______。 【答案】0 15. 函数的类型与返回值类型必须保持______。 【答案】一致 二、单项选择题(本大题共15小题,每题2分,共30分) 1. 在C语言中,关于函数定义的叙述正确的是( )。 A. 函数可以嵌套定义,但不可以嵌套调用 B. 函数不可以嵌套定义,但可以嵌套调用 C. 函数不可以嵌套定义,也不可以嵌套调用 D. 函数可以嵌套定义,也可以嵌套调用 【答案】B 2. 下面函数调用语句含有实参的个数为( )。 nc((exp1,exp2),(exp3,exp4,exp5)); A. 1 B. 2 C. 4 D. 5 【答案】B 3. C语言中函数返回值的类型是由以下哪个选项决定的( )。 A. 函数定义时指定的类型 B. return语句中的表达式类型 C. 调用该函数时的实参的数据类型 D. 形参的数据类型 【答案】A 4. 若用数组名作为函数调用的实参,则传递给形参的是( )。 A. 数组的首地址 B. 数组的第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 【答案】A 5. 定义一个void型函数意味着调用该函数时,函数( )。 A. 通过return返回一个用户所希望的函数值 B. 返回一个系统默认值 C. 没有返回值 D. 返回一个不确定的值 【答案】C 6. 关于以下fun函数的功能叙述中正确的是( )。 int fun(char *s) { char *t = s; while(*t++); t--; return(t-s); } A. 求字符串s的长度 B. 比较两个串的大小 C. 将串s复制到串t D. 求字符串s所占字节数 【答案】A 7.下面对函数嵌套的叙述中,正确的是( )。 A.函数定义可以嵌套,但函数调用不能嵌套 B.函数定义不可以嵌套,但函数调用可以嵌套 C.函数定义和函数调用均不能嵌套 D.函数定义和函数调用均可以嵌套 【答案】B 8.在C程序中可以使用多种形式实现函数的调用,实参的值传递形参是( )。 A.单向传递 B.双向传递 C.多向传递 D.不确定 【答案】 A 9.在调用函数时,如果实参是变量,它与对应的形参之间的数据传递是( )。 A.传递方式由用户指定 B.由实参传给形参,再由形参传回实参 C.地址传递 D.单向值传递 【答案】 D 10.下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { printf(“x=%d ”,++x); } int main() { fun(10); return 0; } A.x=12 B.x=13 C.x=11 D.x=18 【答案】 C 11.如果局部变量和成员变量同名,如何在局部变量中引用成员变量。( ) A.在成员变量前加this,使用this访问该成员变量 B.不能引用,必须改名 C.在成员变量前加super,使用super访问该成员变量 D.不影响,系统可以自己区分 【答案】 A 12.调用一个函数,此函数中没有 return 语句,下列说法正确的是: 该函数( )。 A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 【答案】D 13.以下函数值的类型是( )。 fun(float x) { float y; y=3*x-4; return y;} A.int B.不确定 C.void D.float 【答案】A 14.有以下函数定义: void fun(int n,double x){...} 若以下选项中的变量都已经正确定义且赋值,则对函数 fun 的正确调用语句就是( )。 A.fun(int y,double m); B.k=fun(10,12、5); C.fun(x,n); D.void fun(n,x); 【答案】C 15.在C语句中函数得隐含存储类型就是( )。 A.auto B.static C.extern D.无存储类别 【答案】C 三、判断题(本大题共6小题,每题2分,共12分) 1. 模块化程序设计方法是将整个程序分解为若干个独立的功能模块,每个模块实现一个具体的功能。( ) 【答案】√ 2. C语言中的函数可以分为系统函数和用户自定义函数两大类。( ) 【答案】√ 3. pow() 函数用于计算两个数的乘积,sqrt() 函数用于计算一个数的平方根。( ) 【答案】× 4. 使用rand() 函数生成随机数前,需要使用srand() 函数设置随机数种子。( ) 【答案】√ 5. C语言函数的定义方法包括函数返回值类型、函数名、参数列表和函数体。( ) 【答案】√ 6. 函数的类型、返回值类型与return语句必须一致,否则程序会报错。( ) 【答案】× 四、程序填空题(本大题共2小题,每题8分,共16分) 1.#include <stdio.h> #include <math.h> // 定义一个计算平方根的函数 ______(double x) { return ______; } int main() { double num = 16.0; double result = ______(num); printf("The square root of %f is %f ", num, result); return 0; } 【答案】 double sqrtFunc // 填空1:函数定义,返回值类型为double sqrt(x) // 填空2:调用math.h中的sqrt()函数计算平方根 sqrtFunc // 填空3:调用自定义的函数 2.#include <stdio.h> #include <stdlib.h> #include <time.h> // 定义一个生成随机数的函数 void ______() { srand(______); printf("A random number: %d ", rand()); } int main() { ______; ______(); return 0; } 【答案】 generateRandomNumber // 填空1:函数定义,不需要返回值类型 time(NULL) // 填空2:调用time.h中的time()函数作为随机数种子 time(NULL) // 填空3:初始化随机数种子 generateRandomNumber // 填空4:调用自定义的函数 五、阅读程序题(本大题共12分) 1.阅读以下C语言程序,回答问题。 #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> // 计算平方根的函数 double calculateSquareRoot(double num) { return sqrt(num); } // 计算幂的函数 double calculatePower(double base, int exponent) { return pow(base, exponent); } int main() { double num, squareRoot, power; int exponent; // 初始化随机数种子 srand(time(NULL)); // 生成一个1-100之间的随机数 num = rand() % 100 + 1; // 计算随机数的平方根 squareRoot = calculateSquareRoot(num); // 生成一个1-10之间的随机数作为指数 exponent = rand() % 10 + 1; // 计算随机数的指数 power = calculatePower(num, exponent); printf("随机数:%f ", num); printf("随机数的平方根:%f ", squareRoot); printf("随机数的指数:%f ", power); return 0; } (1)请简述模块化程序设计的方法。 (2)本程序中使用了哪些库函数?分别用于什么目的? (3)请说明函数 calculateSquareRoot 和 calculatePower 的定义方法。 (4)解释函数 calculateSquareRoot 和 calculatePower 的类型、返回值类型与 return 语句的关系。 【答案】 (1)模块化程序设计的方法是将一个复杂的程序分解为若干个功能模块,每个模块实现一个特定的功能。这样可以使程序结构清晰,便于分工合作和代码复用。 (2)本程序中使用的库函数有: sqrt():用于计算平方根。 pow():用于计算幂。 rand():用于生成随机数。 srand():用于初始化随机数种子。 time():用于获取当前时间。 (3)函数 calculateSquareRoot 的定义方法如下: double calculateSquareRoot(double num) { return sqrt(num); } 函数 calculatePower 的定义方法如下: double calculatePower(double base, int exponent) { return pow(base, exponent); } (4)函数 calculateSquareRoot 的类型为 double,返回值类型也为 double,return 语句返回了一个 double 类型的值,即计算得到的平方根。 函数 calculatePower 的类型为 double,返回值类型也为 double,return 语句返回了一个 double 类型的值,即计算得到的幂。这两个函数的类型与返回值类型一致。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$ 编写说明:重庆市《计算机类考纲百套卷》依据重庆市《高等职业教育分类考试专业综合理论测试计算机类考试说明》编写,本套试卷共88份分为三个部分,第一部分是根据考试说明的各章节的要求,编写了58份知识点训练卷,第二部分是针对每门课程的重点内容,编写的20份常考题训练卷,第三个部分是参考近几年重庆市计算机类专业理论考试真题,编写了10份专业综合训练卷。 本试卷是重庆市《计算机类考纲百套卷》的第57卷,是知识点训练卷,按考纲中《C语言程序设计》---(六)函数的1-4要求编写。其四点要求是:1.了解模块化程序设计的方法;2.了解 C 语言函数的分类,并掌握以下库函数:math.h:pow() 、sqrt();stdlib.h:rand() 、srand();time.h: time();3.掌握函数的定义方法;4.理解函数的类型, 返回值类型与 return 语句的关系;说明:不要求函数的类型与返回值类型不一致的情况。 重庆市《计算机类考纲百套卷》 第57卷 C语言程序设计 (六)函数 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、填空题(本大题共15小题,每题2分,共30分) 1. 为了将复杂问题简化处理,模块化程序设计的核心思想是将问题分解为若干个______。 2. 函数可以分为______函数和用户自定义函数两大类。 3. 若要使用pow()函数,需要包含______头文件。 4. 利用sqrt()函数,我们可以计算出一个数的______。 5. 在stdlib.h头文件中,rand()函数的作用是生成一个______。 6. 为了使rand()函数每次运行生成的随机数序列不同,我们可以使用______函数来设置随机数种子。 7. 若要获取当前系统的时间,需要使用time()函数,并包含______头文件。 8. 函数定义的一般形式为:______类型 函数名(参数类型 参数名)。 9. 对于不需要返回值的函数,其返回值类型应定义为______。 10. return语句用于______函数的执行,并返回一个值。 11. 如果一个函数需要返回整型值,那么其返回值类型应定义为______。 12. 当定义函数时,若省略了返回值类型,则默认为______类型。 13. 函数的返回值类型决定了return语句中______的类型。 14. 若一个int类型的函数没有return语句,则该函数将自动返回______。 15. 函数的类型与返回值类型必须保持______。 二、单项选择题(本大题共15小题,每题2分,共30分) 1. 在C语言中,关于函数定义的叙述正确的是( )。 A. 函数可以嵌套定义,但不可以嵌套调用 B. 函数不可以嵌套定义,但可以嵌套调用 C. 函数不可以嵌套定义,也不可以嵌套调用 D. 函数可以嵌套定义,也可以嵌套调用 2. 下面函数调用语句含有实参的个数为( )。 nc((exp1,exp2),(exp3,exp4,exp5)); A. 1 B. 2 C. 4 D. 5 3. C语言中函数返回值的类型是由以下哪个选项决定的( )。 A. 函数定义时指定的类型 B. return语句中的表达式类型 C. 调用该函数时的实参的数据类型 D. 形参的数据类型 4. 若用数组名作为函数调用的实参,则传递给形参的是( )。 A. 数组的首地址 B. 数组的第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 5. 定义一个void型函数意味着调用该函数时,函数( )。 A. 通过return返回一个用户所希望的函数值 B. 返回一个系统默认值 C. 没有返回值 D. 返回一个不确定的值 6. 关于以下fun函数的功能叙述中正确的是( )。 int fun(char *s) { char *t = s; while(*t++); t--; return(t-s); } A. 求字符串s的长度 B. 比较两个串的大小 C. 将串s复制到串t D. 求字符串s所占字节数 7.下面对函数嵌套的叙述中,正确的是( )。 A.函数定义可以嵌套,但函数调用不能嵌套 B.函数定义不可以嵌套,但函数调用可以嵌套 C.函数定义和函数调用均不能嵌套 D.函数定义和函数调用均可以嵌套 8.在C程序中可以使用多种形式实现函数的调用,实参的值传递形参是( )。 A.单向传递 B.双向传递 C.多向传递 D.不确定 9.在调用函数时,如果实参是变量,它与对应的形参之间的数据传递是( )。 A.传递方式由用户指定 B.由实参传给形参,再由形参传回实参 C.地址传递 D.单向值传递 10.下列程序的输出结果是( )。 #include<stdio.h> int fun(int x) { printf(“x=%d ”,++x); } int main() { fun(10); return 0; } A.x=12 B.x=13 C.x=11 D.x=18 11.如果局部变量和成员变量同名,如何在局部变量中引用成员变量。( ) A.在成员变量前加this,使用this访问该成员变量 B.不能引用,必须改名 C.在成员变量前加super,使用super访问该成员变量 D.不影响,系统可以自己区分 12.调用一个函数,此函数中没有 return 语句,下列说法正确的是: 该函数( )。 A.没有返回值 B.返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 13.以下函数值的类型是( )。 fun(float x) { float y; y=3*x-4; return y;} A.int B.不确定 C.void D.float 14.有以下函数定义: void fun(int n,double x){...} 若以下选项中的变量都已经正确定义且赋值,则对函数 fun 的正确调用语句就是( )。 A.fun(int y,double m); B.k=fun(10,12、5); C.fun(x,n); D.void fun(n,x); 15.在C语句中函数得隐含存储类型就是( )。 A.auto B.static C.extern D.无存储类别 三、判断题(本大题共6小题,每题2分,共12分) 1. 模块化程序设计方法是将整个程序分解为若干个独立的功能模块,每个模块实现一个具体的功能。( ) 2. C语言中的函数可以分为系统函数和用户自定义函数两大类。( ) 3. pow() 函数用于计算两个数的乘积,sqrt() 函数用于计算一个数的平方根。( ) 4. 使用rand() 函数生成随机数前,需要使用srand() 函数设置随机数种子。( ) 5. C语言函数的定义方法包括函数返回值类型、函数名、参数列表和函数体。( ) 6. 函数的类型、返回值类型与return语句必须一致,否则程序会报错。( ) 四、程序填空题(本大题共2小题,每题8分,共16分) 1.#include <stdio.h> #include <math.h> // 定义一个计算平方根的函数 ______(double x) { return ______; } int main() { double num = 16.0; double result = ______(num); printf("The square root of %f is %f ", num, result); return 0; } 2.#include <stdio.h> #include <stdlib.h> #include <time.h> // 定义一个生成随机数的函数 void ______() { srand(______); printf("A random number: %d ", rand()); } int main() { ______; ______(); return 0; } 五、阅读程序题(本大题共12分) 1.阅读以下C语言程序,回答问题。 #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> // 计算平方根的函数 double calculateSquareRoot(double num) { return sqrt(num); } // 计算幂的函数 double calculatePower(double base, int exponent) { return pow(base, exponent); } int main() { double num, squareRoot, power; int exponent; // 初始化随机数种子 srand(time(NULL)); // 生成一个1-100之间的随机数 num = rand() % 100 + 1; // 计算随机数的平方根 squareRoot = calculateSquareRoot(num); // 生成一个1-10之间的随机数作为指数 exponent = rand() % 10 + 1; // 计算随机数的指数 power = calculatePower(num, exponent); printf("随机数:%f ", num); printf("随机数的平方根:%f ", squareRoot); printf("随机数的指数:%f ", power); return 0; } (1)请简述模块化程序设计的方法。 (2)本程序中使用了哪些库函数?分别用于什么目的? (3)请说明函数 calculateSquareRoot 和 calculatePower 的定义方法。 (4)解释函数 calculateSquareRoot 和 calculatePower 的类型、返回值类型与 return 语句的关系。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $$

资源预览图

《C语言程序设计》(六)函数 - 知识点训练卷 重庆市计算机类 考纲百套卷 第57卷
1
《C语言程序设计》(六)函数 - 知识点训练卷 重庆市计算机类 考纲百套卷 第57卷
2
《C语言程序设计》(六)函数 - 知识点训练卷 重庆市计算机类 考纲百套卷 第57卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。