专题七 函数(课件)-《编程语言基础—C语言》(高教版第五版)高考备考讲练测(山东省)

2024-07-29
| 36页
| 121人阅读
| 1人下载
精品

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 C语言程序设计高教版(第五版)全一册
年级 高一
章节 第6章 函数
类型 课件
知识点 函数
使用场景 中职复习-二轮专题
学年 2024-2025
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 PPTX
文件大小 35.69 MB
发布时间 2024-07-29
更新时间 2024-07-29
作者 xkw__007
品牌系列 上好课·一轮讲练测
审核时间 2024-07-29
下载链接 https://m.zxxk.com/soft/46571560.html
价格 5.00储值(1储值=1元)
来源 学科网

内容正文:

专题七 函数 编程语言基础—C语言 专题复习讲练测 1 理解函数的定义。 掌握函数的调用。 一 考纲要求 ① 返回类型: 函数执行后返回给调用者的值的数据类型。它可以是基本数据类型(如int, float, char等),也可以是结构体、指针等更复杂的类型。如果函数不返回任何值,返回类型是void。 ② 函数名: 函数的标识符,用于在代码中调用该函数。函数① 返回类型: 函数执行后返回给调用者的值的数据类型。它可以是基本数据类型(如int, float, char等),也可以是结构体、指针等更复杂的类型。如果函数不返回任何值,返回类型是void。 ② 函数名: 函数的标识符,用于在代码中调用该函数。函数名应该遵循C语言的命名规则,通常是小写字母,如果需要可以加上下划线分隔。 ③ 参数列表: 这是函数可以接受的输入值列表,每个参数包括其数据类型和名称。参数列表中的参数用逗号分隔。如果函数不接受任何参数,参数列表为空,但仍需包含一对圆括号()。名应该遵循C语言的命名规则,通常是小写字母,如果需要可以加上下划线分隔。 ③ 参数列表: 这是函数可以接受的输入值列表,每个参数包括其数据类型和名称。参数列表中的参数用逗号分隔。如果函数不接受任何参数,参数列表为空,但仍需包含一对圆括号()。 二 知识点梳理 一:函数的定义 在C语言中,函数是一段具有特定功能的代码块,可以被重复调用。 ① 返回类型: 函数执行后返回给调用者的值的数据类型。它可以是基本数据类型(如int, float, char等),也可以是结构体、指针等更复杂的类型。如果函数不返回任何值,返回类型是void。 ② 函数名: 函数的标识符,用于在代码中调用该函数。函数名应该遵循C语言的命名规则,通常是小写字母,如果需要可以加上下划线分隔。 ③ 参数列表: 这是函数可以接受的输入值列表,每个参数包括其数据类型和名称。参数列表中的参数用逗号分隔。如果函数不接受任何参数,参数列表为空,但仍需包含一对圆括号()。 二 知识点梳理 一:函数的定义 ④ 函数体: 这是函数执行的代码块,包括一系列语句,它们定义了函数的行为。函数体以左大括号{开始,以右大括号}结束。函数体可以包含变量声明、表达式、控制结构(如循环和条件语句)等。 ⑤ 局部变量声明: 可以声明局部变量,这些变量只在函数的作用域内可见。 ⑥ 语句: 函数体中可以包含执行特定操作的语句,如赋值、输入输出、循环、条件判断等。 ⑦ 返回语句: 使用return关键字从函数返回一个值。如果函数的返回类型不是void,则必须至少有一个return语句来返回一个相应类型的值。如果函数的返回类型是void,则可以省略return语句,或者使用return;来提前退出函数。 二 知识点梳理 一:函数的定义 函数定义示例: 二 知识点梳理 一:函数的定义 sum函数接受两个整数参数a和b,计算它们的和,并将结果存储在局部变量result中。如果结果大于100,则打印一条消息。最后,函数返回计算得到的和。 函数的参数 在C语言中,函数调用涉及到两个重要的概念:实际参数和形式参数。 ① 实际参数 在C语言中,实际参数是函数调用时提供给函数的值或变量,用于初始化函数的形式参数。 类型: 实际参数可以是任何有效的C语言表达式,包括变量、常量、表达式、数组元素、指针等。 值传递: C语言默认使用按值传递。这意味着在函数调用时,实际参数的值被复制给形式参数。 类型转换: 当实际参数的类型与形式参数的类型不匹配时,编译器会自动进行类型转换。 二 知识点梳理 一:函数的定义 示例: printSum函数被调用了三次,每次使用不同类型的实际参数:变量、常量和表达式的结果。 这些实际参数的值在函数调用时被复制给形式参数a和b,然后计算它们的和并打印出来。 由于C语言是按值传递的,所以函数内部对a和b的修改不会影响x、y或z的值。 二 知识点梳理 一:函数的定义 形式参数 形式参数定义在函数的首部,即在函数名和圆括号()内。每个形式参数都有一个指定的数据类型,决定了它可以接收的值的类型。形式参数具有一个名称,这个名字在函数体内部用于引用传递给该参数的值。 值传递: 默认情况下,C语言通过值传递参数。这意味着实际参数的值被复制到形式参数中。 作用域: 形式参数的作用域仅限于函数体内部。一旦离开函数体,形式参数的值不可访问。 参数的顺序和个数: 在函数调用时,实际参数必须按照形式参数在函数定义中的顺序传递。调用函数时提供的参数个数必须与函数定义中的参数个数一致,除非函数定义了可变参数。 二 知识点梳理 一:函数的定义 二 知识点梳理 一:函数的定义 calculate函数定义了两个形式参数a和b。在main函数中调用calculate时,变量x和y作为实际参数传递给a和b。在calculate函数体内,使用这些形式参数进行加法运算,并打印结果。由于C语言是按值传递的,所以函数内部对a和b的修改不会影响x和y的值。 函数的返回值 在C语言中,函数的返回值是函数执行完成后返回给调用者的数据。返回值是函数与调用者之间通信的一种方式,它允许函数将计算结果或状态信息传递回去。 二 知识点梳理 一:函数的定义 二 知识点梳理 一:函数的定义 ① 返回值类型: 函数的返回类型定义了返回值的数据类型。它可以是基本数据类型(如int、float、char等),也可以是结构体、指针等更复杂的类型。如果函数不返回任何值,则使用void作为返回类型。 ② 返回语句: 使用return关键字来从函数返回一个值。return语句后面跟着的表达式会被计算,并将其结果作为函数的返回值。 return语句后面可以跟任何有效的表达式,该表达式在执行return语句时被计算。 返回的值必须与函数的返回类型声明一致。如果函数返回int,则表达式的结果必须可以转换为int类型。 二 知识点梳理 一:函数的调用 二 知识点梳理 一:函数的定义 ③ 按值返回: C语言中的返回值是通过值传递的方式返回的。这意味着返回值被复制到调用者提供的存储位置。 二 知识点梳理 二:函数的调用 C语言函数调用是程序流程控制的一个重要部分,它允许程序的不同部分通过调用函数来共享代码和数据。C语言函数调用的一般形式如下: 1.函数名(实际参数列表); 调用函数时使用函数名,必须与函数定义时使用的名称完全一致。调用函数时,函数名后紧跟一对圆括号,即使没有参数也需要包含这对圆括号。 实际参数列表: 函数调用时传递给函数的参数列表,实际参数用于初始化函数定义中的形式参数。实际参数列表中的各项参数以逗号分隔,并且必须与函数定义中的形式参数在数量和类型上匹配(或者能够被隐式转换)。 二 知识点梳理 二:函数的调用 二 知识点梳理 二:函数的调用 multiply的原型声明了函数的返回类型为int,并且接受两个int类型的参数。函数定义提供了函数的实际实现,包括参数名a和b。在main函数中,multiply被正确调用,传递了两个整数值x和y。 二 知识点梳理 二:函数的调用 嵌套调用和递归调用: 在C语言中,函数的嵌套调用指的是一个函数在执行过程中调用另一个函数。这种调用可以是直接的,也可以是间接的。 二 知识点梳理 二:函数的调用 直接嵌套调用: 直接嵌套调用是指在一个函数内部直接调用另一个函数。 二 知识点梳理 二:函数的调用 在这个例子中: calculate函数首先调用add函数计算num1和num2的和。 然后将这个和与num3的乘积通过调用multiply函数计算出来。 最终结果存储在result变量中。 在C语言中,递归调用是一种函数自己调用自己的方法。 递归函数通常包括以下两个部分: 基本情况:递归终止的条件。 递归情况:函数调用自身的情况。 二 知识点梳理 二:函数的调用 示例:计算计算一个数的阶乘 二 知识点梳理 二:函数的调用 示例:斐波那契数列 斐波那契数列是一个每一项都是前两项和的数列,通常定义为:F(0) = 0, F(1) = 1, 且对于 n > 1, 有 F(n) = F(n-1) + F(n-2)。 四 限时练习 以下程序的运行结果是( ) #include <stdio.h> func(int a, int b) { static int m = 0, i = 2; i += m + 1; m = i + a + b; return m; } main() { int k = 4, m = 1, p; p = func(k, m); printf("%d, ", p); p = func(k, m); printf("%d ", p); } A.8,7 B.8,17 C.8,8 D.4,1 【答案】B 【解析】第一次调用func(k, m): 初始时,i = 2,m = 0(静态变量的初始值)。 i增加m + 1,变为2 + 0 + 1 = 3。 m更新为i + a + b,即3 + 4 + 1 = 8。 返回m的值为8。 第二次调用func(k, m): 此时,i保留上一次调用的值,即3。 m也保留上一次调用的值,即8。 i再次增加m + 1,变为3 + 8 + 1 = 12。 m更新为i + a + b,即12 + 4 + 1 = 17。 返回m的值为17。 因此,程序的输出是:8, 17 四 限时练习 2.C语言程序中,如果函数定义省略了“类型说明符”,则系统认为函数的返回值是( ) A.double B.int C.float D.char 【答案】B 【解析】在C语言中,如果函数定义时省略了类型说明符,系统默认函数的返回类型是int。这是C语言的一个特性,即如果函数定义中没有明确指定返回类型,则默认为int。 四 限时练习 3.下列函数调用语句中,含有实参的个数为( ) func(exp1,exp2,(exp3,exp4)) A.1 B.2 C.3 D.4 【答案】C 【解析】函数调用语句中,实参的个数是由函数调用时传递给函数的表达式的个数决定的。 这里有三个表达式作为参数传递给函数func:exp1、exp2、(exp3,exp4)(这是一个复合表达式,但仍然算作一个参数)因此,含有实参的个数为 3。 四 限时练习 4.在C语言的函数调用中,如果普通变量作为函数的实参,则它与对应形参之间的传递方式是( ) A.地址传递 B.由用户指定传递方式 C.由实参传递给形参,再由形参传递给实参 D.单向值传递 【答案】D 【解析】当一个普通变量作为参数传递给函数时,实际上是将这个变量的值复制一份传递给函数的形参。形参对这个值的修改不会影响到实参的原始值。只有当实参是指针类型时,函数才能通过形参间接地修改实参的值。 四 限时练习 5.在C语言中规定,函数返回值的类型由( ) A. 定义该函数时所指定的函数类型决定 B. 调用该函数的主调函数决定 C. return语句中的表达式类型决定 D. 调用该函数时系统临时决定 【答案】A 【解析】在C语言中,函数返回值的类型是由定义该函数时所指定的函数类型决定的。这意味着,当你声明或定义一个函数时,你需要指定函数的返回类型,这个返回类型决定了函数返回值的类型。 四 限时练习 5.在C语言中规定,函数返回值的类型由( ) A. 定义该函数时所指定的函数类型决定 B. 调用该函数的主调函数决定 C. return语句中的表达式类型决定 D. 调用该函数时系统临时决定 【答案】A 【解析】在C语言中,函数返回值的类型是由定义该函数时所指定的函数类型决定的。这意味着,当你声明或定义一个函数时,你需要指定函数的返回类型,这个返回类型决定了函数返回值的类型。 四 限时练习 5.在C语言中规定,函数返回值的类型由( ) A. 定义该函数时所指定的函数类型决定 B. 调用该函数的主调函数决定 C. return语句中的表达式类型决定 D. 调用该函数时系统临时决定 【答案】A 【解析】在C语言中,函数返回值的类型是由定义该函数时所指定的函数类型决定的。这意味着,当你声明或定义一个函数时,你需要指定函数的返回类型,这个返回类型决定了函数返回值的类型。 四 限时练习 5.在C语言中规定,函数返回值的类型由( ) A. 定义该函数时所指定的函数类型决定 B. 调用该函数的主调函数决定 C. return语句中的表达式类型决定 D. 调用该函数时系统临时决定 【答案】A 【解析】在C语言中,函数返回值的类型是由定义该函数时所指定的函数类型决定的。这意味着,当你声明或定义一个函数时,你需要指定函数的返回类型,这个返回类型决定了函数返回值的类型。 四 限时练习 6.在C语言中,下面关于函数正确的叙述是( ) A. 函数不可以嵌套定义,也不可以嵌套调用 B. 函数可以嵌套定义,但不可以嵌套调用 C. 函数可以嵌套定义,也可以嵌套调用 D. 函数不可以嵌套定义,但可以嵌套调用 【答案】D 【解析】函数不可以嵌套定义,但可以嵌套调用 四 限时练习 7.一个函数的组成有( ) A. 函数首部和函数体 B. 函数名、函数类型、函数参数名、函数参数类型 C. 主函数和子函数 D. 函数的声明部分和执行部分 【答案】D 【解析】函数首部定义了函数的名称、返回类型和参数列表,而函数体包含了函数的执行代码。 四 限时练习 8.实现一个函数,打印乘法口诀表,输入n,输出n*n口诀表。 【答案】 #include <stdio.h> // 函数声明 void printMultiplicationTable(int n); int main() { int n; printf("Enter the size of the multiplication table: "); scanf("%d", &n); // 从用户输入获取n的值 // 调用函数打印乘法口诀表 printMultiplicationTable(n); return 0; } // 函数定义 void printMultiplicationTable(int n) { for (int i = 1; i <= n; ++i) { for (int j = 1; j <= n; ++j) { printf("%d*%d=%d\t", i, j, i * j); // 打印乘法口诀表的一项 } printf(" "); // 每完成一行后换行 } } 四 限时练习 9.实现一个函数,判断year是不是闰年。 【答案】 #include <stdio.h> // 函数声明 int isLeapYear(int year); int main() { int year; printf("Enter a year: "); scanf("%d", &year); // 从用户输入获取年份 // 判断是否是闰年 if (isLeapYear(year)) { printf("%d is a leap year. ", year); } else { printf("%d is not a leap year. ", year); } return 0; } // 函数定义 int isLeapYear(int year) { if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { return 1; // 是闰年 } else { return 0; // 不是闰年 } } C语言函数是程序模块化的基础,通过定义和调用实现代码复用和任务分离。函数可以接收输入参数,执行特定任务,并可通过返回值输出结果。函数内部的局部变量具有独立作用域,而静态变量则在调用间保持状态。递归函数允许自我调用,但需注意防止无限递归。函数原型确保了调用时参数类型的正确性。 五 内容小结 感谢观看 $$

资源预览图

专题七 函数(课件)-《编程语言基础—C语言》(高教版第五版)高考备考讲练测(山东省)
1
专题七 函数(课件)-《编程语言基础—C语言》(高教版第五版)高考备考讲练测(山东省)
2
专题七 函数(课件)-《编程语言基础—C语言》(高教版第五版)高考备考讲练测(山东省)
3
专题七 函数(课件)-《编程语言基础—C语言》(高教版第五版)高考备考讲练测(山东省)
4
专题七 函数(课件)-《编程语言基础—C语言》(高教版第五版)高考备考讲练测(山东省)
5
专题七 函数(课件)-《编程语言基础—C语言》(高教版第五版)高考备考讲练测(山东省)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。