第35练 第7章 函数的返回值及其类型、函数调用时参数间的传递《C语言程序设计》(电子工业出版社)一课一练
|
2份
|
7页
|
50人阅读
|
0人下载
内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第7章的第35练,内容涵盖第7章函数的7.4~7.5.1 函数的返回值及其类型、函数调用时参数间的传递(变量 / 常量 / 数组元素)。
《C语言程序设计》(电子工业出版社)一课一练 第35练
第7章 函数
7.4~7.5.1 函数的返回值及其类型、函数调用时参数间的传递
1、 单项选择题(本题共4小题)
1、关于 C 语言的 return 语句,下列说法正确的是( )
A. 一个函数只能定义一个 return 语句
B. return 语句只能返回常量类型的值
C. return 语句的作用是将表达式的值返回给主调函数,同时结束当前函数的执行
D. 没有 return 语句的函数无法正常执行结束
【答案】C
【解析】函数中可以定义多个 return 语句,但每次调用只会执行其中一个;return 语句可以返回变量、表达式等任意合法值,不局限于常量;没有 return 语句的 void 类型函数,执行到函数末尾会自动结束,因此只有选项 C 的描述正确。
2、若函数定义为float calc() { return 10; },主调函数中执行int res = calc();,则变量 res 的值是( )
A. 10.0
B. 10
C. 编译报错
D. 不确定的随机值
【答案】B
【解析】函数返回值类型为 float,主调函数接收类型为 int,系统会自动将返回的浮点型 10 转换为整型 10,因此 res 的值为 10,不会出现编译错误。
3、关于 void 类型函数,下列说法正确的是( )
A. 可以在主调函数中使用该函数的返回值
B. 函数体中必须包含带表达式的 return 语句
C. 明确表示该函数不返回任何值
D. 函数定义时可以省略 void 类型说明
【答案】C
【解析】void 类型函数的核心作用是标识函数无返回值,主调函数不能使用其返回值;函数体中可以省略 return 语句,或仅使用不带表达式的return;;必须明确写 void 类型,不能省略,因此选项 C 正确。
4、C 语言中参数的 "值传递" 方式,其核心特点是( )
A. 实参和形参共用同一个内存存储单元
B. 形参的修改会直接影响主调函数中实参的值
C. 只能传递常量作为实参
D. 实参的值复制给形参,两者占用独立的内存单元
【答案】D
【解析】值传递是将实参的值复制到形参的独立内存单元中,形参的任何修改仅作用于自身,不会反向影响实参;实参可以是变量、常量、数组元素等多种类型。
2、 判断题(本题共3题)
1、一个函数中可以定义多个 return 语句,因此可以同时返回多个值给主调函数。( )
【答案】×
【解析】虽然函数中可以存在多个 return 语句,但每次函数调用只会执行其中一个,因此只能返回一个值给主调函数,无法实现多值返回。
2、在值传递方式中,形参的取值是实参的副本,修改形参的值不会影响主调函数中实参的原始值。( )
【答案】√
【解析】值传递时实参和形参占用独立的内存单元,形参的修改仅作用于自身单元,不会反向传递给实参,保证了主调函数中变量的独立性。
3、所有 C 语言函数的返回值类型都必须明确声明,不能省略。( )
【答案】×
【解析】如果函数的返回值为整型,在函数定义时可以省略类型说明,系统会默认该函数的返回值类型为 int。
3、 填空题(本题共2题)
1、C 语言中,当使用变量、常量或数组元素作为函数参数时,采用的传递方式是____,其传递方向为单向传递,即只能将实参的值传递给形参。
【答案】值传递
【解析】值传递是 C 语言最基础的参数传递方式,实参和形参各自占用独立的内存空间,避免了被调函数意外修改主调函数的变量。这种传递方式符合模块化设计的低耦合要求,保证了数据的安全性。
2、若函数不需要返回任何值,应将其定义为____类型,这样可以避免主调函数错误地使用该函数的返回值。
【答案】void(空类型)
【解析】void 类型明确标识函数无返回值,编译器会对主调函数中使用该函数返回值的操作报错,提高代码的可读性和规范性。定义为该类型的函数,函数体中可省略 return 语句,或仅使用不带表达式的return;提前结束函数。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
void swap(int x, int y) {
int temp = x;
x = y;
y = temp;
}
int main() {
int a = 3, b = 5;
swap(a, b);
printf("a=%d, b=%d", a, b);
return 0;
}
【答案】
程序运行结果:
a=3, b=5
【解析】
主函数调用 swap 函数时,采用值传递方式,将 a 的值 3、b 的值 5 分别复制给形参 x、y;swap 函数内部交换的是 x 和 y 的值,但 x、y 是独立于 a、b 的内存单元,修改不会影响主函数中的 a 和 b,因此输出 a 和 b 的原始值。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《C语言程序设计》(电子工业出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《C语言程序设计》(电子工业出版社)一课一练的第7章的第35练,内容涵盖第7章函数的7.4~7.5.1 函数的返回值及其类型、函数调用时参数间的传递(变量 / 常量 / 数组元素)。
《C语言程序设计》(电子工业出版社)一课一练 第35练
第7章 函数
7.4~7.5.1 函数的返回值及其类型、函数调用时参数间的传递
1、 单项选择题(本题共4小题)
1、关于 C 语言的 return 语句,下列说法正确的是( )
A. 一个函数只能定义一个 return 语句
B. return 语句只能返回常量类型的值
C. return 语句的作用是将表达式的值返回给主调函数,同时结束当前函数的执行
D. 没有 return 语句的函数无法正常执行结束
2、若函数定义为float calc() { return 10; },主调函数中执行int res = calc();,则变量 res 的值是( )
A. 10.0
B. 10
C. 编译报错
D. 不确定的随机值
3、关于 void 类型函数,下列说法正确的是( )
A. 可以在主调函数中使用该函数的返回值
B. 函数体中必须包含带表达式的 return 语句
C. 明确表示该函数不返回任何值
D. 函数定义时可以省略 void 类型说明
4、C 语言中参数的 "值传递" 方式,其核心特点是( )
A. 实参和形参共用同一个内存存储单元
B. 形参的修改会直接影响主调函数中实参的值
C. 只能传递常量作为实参
D. 实参的值复制给形参,两者占用独立的内存单元
2、 判断题(本题共3题)
1、一个函数中可以定义多个 return 语句,因此可以同时返回多个值给主调函数。( )
2、在值传递方式中,形参的取值是实参的副本,修改形参的值不会影响主调函数中实参的原始值。( )
3、所有 C 语言函数的返回值类型都必须明确声明,不能省略。( )
3、 填空题(本题共2题)
1、C 语言中,当使用变量、常量或数组元素作为函数参数时,采用的传递方式是____,其传递方向为单向传递,即只能将实参的值传递给形参。
2、若函数不需要返回任何值,应将其定义为____类型,这样可以避免主调函数错误地使用该函数的返回值。
4、 读程序写结果题(本题共1题)
1、阅读下面的 C 语言程序,写出程序运行后的输出结果。
【程序代码】
#include <stdio.h>
void swap(int x, int y) {
int temp = x;
x = y;
y = temp;
}
int main() {
int a = 3, b = 5;
swap(a, b);
printf("a=%d, b=%d", a, b);
return 0;
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$