第30练 单元7 函数的声明与原型、函数的嵌套调用《C语言程序设计》(高教版第2版)一课一练

| 2份
| 7页
| 28人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元7的第30练,内容涵盖单元7“考试系统”的模块化设计的7.2.3~7.2.4 函数的声明与原型、函数的嵌套调用。 《C语言程序设计》(高教版第2版)一课一练 第30练 单元7 “考试系统”的模块化设计 7.2.3~7.2.4 函数的声明与原型、函数的嵌套调用 1、 单项选择题(本题共5小题) 1、以下关于 C 语言函数调用前提的描述,错误的是( ) A. 调用自定义函数时,若函数定义在主调函数之后,必须提前声明 B. 调用库函数时,必须用#include包含对应的头文件 C. 调用自定义函数时,若函数定义在主调函数之前,可以省略声明 D. 只要函数存在,无论定义位置如何,都无需声明即可调用 2、以下属于合法的函数声明语句的是( ) A. int max(int a, int b) B. int max(int a, int b); C. max(int a, int b); D. int max(a, b); 3、C 语言对函数嵌套的规定,正确的是( ) A. 函数定义和调用都可以嵌套 B. 函数定义可以嵌套,但调用不能嵌套 C. 函数定义不能嵌套,但调用可以嵌套 D. 函数定义和调用都不能嵌套 4、函数声明的主要作用是( ) A. 定义函数的功能实现 B. 告知编译器函数的名称、参数类型和返回值类型 C. 提高函数的执行效率 D. 减少函数的代码量 5、调用库函数printf时,必须包含的头文件是( ) A. #include <math.h> B. #include <stdio.h> C. #include <stdlib.h> D. #include <string.h> 2、 判断题(本题共4题) 1、在 C 语言中,函数的定义可以嵌套,即在一个函数内部定义另一个函数。( ) 2、如果自定义函数的定义在主调函数之前,主调函数中可以省略该函数的声明语句。( ) 3、函数声明必须包含函数的参数名称,否则编译器无法识别。( ) 4、调用库函数时,不需要包含对应的头文件也能正常运行。( ) 3、 程序填空题(本题共1题) 1、题目描述:以下程序通过嵌套调用max()函数实现求 4 个整数的最大值,请补充缺失代码使程序正常运行。 #include <stdio.h> // 补充max函数的声明语句 (1) int max4(int w, int x, int y, int z) { int temp; //调用max函数比较w和x,将结果赋值给temp temp = (2) ; //调用max函数比较temp和y,更新temp的值 temp = max(temp, y); // 调用max函数比较temp和z,返回最终最大值 return (3) ; } int main() { int a, b, c, d, res; printf("请输入4个整数:"); scanf("%d%d%d%d", &a, &b, &c, &d); // 调用max4函数获取最大值 res = (4) ; printf("4个数的最大值是:%d ", res); return 0; } // 定义求两个数最大值的max函数 int max(int a, int b) { return a > b ? a : b; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元7的第30练,内容涵盖单元7“考试系统”的模块化设计的7.2.3~7.2.4 函数的声明与原型、函数的嵌套调用。 《C语言程序设计》(高教版第2版)一课一练 第30练 单元7 “考试系统”的模块化设计 7.2.3~7.2.4 函数的声明与原型、函数的嵌套调用 1、 单项选择题(本题共5小题) 1、以下关于 C 语言函数调用前提的描述,错误的是( ) A. 调用自定义函数时,若函数定义在主调函数之后,必须提前声明 B. 调用库函数时,必须用#include包含对应的头文件 C. 调用自定义函数时,若函数定义在主调函数之前,可以省略声明 D. 只要函数存在,无论定义位置如何,都无需声明即可调用 【答案】D 【解析】当自定义函数定义在主调函数之后时,编译器无法提前识别函数的参数和返回值类型,必须提前声明才能正确调用,选项 D 错误,其他选项均符合函数调用的前提规则。 2、以下属于合法的函数声明语句的是( ) A. int max(int a, int b) B. int max(int a, int b); C. max(int a, int b); D. int max(a, b); 【答案】B 【解析】函数声明是在函数首行末尾加分号,必须明确返回值类型和参数类型。选项 A 缺少分号是函数定义的首行;选项 C 缺少返回值类型;选项 D 未指定参数类型;只有选项 B 符合函数声明的格式要求。 3、C 语言对函数嵌套的规定,正确的是( ) A. 函数定义和调用都可以嵌套 B. 函数定义可以嵌套,但调用不能嵌套 C. 函数定义不能嵌套,但调用可以嵌套 D. 函数定义和调用都不能嵌套 【答案】C 【解析】C 语言明确规定函数的定义必须平行进行,不能在一个函数内部定义另一个函数,但函数的调用可以嵌套,即一个函数调用过程中可以调用其他函数。 4、函数声明的主要作用是( ) A. 定义函数的功能实现 B. 告知编译器函数的名称、参数类型和返回值类型 C. 提高函数的执行效率 D. 减少函数的代码量 【答案】B 【解析】函数声明不会涉及函数的具体实现,只是向编译器传递函数的基本信息,确保编译时能正确识别函数调用的语法是否合法,避免出现未定义函数的错误。 5、调用库函数printf时,必须包含的头文件是( ) A. #include <math.h> B. #include <stdio.h> C. #include <stdlib.h> D. #include <string.h> 【答案】B 【解析】printf是标准输入输出库函数,对应的头文件是stdio.h,必须用#include包含后才能正常调用。 2、 判断题(本题共4题) 1、在 C 语言中,函数的定义可以嵌套,即在一个函数内部定义另一个函数。( ) 【答案】× 【解析】C 语言规定函数只能平行定义,不能嵌套定义,但函数的调用可以嵌套,即一个函数可以在调用过程中调用其他函数。 2、如果自定义函数的定义在主调函数之前,主调函数中可以省略该函数的声明语句。( ) 【答案】√ 【解析】当函数定义在主调函数之前时,编译器会先识别函数的参数和返回值信息,因此主调函数无需额外声明即可直接调用该函数。 3、函数声明必须包含函数的参数名称,否则编译器无法识别。( ) 【答案】× 【解析】函数声明可以省略参数名称,只需保留参数类型即可,例如int max(int, int);也是合法的声明,编译器通过参数类型就能判断调用是否合法。 4、调用库函数时,不需要包含对应的头文件也能正常运行。( ) 【答案】× 【解析】库函数的声明都存储在对应的头文件中,如果不包含头文件,编译器无法识别库函数的参数和返回值类型,会出现编译错误。 3、 程序填空题(本题共1题) 1、题目描述:以下程序通过嵌套调用max()函数实现求 4 个整数的最大值,请补充缺失代码使程序正常运行。 #include <stdio.h> // 补充max函数的声明语句 (1) int max4(int w, int x, int y, int z) { int temp; //调用max函数比较w和x,将结果赋值给temp temp = (2) ; //调用max函数比较temp和y,更新temp的值 temp = max(temp, y); // 调用max函数比较temp和z,返回最终最大值 return (3) ; } int main() { int a, b, c, d, res; printf("请输入4个整数:"); scanf("%d%d%d%d", &a, &b, &c, &d); // 调用max4函数获取最大值 res = (4) ; printf("4个数的最大值是:%d ", res); return 0; } // 定义求两个数最大值的max函数 int max(int a, int b) { return a > b ? a : b; } 【答案】 (1) int max(int a, int b); (2) max(w, x) (3) max(temp, z) (4) max4(a, b, c, d) 【解析】 (1) 由于max函数定义在max4和main函数之后,需要提前声明函数原型,告知编译器函数的参数类型和返回值类型,避免编译时出现 “未定义函数” 的错误。 (2) 调用max函数对前两个输入整数进行比较,将得到的最大值存入temp变量,为后续与第三、四个数比较做准备。 (3) 将当前temp(前三个数的最大值)与第四个数z比较,返回最终的最大值,完成max4函数求四个数最大值的功能。 (4) 在main函数中调用max4函数,传入用户输入的四个整数,获取并存储最大值,最后输出结果。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第30练 单元7 函数的声明与原型、函数的嵌套调用《C语言程序设计》(高教版第2版)一课一练-第1页
1

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。