第29练 单元7 函数的定义、调用与返回值《C语言程序设计》(高教版第2版)一课一练

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

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元7的第29练,内容涵盖单元7“考试系统”的模块化设计的7.2.1~7.2.2 函数的定义、调用与返回值。 《C语言程序设计》(高教版第2版)一课一练 第29练 单元7 “考试系统”的模块化设计 7.2.1~7.2.2 函数的定义、调用与返回值 1、 单项选择题(本题共5小题) 1、以下符合 C 语言无参无返回值函数定义规则的语句是( ) A. void print () { printf ("Hello"); } B. void print (int a) { printf ("Hello"); } C. int print () { printf ("Hello"); } D. void main () { void print () { printf ("Hello"); } } 【答案】A 【解析】选项 A 符合无参无返回值函数的定义格式:返回值类型为 void,参数列表为 void(无参);选项 B 是有参函数,不符合无参要求;选项 C 定义为 int 型却没有返回值,违反返回值规则;选项 D 属于函数嵌套定义,C 语言不允许在函数内部定义另一个函数。 2、关于 C 语言函数调用中的值传递,下列说法正确的是( ) A. 形参的值修改后会同步影响主调函数中的实参 B. 实参和形参共用同一块内存单元 C. 实参仅将值传递给形参,形参的修改不会影响实参 D. 值传递是双向的,实参和形参可以互相传递数据 【答案】C 【解析】值传递是单向传递,实参和形参占用独立的内存单元,形参仅接收实参的副本,形参的修改不会反馈到实参,这是 C 语言函数参数传递的核心规则。 3、以下属于 “函数调用作为另一个函数的参数” 的正确写法是( ) A. max (a, b); B. result = max (a, b); C. max (max (a, b), c); D. int max (a,b); 【答案】C 【解析】选项 C 中,内层的max(a,b)作为外层max函数的一个实参,符合 “函数调用作为函数参数” 的调用方式;选项 A 是函数调用语句,选项 B 是函数调用作为表达式,选项 D 只是函数声明,不是函数调用,不符合要求。 4、如果定义函数时未指定返回值类型,C 语言编译器默认的函数返回值类型是( ) A. void B. int C. char D. float 【答案】B 【解析】根据 C 语言语法规则,若定义函数时省略返回值类型,编译器默认其返回值类型为 int 型,无需显式声明。 5、关于空函数的作用,下列描述正确的是( ) A. 空函数无法被调用 B. 空函数的函数体为空,调用时不执行任何操作,常用于项目预留功能接口 C. 空函数必须有返回值 D. 空函数会导致程序报错 【答案】B 【解析】空函数的核心作用是在项目开发中预留功能接口,方便后续扩充功能,函数体为空,调用时不执行任何操作,不会报错,也可以定义为 void 类型无返回值。 2、 判断题(本题共4题) 1、C 语言中允许在一个函数内部定义另一个函数,比如在 main 函数中定义 print 函数。( ) 【答案】× 【解析】C 语言规定函数不能嵌套定义,所有函数必须在全局范围定义,仅能在函数内部调用其他函数,不能在函数内定义新函数。 2、函数调用时,实参的值传递给形参,形参的数值修改后会直接改变主调函数中实参的数值。( ) 【答案】× 【解析】值传递是单向传递,实参和形参占用独立的内存单元,形参的修改仅作用于自身的内存单元,不会影响主调函数中的实参。 3、如果定义函数时未指定返回值类型,系统默认该函数的返回值类型为 int 型。( ) 【答案】√ 【解析】这是 C 语言的语法默认规则,若开发者未显式声明函数返回值类型,编译器会自动将其视为 int 型函数。 4、空函数的函数体为空,调用时不执行任何操作,通常用于项目开发中预留后续扩充功能的接口。( ) 【答案】√ 【解析】空函数是模块化开发的常用技巧,提前定义函数名作为接口,方便后续补充功能代码,保持程序结构清晰。 3、 程序填空题(本题共1题) 1、题目描述:以下程序用于定义函数求三个整数的最小值,主函数输入三个整数后调用该函数,最终输出最小值,请补充缺失代码; #include <stdio.h> // 定义求三个整数最小值的函数 (1)____ min_three( (2)____ ) { int temp = x < y ? x : y; // 返回最小值 (3)____ temp < z ? temp : z; } int main() { int a, b, c, result; printf("请输入三个整数: "); scanf("%d%d%d", &a, &b, &c); // 调用函数并接收返回值 result = (4)____; printf("三个数中的最小值是:%d ", result); return 0; } 【答案】 (1) int (2) int x, int y, int z (3) return (4) min_three (a, b, c) 【解析】 (1) 函数需要返回整数类型的最小值,因此函数返回值类型声明为 int,符合函数返回值类型与返回数据一致的规则; (2) 函数需要接收三个整数作为参数,因此定义三个 int 型形参 x、y、z,与主调函数中输入的实参类型匹配,保证值传递的正确性; (3) 需要通过 return 语句将计算得到的最小值返回给主调函数,这是有返回值函数的必要语法,否则无法将结果传递回主函数; (4) 调用自定义的 min_three 函数,将输入的三个变量 a、b、c 作为实参传递给形参,实现函数调用并接收返回的最小值,赋值给 result 变量用于输出。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(高教版第2版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(高教版第2版)一课一练的单元7的第29练,内容涵盖单元7“考试系统”的模块化设计的7.2.1~7.2.2 函数的定义、调用与返回值。 《C语言程序设计》(高教版第2版)一课一练 第29练 单元7 “考试系统”的模块化设计 7.2.1~7.2.2 函数的定义、调用与返回值 1、 单项选择题(本题共5小题) 1、以下符合 C 语言无参无返回值函数定义规则的语句是( ) A. void print () { printf ("Hello"); } B. void print (int a) { printf ("Hello"); } C. int print () { printf ("Hello"); } D. void main () { void print () { printf ("Hello"); } } 2、关于 C 语言函数调用中的值传递,下列说法正确的是( ) A. 形参的值修改后会同步影响主调函数中的实参 B. 实参和形参共用同一块内存单元 C. 实参仅将值传递给形参,形参的修改不会影响实参 D. 值传递是双向的,实参和形参可以互相传递数据 3、以下属于 “函数调用作为另一个函数的参数” 的正确写法是( ) A. max (a, b); B. result = max (a, b); C. max (max (a, b), c); D. int max (a,b); 4、如果定义函数时未指定返回值类型,C 语言编译器默认的函数返回值类型是( ) A. void B. int C. char D. float 5、关于空函数的作用,下列描述正确的是( ) A. 空函数无法被调用 B. 空函数的函数体为空,调用时不执行任何操作,常用于项目预留功能接口 C. 空函数必须有返回值 D. 空函数会导致程序报错 2、 判断题(本题共4题) 1、C 语言中允许在一个函数内部定义另一个函数,比如在 main 函数中定义 print 函数。( ) 2、函数调用时,实参的值传递给形参,形参的数值修改后会直接改变主调函数中实参的数值。( ) 3、如果定义函数时未指定返回值类型,系统默认该函数的返回值类型为 int 型。( ) 4、空函数的函数体为空,调用时不执行任何操作,通常用于项目开发中预留后续扩充功能的接口。( ) 3、 程序填空题(本题共1题) 1、题目描述:以下程序用于定义函数求三个整数的最小值,主函数输入三个整数后调用该函数,最终输出最小值,请补充缺失代码; #include <stdio.h> // 定义求三个整数最小值的函数 (1)____ min_three( (2)____ ) { int temp = x < y ? x : y; // 返回最小值 (3)____ temp < z ? temp : z; } int main() { int a, b, c, result; printf("请输入三个整数: "); scanf("%d%d%d", &a, &b, &c); // 调用函数并接收返回值 result = (4)____; printf("三个数中的最小值是:%d ", result); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第29练 单元7 函数的定义、调用与返回值《C语言程序设计》(高教版第2版)一课一练-第1页
1

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