第34练 第7章 函数的定义与调用《C语言程序设计》(电子工业出版社)一课一练

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

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第7章的第34练,内容涵盖第7章函数的7.3 函数的定义与调用。 《C语言程序设计》(电子工业出版社)一课一练 第34练 第7章 函数 7.3 函数的定义与调用 1、 单项选择题(本题共4小题) 1、下列无参函数的定义中,语法正确的是( ) A. void printHello () { printf ("Hello!"); } B. void printHello { printf ("Hello!"); } C. int printHello () { printf ("Hello!"); } D. printHello () { printf ("Hello!"); } 2、关于函数的形参和实参,下列描述错误的是( ) A. 形参只有在函数被调用时才分配内存,调用结束后立即释放 B. 实参可以是常量、变量或表达式,但必须有确定的值 C. 形参在主调函数中也可以直接使用 D. 实参和形参的数量、类型、顺序必须严格一致 3、下列函数调用方式中,属于 "函数表达式" 方式的是( ) A. printf ("Hello World! "); B. int sum = add (3,5); C. scanf ("% d", &num); D. max (a,b); 4、有如下函数定义和调用语句: void change(int n) { n = n + 10; } int main() { int x=5; change(x); printf("%d",x); } 程序运行后输出的结果是( ) A. 5 B. 15 C. 0 D. 不确定 2、 判断题(本题共3题) 1、函数的形参变量只有在函数被调用时才分配内存单元,调用结束后立即释放。( ) 2、函数调用时,实参和形参的变量名称必须完全相同,否则无法完成参数传递。( ) 3、函数调用过程中,形参的值修改后可以反向传递给实参,改变实参的原始值。( ) 3、 填空题(本题共2题) 1、当无参函数不需要返回值时,函数定义的类型标识符应写为____。 2、函数调用时,实参和形参在数量、类型、____上必须严格一致,否则会出现 "类型不匹配" 的错误。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> int max(int a, int b) { return a > b ? a : b; } int main() { int x=12, y=8; printf("最大值是:%d", max(x, y)); return 0; } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《C语言程序设计》(电子工业出版社)一课一练的第7章的第34练,内容涵盖第7章函数的7.3 函数的定义与调用。 《C语言程序设计》(电子工业出版社)一课一练 第34练 第7章 函数 7.3 函数的定义与调用 1、 单项选择题(本题共4小题) 1、下列无参函数的定义中,语法正确的是( ) A. void printHello () { printf ("Hello!"); } B. void printHello { printf ("Hello!"); } C. int printHello () { printf ("Hello!"); } D. printHello () { printf ("Hello!"); } 【答案】A 【解析】无参函数定义时,函数名后必须加空括号,选项 B 缺少括号;选项 C 定义了整型函数但没有返回值,不符合语法;选项 D 省略了函数类型标识符,默认是 int 但同样无返回值,只有选项 A 的定义符合规则:无返回值用 void,括号完整且函数体正确。 2、关于函数的形参和实参,下列描述错误的是( ) A. 形参只有在函数被调用时才分配内存,调用结束后立即释放 B. 实参可以是常量、变量或表达式,但必须有确定的值 C. 形参在主调函数中也可以直接使用 D. 实参和形参的数量、类型、顺序必须严格一致 【答案】C 【解析】形参的作用域仅限于函数内部,离开被调函数后就不能使用,因此在主调函数中无法直接访问形参,选项 C 的描述错误。 3、下列函数调用方式中,属于 "函数表达式" 方式的是( ) A. printf ("Hello World! "); B. int sum = add (3,5); C. scanf ("% d", &num); D. max (a,b); 【答案】B 【解析】函数表达式方式是将函数返回值参与表达式运算,选项 B 中add(3,5)的返回值被赋值给变量 sum,属于表达式调用;选项 A、C 是函数语句调用,选项 D 是单纯的函数语句调用(无返回值使用)。 4、有如下函数定义和调用语句: void change(int n) { n = n + 10; } int main() { int x=5; change(x); printf("%d",x); } 程序运行后输出的结果是( ) A. 5 B. 15 C. 0 D. 不确定 【答案】A 【解析】函数调用时参数传递是单向的,实参的值传递给形参后,形参的修改不会影响实参。因此change(x)中形参 n 变为 15,但实参 x 的值仍为 5,输出结果为 5。 2、 判断题(本题共3题) 1、函数的形参变量只有在函数被调用时才分配内存单元,调用结束后立即释放。( ) 【答案】√ 【解析】形参的作用域仅限于函数内部,只有在函数被调用时才会分配内存,调用完成后内存被释放,因此该表述符合 C 语言函数参数的特性。 2、函数调用时,实参和形参的变量名称必须完全相同,否则无法完成参数传递。( ) 【答案】× 【解析】实参和形参是两个独立的变量,各自的作用域不同,名称可以不同,只要数量、类型、顺序一致即可完成参数传递,因此该表述错误。 3、函数调用过程中,形参的值修改后可以反向传递给实参,改变实参的原始值。( ) 【答案】× 【解析】C 语言中参数传递是单向的,只能将实参的值传递给形参,形参的修改不会影响实参的值,因此该表述错误。 3、 填空题(本题共2题) 1、当无参函数不需要返回值时,函数定义的类型标识符应写为____。 【答案】void 【解析】void 是 C 语言中表示 "无类型" 的标识符,用于声明没有返回值的函数,符合无参函数无需返回结果的场景。使用 void 作为类型标识符,编译器会明确该函数不返回任何值,避免不必要的警告。 2、函数调用时,实参和形参在数量、类型、____上必须严格一致,否则会出现 "类型不匹配" 的错误。 【答案】顺序 【解析】参数传递是按顺序一一对应的,只有顺序一致,才能保证实参的值正确传递给对应的形参。如果顺序错误,会导致类型匹配错误或逻辑错误,无法实现预期的函数功能。 4、 读程序写结果题(本题共1题) 1、阅读下面的 C 语言程序,写出程序运行后的输出结果。 【程序代码】 #include <stdio.h> int max(int a, int b) { return a > b ? a : b; } int main() { int x=12, y=8; printf("最大值是:%d", max(x, y)); return 0; } 【答案】 程序运行结果: 最大值是:12 【解析】 主函数调用max函数,将实参 x=12、y=8 传递给形参 a、b;max函数通过三目运算符判断 a 大于 b,返回 a 的值 12;主函数接收返回值后,通过 printf 输出 "最大值是:12"。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第34练 第7章 函数的定义与调用《C语言程序设计》(电子工业出版社)一课一练-第1页
1

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