资源描述:
《C语言电子教案课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序6.1.1引言6.1.2函数的定义6.1函数6.1.3函数调用和参数传递6.1.4函数说明第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序C语言中有标准库函数和自定义函数。C程序往往由多个函数组成,其中必有一个名为main的主函数,由main来调用其他函数,同一函数可以被一个或多个函数调用一次或多次。第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序mainfun1fun2fun3fun4fun5fun6fun7fun8函数调用关系图第章
2、6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序【例6.1】函数定义的一个实例。#includelongpower(intx,intn){inti;longp;for(i=1,p=1;i<=n;i++)p*=x;returnp;}main(){intw=2;longr;r=power(w,2);printf("Theresultis%ld",r);}第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序函数定义的一般形式:<类型标识符><函数名>[<参数说明部分>]{<说明部分><语句部分>
3、}<函数名>是一个用户定义的标识符,方括号表示是可选项。<参数说明部分>的一般形式为:<类型标识符>:<参数>,{,,<类型标识符><参数>,},<函数体>由花括号括起的部分称为函数体,它由<说明部分>和<语句部分>共同组成,函数的功能是由函数体完成的。第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序<返回值>:函数名前面的<类型标识符>表明了从函数返回的值是什么类型,它可以是int,float,char等,函数也可以不返回任何值,这时类型标识符就用关键字void表示,void的含义是空。<返回语句>:在函数定义的
4、<语句部分>中,可以有一返回语句,返回语句有两种格式:(1)return;//表示该函数无返回值(2)returnr;或return(r);//把r作为返回值第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序【例6.2】不带参数的函数定义,且函数无返回值。voidprintmsg(){printf("请输入密码");}第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序【例6.3】函数体内出现多个return语句的函数定义。doublemax(doublex,doubley){if(x>y)returnx
5、;elsereturny;}第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序函数调用形式:<函数名>(,[,<实参表列>,],)<实参表列>可以省略,可以包含一个或多个实参,多个实参之间需用逗号隔开。实参与形参一一对应。C语言的参数传递规则:是按值传递,即把实在参数的值拷贝到相应的形参中去,被调用函数中改变形参的值不会改变实参的值。第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序函数参数传递第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序【例6.4】编程求函数1+1/2+1/3+1/
6、4+1/5+...+1/n。#includedoublefun(intn){doublesum=0.0;inti;for(i=1;i<=n;i++)sum+=1.0/i;returnsum;}main(){intn;scanf("%d",&n);printf("sum=%f",fun(n));}第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序函数说明的一般形式:<类型标识符><函数名>([<参数表列>]);最后一个分号(;)不可少,这是编译程序用来区分函数说明和函数定义的标志。即有分号表示函数说明
7、,无分号表示函数定义。第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序#includemain(){doublefun(intn);intn;scanf("%d",&n);printf("sum=%f",fun(n));}doublefun(intn){doublesum=0.0;inti;for(i=1;i<=n;i++)sum+=1.0/i;returnsum;}第章6函数、存储类和预处理程序函数变量的作用域和生命期预处理程序运算结果:程序输入为:10程序输出结果为:sum=2.928968说
8、明:doublefun(intn);可以判定,它不是函数定义,因为首先缺少函数体,其次在右括号后面还多了一个分号,在C语言中,它被称为函数说明,或函数原型。一旦出现了函数说明,即可进行函数调用。6.2.1问题的提出6.2.2auto变量6.2变量的