第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"。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$