熟练掌握函数的定义 .ppt
文本预览下载声明
第八章 函数; 本章要点;本章要求:; 8.1 概述 ;C是模块化程序设计语言;模块化程序设计
基本思想:将一个大的程序按功能分割成一些小模块
特点:
各模块相对独立、功能单一、结构清晰、接口简单
控制了程序设计的复杂性
提高元件的可靠性
缩短开发周期
避免程序开发的重复劳动
易于维护和功能扩充
开发方法: 自上向下,逐步分解,分而治之;函数分类
从用户角度
标准函数(库函数):由系统提供
用户自定义函数
从函数形式
无参函数
有参函数;说明:
1、从用户角度分:
1) 库函数:由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到printf、scanf、getchar、putchar、gets、puts、strcat等函数均属此类。;
;2) 用户定义函数:由用户按需要写的函数。;2、从函数形式分:
1) 无参函数:
函数定义、函数说明及函数调用中均不带参数。
主调函数和被调函数之间不进行参数传送。
此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。
2) 有参函数:也称为带参函数。
在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。
在函数调用时也必须给出参数,称为实际参数(简称为实参)。进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。通过参数向被调用函数传递数据。
;void main( ){ Hello( );};【例 8.1】 一个函数调用的简单例子(无参)
# include stdio.h
void main()
{
void printstar(); /*对printstar函数声明*/
void print_message(); /*对print_message函数声明*/
printstar(); /*调用printstar函数*/
print_message(); /*调用print_message函数*/
printstar(); /*调用printstar函数*/
};void printstar() /*定义printstar函数*/
{
printf(* * * * * * * * * * * * * * * *\n);
}
void print_message() /*定义print_message函数*/
{
printf(How do you do!\n);
};【补例2】调用函数,输出若干个 “ * ” ;有参函数:在函数定义及函数说明时都有参数,称为形式参数(简称为形参)。在函数调用时也必须??出参数,称为实际参数(简称为实参)。进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。;【补例4】调用函数,输出若干个“*” ;函数的引例;#include stdio.h
#include math.h
void main( )
{ double x , y , z ;
printf(Input data:);
scanf(%lf%lf, x, y );
z=pow( x, y );
printf(%lf的%lf次方是%lf\n, x, y, z );
} ;解法2:调用自编函数mypow,计算xy;#include stdio.h ;
(1) 一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对于较大的程序,通常将程序内容分别放在若干个源文件中,再由若干源程序文件组成一个C程序。这样便于分别编写、分别编译,提高调试效率。一个源程序文件可以为多个C程序公用。; C程序的执行是从main函数开始的,如果在main函数中调用其他函数,在调用后流程返回到main函数,在main函数中结束整个程序的运行。;需要解决的问题:; 8.2 函数定义的一般形式 ; 在很多情况下都不要求无参函数有返回值,此时函数类型符可以写为void。
可以改写一个函数定义:
void Hello( )
{
printf (Hello, world \n);
}
这里,只把main改为Hello作为函数名,其余不变。Hello函数是一个无参函数,当被其它函数调用时,输出Hello world字符串。; 8.2.2
显示全部