
第6章函数
第6章 函数

本章重点1理解函数、形参、实参、作用域、生存期的概念;2掌握用户自定义函数的原型声明、函数定义和函数调用的方法:3理解全局变量、局部变量、静态变量的作用域和生存期;掌握递归调用方法:?5了解利用工程管理程序的方法
⚫ 本章重点 1 理解函数、形参、实参、作用域、生存 期的概念; 2 掌握用户自定义函数的原型声明、函数 定义和函数调用的方法; 3 理解全局变量、局部变量、静态变量的 作用域和生存期; 4 掌握递归调用方法; 5 了解利用工程管理程序的方法

主要内容6.1函数概述6.2函数的定义与调用6.3函数的返回值方法6.4函数参数的传递方式6.5函数的调用6.6变量的作用域和生命周期6.7变量的存储类别
主要内容 6.1 函数概述 6.2 函数的定义与调用 6.3 函数的返回值方法 6.4 函数参数的传递方式 6.5 函数的调用 6.6 变量的作用域和生命周期 6.7 变量的存储类别

6.1函数概述一个较大的程序可分为若千个程序模块,每一个模块用来实现一个特定的功能。在高级语言中用子程序实现模块的功能。在C程序中子程序由函数来完成。一个C程序可由一个主函数和若干个其他函数构成。C语言称为函数式语言
4 6.1 函数概述 一个较大的程序可分为若干个程序模块,每一个模块 用来实现一个特定的功能。 在高级语言中用子程序实现模块的功能。 在C程序中子程序由函数来完成。 一个C程序可由一个主函数和若干个其他函数构成。 C语言称为函数式语言

6.1函数概述函数分类:从函数定义的角度看①库函数,即标准函数。由C编译系统提供需要在程序前包含有该函数原型的头文件即可,在程序中直接调用。用户自已定义的函数。用以解决用户的专门需要。(本章内容)返回值角度分:有返回值函数"void"无返回值函数:传送数据角度分:无参函数有参函数
5 6.1 函数概述 函数分类: 返回值角度分:有返回值函数 无返回值函数: “void”。 传送数据角度分:无参函数 有参函数 从函数定义的角度看, ①库函数,即标准函数。由C编译系统提供,需要在程 序前包含有该函数原型的头文件即可,在程序中直接调 用。 ② 用户自己定义的函数。用以解决用户的专门需要。 (本章内容)

6. 2 函数的定义与调用6.2.1无参函数的定义形式1.函数的定义函数头类型函数名()声明部分函数体语句2.函数的原型声明类型函数名);3.函数的调用函数名();6
6 6.2函数的定义与调用 类型 函数名( ) { 声明部分 语句 } 6.2.1 无参函数的定义形式 1. 函数的定义 2. 函数的原型声明 类型 函数名( ) ; 3. 函数的调用 函数名 ( ); 函数头 函数体

*******************【例6-1】无参函数的定义及其调用How do you do!******************#includevoid main()川原型声明voidprintstarO;voidprint message();川原型声明儿函数调用printstar();儿函数调用printmessage();printstar();儿函数调用Ⅱ定义函数voidprintstar()yprintf(********/n");Ⅱ定义函数voidprint_message()printf("Howdoyoudo!In");
【例6-1】无参函数的定义及其调用 #include void main() { void printstar(); //原型声明 void print_message(); //原型声明 printstar(); //函数调用 print_message(); //函数调用 printstar(); //函数调用 } void printstar() //定义函数 { printf("*******************\n"); } void print_message() //定义函数 { printf(" How do you do!\n"); } ******************* How do you do! *******************

例:口"E:\Debuglc.exeX利用自定义函数。显@aaaaa示下面的图形,要求:aBe@@@eeOC@@自定义函数f1显示方aa@aaOaa块图形。自定义函数C@@1@aa0f2显示三角形。aa@aaa66C66CPress any key to continue
利用自定义函数,显 示下面的图形,要求: 自定义函数f1显示方 块图形,自定义函数 f2显示三角形 。 例:

#includevoid main()void fi();void f2();f1();f2();dvoid fi()人int k,m;for(k=1;k<=7;k++)1for(m=1;m<=7;m++)void f2()printf("@");Lprintf("\n");intk,m;for(k=1;k<=6;k++)for(m=1;m<=k;m++)printf("6");printf("\n");
#include void main() { void f1(); void f2(); f1(); f2(); } void f1() { int k,m; for(k=1;k<=7;k++) { for(m=1;m<=7;m++) printf("@ "); printf("\n"); } } void f2() { int k,m; for(k=1;k<=6;k++) { for(m=1;m<=k;m++) printf("6 "); printf("\n"); } }

kt61:利用自定义函数,显示下面的图形,要求:输入一个字符,如果为数字字符,则显示三角形图形,否则显示方块图形,自定义函数f1显示方块图形,自定义函数f2显示三角形。"E\Debuglc.exe"E\Debuglc.exeOB输入一个字符:733333333Y3333Y33333福Press any key to continuePressany key to continue
kt61:利用自定义函数,显示下面的图形,要求: 输入 一个字符,如果为数字字符,则显示三角形图形,否 则显示方块图形,自定义函数f1显示方块图形,自定义 函数f2显示三角形