第6章函数与编译预处理命令 在C程序设计中,通常将一个较大程序分 成几个功能较为单一的子程序模块,用函数来 完成每个子程序的作用。C语言是函数驱动语 言,C程序都由一个或多个函数构成,其中有 且只有一个名为man的函数,即主函数,C程 序总是从main函数开始执行并最后在main函数 中结束整个程序的运行
第 6 章 函数与编译预处理命令 在C程序设计中,通常将一个较大程序分 成几个功能较为单一的子程序模块,用函数来 完成每个子程序的作用。C语言是函数驱动语 言,C程序都由一个或多个函数构成,其中有 且只有一个名为main的函数,即主函数,C程 序总是从main函数开始执行并最后在main函数 中结束整个程序的运行
函数常识 1、功能模块:求解较小问题的算法和程序称作 “功能模块”,各功能模块可以先单独设计, 然后将求解所有子问题的模块组合成求解原问 题的程序 2、一个解决大问题的程序,可以分解成多个 解决小问题的模块,这就是“自顶向下”的模 块化程序设计方法 3、用一个或多个函数来实现这些功能模块
函数常识 1、功能模块:求解较小问题的算法和程序称作 “功能模块”, 各功能模块可以先单独设计, 然后将求解所有子问题的模块组合成求解原问 题的程序。 2、一个解决大问题的程序,可以分解成多个 解决小问题的模块,这就是“自顶向下”的模 块化程序设计方法。 3、用一个或多个函数来实现这些功能模块
例:打印图形: 大大大大大大大大大大大大大大大大大大 How do you do 大大大大大大大大大大大大大大大大大大 大大大大大大大大大大大大大大大大大 编程 maino 三个语句一样可编写成函数: i printf( 大大大大大大大大大大大大大大 n void printstaro pint( How do you do!hny;:(prit*来***料mn printf( 大大大大大大大大大大大大大大大大大大 n printf( 大大大大大大大大大大大大大大大大大大 An) 源程序可简化为
例: 打印图形: ****************** How do you do! ****************** ****************** 编程: main() { printf(“****************\n”); printf(“How do you do! \n”); printf(“******************\n”); printf(“******************\n”); } 源程序可简化为: 三个语句一样,可编写成函数: void printstar() { printf(“**************\n” ); }
maino i printstarO pr instar o print( How do you do!n”):用户自定义的函数 printstaro 1.说明几点: ①、一个原程序文件由一个或多个函数组成。 个源程序文件是一个编译单位,即以源文件为单位进行 编译,而不是以函数为单位进行编译 ②、C程序的执行从main函数开始,在main函数 中结束整个程序的运行。man函数是系统定义的。 ③、所有的函数都是平行的,不能嵌套定义,但可 以互相调用,但不能调用main函数
main() { printstar(); printstar() printf(“ How do you do!\n”): 用户自定义的函数 printstar(): } 1.说明几点: ① 、一个原程序文件由一个或多个函数组成。一 个源程序文件是一个编译单位,即以源文件为单位进行 编译,而不是以函数为单位进行编译。 ②、C程序的执行从main函数开始,在main函数 中结束整个程序的运行。main函数是系统定义的。 ③、所有的函数都是平行的,不能嵌套定义,但可 以互相 调用,但不能调用main 函数
模块与函数 函数:完成相对独立功能的程序 标准函数:由系统提供的库函数,不必 ①从使用角度分 定义直接引用,如 fabs等 用户自定义函数:用以解决用户专门需要。 无参函数:如 printsaro; ②从函数形式分 有参函数:如sin(x,sqrt(×); 不传递数据 主调函数 被调用函数 传递数据
模块与函数 函数:完成相对独立功能的程序. 标准函数:由系统提供的库函数,不必 ①从使用角度分 定义直接引用,如fabs()等。 用户自定义函数:用以解决用户专门需要。 无参函数:如printsar(); ②从函数形式分 有参函数:如 sin(x), sqrt(x); 不传递数据 主调函数 被调用函数 传递数据