内容正文:
C 语言程序设计
2023
翻转课堂实用教程
8.1 函数
1
2
3
4
导入函数
导入案例
函数的定义
函数的调用
函数原型声明
递归函数
知识点
函数的案例
案例分析
练习函数的定义及其调用
练习题
讲解本节的主要内容,方便学生的学习。
导入案例
案例8.1.1 现有2个字符串,计算并输出这二个字符串的长度。
(不使用strlen()函数)
#include<stdio.h>
int main(){
char str1[] = "Happy Learning!";
char str2[] = "C Language programing!";
int i,count;
//计算str1字符串的长度
count = 0;
for(i=0;str1[i]!='\0';i++)
count++;
printf("the length of str1 is %d
",count);
//计算str2字符串的长度
count=0;
for(i=0;str2[i]!='\0';i++)
count++;
printf("the length of str2 is %d
",count);
return 0;
}
案例8.1.1运行结果:
the length of str1 is 15
the length of str2 is 22
代码段2
代码段1
①两段代码是一样的,存在冗余现象
②每段代码功能单一
③如需修改代码,需修改多处,难以维护
8.1.1函数知识点
将前面例子中功能单一、并且会在多处调用的代码块抽象、并封装为一个模块,那么后续通过模块名就可以反复使用该模块了。
在C语言中这样一个模块叫做函数。
函数是完成一个特定功能的独立代码块。其英文名是Function,是对数据进行一系列操作后转化为新的数据。
用strlen()函数改进案例8.1.1的代码
8.1.1函数知识点
#include<stdio.h>
#include<string.h>
int main(){
char str1[] = "Happy Learning!";
char str2[] = "C Language programing!";
int i,count;
//计算str1字符串的长度
count = strlen(str1);
printf("the length of str1 is %d
",count);
//计算str2字符串的长度
count= strlen(str2);
printf("the length of str2 is %d
",count);
return 0;
}
案例8.1.1(改进)运行结果:
the length of str1 is 15
the length of str2 is 22
调用函数的代码
更加简洁、直观。
8.1.1函数知识点
函数
库函数:像scanf()、printf()、strcat()、strlen()这些由C语言提供的、供程序员直接调用的函数。
自定义函数:程序员根据自己的需求定制自己的函数
1、函数的定义
函数定义的一般形式:
8.1.1函数知识点
函数类型 函数名(形参表) /* 1、函数首部 */
{ /* 2、函数体 */
函数实现过程
return 表达式;
}
函数首部指出了函数的名字、可以处理的数据,以及处理后的数据类型。
函数体给出了对数据的处理过程
函数首部由函数类型、函数名和形参表三部分组成,
1、函数的定义——(1)函数首部
8.1.1函数知识点
函数类型 函数名(形参表) /* 1、函数首部 */
{
函数实现过程
return 表达式;
}
①函数类型,给出了处理后的数据类型,即返回值的类型。
函数有0个或者1个返回值:
没有返回值,函数类型为 void,不可省略。若省略,默认是int型;
若有1个返回值,比如是一个double类型变量,则函数类型应写double。
函数首部由函数类型、函数名和形参表三部分组成,
1、函数的定义——(1)函数首部
8.1.1函数知识点
函数类型 函数名(形参表) /* 1、函数首部 */
{
函数实现过程
return 表达式;
}
②函数名,即函数的名称
由程序员自定义的标识符,要是一个