第24练 6.2 函数的调用与函数原型 《C语言》 (第五版) 一课一练 (山东省)

2026-06-24
| 2份
| 11页
| 5人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 作业-同步练
知识点 C语言概述
使用场景 同步教学
学年 2026-2027
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 108 KB
发布时间 2026-06-24
更新时间 2026-06-24
作者 xkw_068401954
品牌系列 上好课·一课一练
审核时间 2026-06-24
下载链接 https://m.zxxk.com/soft/58480025.html
价格 1.00储值(1储值=1元)
来源 学科网

内容正文:

【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第24练,内容是6.2 函数的调用与函数原型。 《C语言》(第五版)一课一练 第24练 6.2 函数的调用与函数原型 一、单选题 1. C语言中函数调用的一般形式是( ) A. 类型名 函数名(实际参数列表); B. 函数名(实际参数列表); C. 函数名[实际参数列表]; D. 实际参数列表->函数名; 2. 关于函数原型声明,下列说法正确的是( ) A. 函数原型声明的作用是告诉编译器函数的类型信息 B. 函数原型声明中必须写出各参数的名称 C. 如果函数定义在main之前,仍需要函数原型声明 D. 函数原型声明中不能出现形参的类型 3. 已知函数原型 void show(int a, int b); 以下调用中正确的是( ) A. show(3.5, 6);(浮点数可以自动转为整型) B. show(1+2, 3+4, 5);(实参个数可以多于形参) C. show(2*3, 10%4);(表达式将先求值再传递) D. void show(5, 8);(调用时写void表示无返回值) 4. 当程序执行到函数调用语句时,以下描述正确的是( ) A. 程序终止运行,等待用户重新启动 B. 直接跳过函数调用语句,继续执行下一条 C. 先执行调用语句后面的代码,再执行函数体 D. 程序转到被调用函数执行,执行完返回调用处继续 5. 已知 int square(int n) { return n*n; } 则语句 int x = square(3) + square(4); 执行后x的值是( ) A. 49 B. 12 C. 25 D. 14 6. 以下关于函数声明与函数定义的说法中,正确的是( ) A. 函数声明以分号结尾,函数定义后跟函数体 B. 函数声明包含函数体,函数定义不包含函数体 C. 函数声明和函数定义的写法完全相同 D. 一个函数可以多次声明,定义可以有一次 7. 已知以下程序,输出结果是 int f(int n) { return n+2; } main() { int a=1, b=2, c=3; printf("%d ", f(a+b)+f(c)); }( ) A. 7 B. 8 C. 9 D. 10 二、简答题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int diff(int x, int y) { if (x > y) return x - y; else return y - x; } main() { int a = 15, b = 8, c = 20; printf("%d ", diff(a, b)); printf("%d ", diff(b, c)); } 三、案例分析题 9. 以下程序的功能是定义三个函数分别计算两数的和、差、积,并在main中调用。请填空。 #include <stdio.h> 【1】 add(int, int); int sub(int, int); int mul(int, int); main() { int a, b; printf("请输入两个整数:"); scanf("%d%d", &a, &b); printf("和=%d, 差=%d, 积=%d ", add(a,【2】), sub(a,b), mul(a,b)); } int add(int x, int y) { return 【3】; } int sub(int x, int y) { return x - y; } int mul(int x, int y) { return x * y; } 四、综合应用题 10. 编写一个C程序:定义三个函数: (1) int isEven(int n) — 判断n是否为偶数,是则返回1,否则返回0 (2) int sumEven(int a[], int len) — 求数组中所有偶数的和 (3) 在main函数中定义含8个元素的整型数组并从键盘输入,调用sumEven计算偶数和并输出。 要求使用函数原型声明,函数定义放在main之后。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 【编写说明】依托三阶支架资源编写方案,《一课一练》明确基础层具象化支架定位,作为课堂同步配套资源,其内容与课堂教学深度绑定,并且精准匹配中职学生知识基础与学习特质,遵循“由浅入深、循序渐进”的认知规律,聚焦基础性与实效性核心,通过拆解知识点、简化认知难度,切实降低学习门槛,为后续知识巩固与能力提升筑牢根基,是优质课后作业首选。 本卷是《C语言》(第五版)《一课一练》第24练,内容是6.2 函数的调用与函数原型。 《C语言》(第五版)一课一练 第24练 6.2 函数的调用与函数原型 一、单选题 1. C语言中函数调用的一般形式是( ) A. 类型名 函数名(实际参数列表); B. 函数名(实际参数列表); C. 函数名[实际参数列表]; D. 实际参数列表->函数名; 【答案】B 【解析】函数调用的格式为:函数名(实际参数1,实际参数2,...)。调用时不需要写返回值类型(类型名出现在定义和声明中),参数用圆括号而非方括号。实参列表中各参数用逗号分隔,调用语句末尾加分号。选项B完整正确地描述了函数调用的语法形式。 2. 关于函数原型声明,下列说法正确的是( ) A. 函数原型声明的作用是告诉编译器函数的类型信息 B. 函数原型声明中必须写出各参数的名称 C. 如果函数定义在main之前,仍需要函数原型声明 D. 函数原型声明中不能出现形参的类型 【答案】A 【解析】函数原型声明(如int max(int,int);)告诉编译器函数的返回值类型和参数类型信息,使编译器在函数调用时能检查类型是否匹配。形参名称在声明中可以省略,参数类型必须写出。若函数定义在调用之前,可以不需要声明。原型声明必须包含参数的类型信息。 3. 已知函数原型 void show(int a, int b); 以下调用中正确的是( ) A. show(3.5, 6);(浮点数可以自动转为整型) B. show(1+2, 3+4, 5);(实参个数可以多于形参) C. show(2*3, 10%4);(表达式将先求值再传递) D. void show(5, 8);(调用时写void表示无返回值) 【答案】C 【解析】C中show(2*3,10%4)先将表达式求值:2*3=6,10%4=2,然后将6和2作为实参传入函数,调用方式正确。A中3.5传给int形参可能产生截断警告。B中实参个数多于形参个数。D中调用时不应写void,void是定义和声明时使用的。 4. 当程序执行到函数调用语句时,以下描述正确的是( ) A. 程序终止运行,等待用户重新启动 B. 直接跳过函数调用语句,继续执行下一条 C. 先执行调用语句后面的代码,再执行函数体 D. 程序转到被调用函数执行,执行完返回调用处继续 【答案】D 【解析】函数调用发生时,程序流程转到被调用函数的函数体开始执行。实参的值被复制给形参,然后在被调用函数内部执行代码。当被调用函数执行完(执行到return语句,直到函数体结束),控制权返回调用处,继续执行调用语句后面的代码。这是函数调用的基本执行机制。 5. 已知 int square(int n) { return n*n; } 则语句 int x = square(3) + square(4); 执行后x的值是( ) A. 49 B. 12 C. 25 D. 14 【答案】C 【解析】square(3)返回9,square(4)返回16,9+16=25赋给x。函数调用可以作为表达式的一部分参与运算,先用函数的返回值替代调用表达式,再进行表达式计算。这种用法使代码更加简洁,不需要将每个函数调用结果先存入临时变量再参与运算。 6. 以下关于函数声明与函数定义的说法中,正确的是( ) A. 函数声明以分号结尾,函数定义后跟函数体 B. 函数声明包含函数体,函数定义不包含函数体 C. 函数声明和函数定义的写法完全相同 D. 一个函数可以多次声明,定义可以有一次 【答案】A 【解析】函数声明(原型)以分号结尾,如int max(int,int);,不包含函数体。函数定义包含完整的函数体{...},后面不跟分号。函数定义次数限定为一次(不能重复定义),声明可以有多次。声明告诉编译器函数名和类型信息,定义则提供函数的完整实现代码。 7. 已知以下程序,输出结果是 int f(int n) { return n+2; } main() { int a=1, b=2, c=3; printf("%d ", f(a+b)+f(c)); }( ) A. 7 B. 8 C. 9 D. 10 【答案】D 【解析】先计算f(a+b)=f(1+2)=f(3),返回3+2=5。再计算f(c)=f(3),返回3+2=5。最后计算5+5=10输出。函数在表达式中作为操作数时,调用将依次进行,每次调用返回一个值参与后续计算。整个计算过程体现了函数调用在表达式中的求值机制。 二、简答题 8. 以下程序的运行结果是【··】。 #include <stdio.h> int diff(int x, int y) { if (x > y) return x - y; else return y - x; } main() { int a = 15, b = 8, c = 20; printf("%d ", diff(a, b)); printf("%d ", diff(b, c)); } 【答案】7 12 【解析】diff函数计算两个整数差的绝对值:若x>y返回x-y,否则返回y-x。diff(15,8)中15>8,返回15-8=7。diff(8,20)中8不大于20,执行else分支返回20-8=12。两次调用输出7和12并各占一行。函数调用使代码逻辑得到复用,避免重复编写相同计算逻辑。 三、案例分析题 9. 以下程序的功能是定义三个函数分别计算两数的和、差、积,并在main中调用。请填空。 #include <stdio.h> 【1】 add(int, int); int sub(int, int); int mul(int, int); main() { int a, b; printf("请输入两个整数:"); scanf("%d%d", &a, &b); printf("和=%d, 差=%d, 积=%d ", add(a,【2】), sub(a,b), mul(a,b)); } int add(int x, int y) { return 【3】; } int sub(int x, int y) { return x - y; } int mul(int x, int y) { return x * y; } 【答案】【1】int 【2】b 【3】x + y 【解析】第一空填写int作为add函数原型声明的返回值类型。第二空add(a,b)传入两个实参a和b。第三空add函数体中return x+y返回两参数之和。程序使用函数原型声明让编译器在main调用前获知各函数的类型信息,函数定义可在main之后给出。 四、综合应用题 10. 编写一个C程序:定义三个函数: (1) int isEven(int n) — 判断n是否为偶数,是则返回1,否则返回0 (2) int sumEven(int a[], int len) — 求数组中所有偶数的和 (3) 在main函数中定义含8个元素的整型数组并从键盘输入,调用sumEven计算偶数和并输出。 要求使用函数原型声明,函数定义放在main之后。 【答案】#include <stdio.h> int isEven(int n); int sumEven(int a[], int len); main() { int arr[8], i; printf("请输入8个整数: "); for (i = 0; i < 8; i++) scanf("%d", &arr[i]); printf("所有偶数的和=%d ", sumEven(arr, 8)); } int isEven(int n) { if (n % 2 == 0) return 1; else return 0; } int sumEven(int a[], int len) { int i, sum = 0; for (i = 0; i < len; i++) if (isEven(a[i])) sum += a[i]; return sum; } 【解析】程序先声明两个函数原型。main中输入数组后调用sumEven,sumEven遍历数组对每个元素调用isEven判断是否为偶数,isEven通过n%2==0判断。若为偶数则返回1,sumEven中将其累加到sum。所有的函数定义均位于main之后,这是常见的代码组织方式。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第24练 6.2 函数的调用与函数原型 《C语言》 (第五版) 一课一练 (山东省)
1
第24练 6.2 函数的调用与函数原型 《C语言》 (第五版) 一课一练 (山东省)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。