欢迎来到天天文库
浏览记录
ID:38319078
大小:1.17 MB
页数:100页
时间:2019-06-10
《C程序设计教程(下)清华ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C程序设计教程(下)朱小菲主编清华大学出版社21世纪高等学校计算机教育实用规划教材第8章函数第9章预处理命令第11章位运算2第8章函数8.1函数概述8.2函数的定义8.3数据在函数之间的传递8.4函数的调用8.5数组作为函数的参数8.6指针作为函数的参数8.7函数与指针8.8函数的嵌套调用8.9函数的递归调用8.10变量的作用域8.11变量的存储类别8.12内部函数和外部函数8.13多个源文件的C程序的连接38.1函数概述8.1.1模块化程序设计【例8.1】函数调用简单的例子。#includemain(){print_line();print_mess
2、age();print_line();}4voidprint_line(){printf("=======================");}voidprint_message(){printf("Helloworld!");}58.1.2C函数的分类(1)库函数【例8.2】使用库函数abs()求一个整数的绝对值。#includemain(){inta,b;printf("pleaseinputadata:");scanf("%d",&a);b=abs(a);printf("
3、%d
4、=%d",a,b);}6(2)自定义函数【例8.3】使用自定
5、义函数myabs(),求一个整数的绝对值。#includemain(){inta,b;printf("pleaseinputadata:");scanf("%d",&a);b=myabs(a);printf("
6、%d
7、=%d",a,b);}myabs(intx){if(b>=0)return(x);elsereturn(-x);}72.从函数的形式看,可将函数分为有参函数和无参函数两种。(1)无参函数(2)有参函数88.2函数的定义8.2.1无参函数的定义类型标识符函数名(){变量声明部分语句部分}函数首部函数体无参函数定义的一般形式98.2.2有参函数
8、的定义形参表列类型标识符函数名(类型名1形参1,类型名2形参2,…,类型n,形参n){变量声明部分语句部分}函数体函数首部108.3数据在函数之间的传递8.3.1形参与实参【例8.4】定义一个求较大数的函数。intmax(intx,inty){intz;z=x>y?x:y;return(z);}main(){inta,b;printf("Inputtwonumbers:");scanf("%d%d",&a,&b);printf("max=%d",max(a,b));}11【例8.5】函数参数的值传递方式#includevoidswap(intx
9、,inty){inttemp;temp=x;x=y;y=temp;printf("inswap:x=%d,y=%d",x,y);}12main(){inta,b;a=5;b=10;/*说明两个变量并赋初值*/printf("beforeswap:a=%d,b=%d",a,b);swap(a,b);/*用变量a和b作为实际参数调用函数*/printf("afterswap:a=%d,b=%d",a,b);}138.3.2函数值的返回1.retrurn语句的一般形式:return(表达式);2.关于函数的返回值(1)函数的返回值类型一般应与return语句中的表
10、达式值的类型一致,但C语言也允许不一致,这时,以函数类型说明为准,并自动将return语句中表达式的值转换为函数类型。(2)当缺省函数类型说明时,系统默认的返回值类型为int型。14【例8.6】分析程序的运行结果。#includefloatmax(floatx,floaty){if(x>y)return(x);elsereturn(y);}main(){floata,b,c;printf("pleaseinputtwodata:");scanf("%f%f",&a,&b);c=max(a,b);printf("MAXis%f",c);}153.无类
11、型函数【例8.7】编写程序输出边长为n的菱形,由“*”组成。#includevoidprint_char();main(){inti,j,k,n;printf("Enterlength:");scanf("%d",&n);/*输入边长N*/for(i=0;i
此文档下载收益归作者所有