第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函数,传入用户输入的四个整数,获取并存储最大值,最后输出结果。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$