第7章用函数实现模块化程序设计 71为什么要用函数 7.2怎样定义函数 73调用函数 7.4对被调用函数的声明和函数原型 75函数的嵌套调用 7.6函数的递归调用 77数组作为函数参数78局部变量和全局变量 79变量的存储方式和生存期 710关于变量的声明和定义 711内部函数和外部函数
第7章 用函数实现模块化程序设计 7.1为什么要用函数 7.2怎样定义函数 7.3调用函数 7.4对被调用函数的声明和函数原型 7.5函数的嵌套调用 7.6函数的递归调用 7.7数组作为函数参数 7.8局部变量和全局变量 7.9变量的存储方式和生存期 7.10 关于变量的声明和定义 7.11 内部函数和外部函数
7.1为什么要用函数 问题: ◆如果程序的功能比较多,规模比较大,把所有代 码都写在main函数中,就会使主函数变得庞杂、 头绪不清,阅读和维护变得困难 ◆有时程序中要多次实现某一功能,就需要多次重 复编写实现此功能的程序代码,这使程序冗长, 不精炼
7.1为什么要用函数 ➢问题: ◆如果程序的功能比较多,规模比较大,把所有代 码都写在main函数中,就会使主函数变得庞杂、 头绪不清,阅读和维护变得困难 ◆有时程序中要多次实现某一功能,就需要多次重 复编写实现此功能的程序代码,这使程序冗长, 不精炼
7.1为什么要用函数 >解决的方法:用模块化程序设计的思路 ◆采用“组装”的办法简化程序设计的过程 ◆事先编好一批实现各种不同功能的函数 ◆把它们保存在函数库中,需要时直接用
7.1为什么要用函数 ➢解决的方法:用模块化程序设计的思路 ◆采用“组装”的办法简化程序设计的过程 ◆事先编好一批实现各种不同功能的函数 ◆把它们保存在函数库中,需要时直接用
7.1为什么要用函数 >解决的方法:用模块化程序设计的思路 ◆函数就是功能 ◆每一个函数用来实现一个特定的功能 ◆函数的名字应反映其代表的功能
7.1为什么要用函数 ➢解决的方法:用模块化程序设计的思路 ◆函数就是功能 ◆每一个函数用来实现一个特定的功能 ◆函数的名字应反映其代表的功能
7.1为什么要用函数 >在设计一个较大的程序时,往往把它分为若干个 程序模块,每一个模块包括一个或多个函数,每 个函数实现一个特定的功能 >C程序可由一个主函数和若干个其他函数构成 主函数调用其他函数,其他函数也可以互相调用 同一个函数可以被一个或多个函数调用任意多次
7.1为什么要用函数 ➢ 在设计一个较大的程序时,往往把它分为若干个 程序模块,每一个模块包括一个或多个函数,每 个函数实现一个特定的功能 ➢ C程序可由一个主函数和若干个其他函数构成 ➢ 主函数调用其他函数,其他函数也可以互相调用 ➢ 同一个函数可以被一个或多个函数调用任意多次
7.1为什么要用函数 main e f gk h
7.1为什么要用函数 main a b c d e f g h i e
7.1为什么要用函数 可以使用库函数 >可以使用自己编写的函数 >在程序设计中要善于利用函数,可以减少 重复编写程序段的工作量,同时可以方便 地实现模块化的程序设计
7.1为什么要用函数 ➢可以使用库函数 ➢可以使用自己编写的函数 ➢在程序设计中要善于利用函数,可以减少 重复编写程序段的工作量,同时可以方便 地实现模块化的程序设计
7.1为什么要用函数 例71输出以下的结果,用函数调用实现。 How do you do!
7.1为什么要用函数 例7.1 输出以下的结果,用函数调用实现。 ****************** How do you do! ******************
7.1为什么要用函数 解题思路: ◆在输出的文字上下分别有一行“*”号,显然不 必重复写这段代码,用一个函数 print star来 实现输出一行“*”号的功能。 ◆再写一个 print message函数来输出中间 行文字信息 ◆用主函数分别调用这两个函数
7.1为什么要用函数 ➢解题思路: ◆在输出的文字上下分别有一行“*”号,显然不 必重复写这段代码,用一个函数print_star来 实现输出一行“*”号的功能。 ◆再写一个print_message函数来输出中间一 行文字信息 ◆用主函数分别调用这两个函数
# include≤ stdio. h> int maino d void print star Oi void print message Oi print staro; print message or print starR return o: 输出16个* void print staro void print_message(输出一行文学)} printf(*米米**米**率米米米*米n printf( How do you do!n i j
#include int main() { void print_star(); void print_message(); print_star(); print_message(); print_star(); return 0; } void print_star() { printf(“******************\n”); } void print_message() { printf(“ How do you do!\n”); } 输出16个* 输出一行文字