《C语言复习第十节》ppt课件_第1页
《C语言复习第十节》ppt课件_第2页
《C语言复习第十节》ppt课件_第3页
《C语言复习第十节》ppt课件_第4页
《C语言复习第十节》ppt课件_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、假设假设int a34=0; 那么下面正确的表达是:那么下面正确的表达是: A 只有元素只有元素 a00 可得到初值可得到初值 0。 B 此说明语句不正确此说明语句不正确 。C 数组数组 a 中各元素都可得到初值,但其值不中各元素都可得到初值,但其值不一定为一定为 0 。D 数组数组 a 中每个元素均可得到初值中每个元素均可得到初值 0 。复习复习 假设定义数组:假设定义数组:int a108; int a108; 问数组问数组共有多少元素?在内存中存储时占多少共有多少元素?在内存中存储时占多少字节?如何在内存中存放?最后一个单字节?如何在内存中存放?最后一个单元的元素下标是多少?元的元素下标

2、是多少?7.3 字符数组字符数组 字符数组是用来存放字符数据的数组,数字符数组是用来存放字符数据的数组,数组中的每个元素只能存放一个字符。组中的每个元素只能存放一个字符。一、定义一、定义形式:形式:char c5包含包含5个元素:个元素:c0、c1.c4c0 c1 c2 c3 c4 C h i n a 说明说明:由于机器内实际存放的是字符的由于机器内实际存放的是字符的ASCII码值码值整型数,故上面的定义也可以是:整型数,故上面的定义也可以是: int c5;二、赋初值二、赋初值同一维数组类似。同一维数组类似。1。定义时赋初值。定义时赋初值如如: char c5=C,h,i,n,a; 不能超过

3、不能超过5个字符个字符,假设少于假设少于5个,后面的个,后面的赋给空字符赋给空字符“0。 说明:说明:1假设字符个数与数组长度一样时,可以假设字符个数与数组长度一样时,可以不指定数组长度。如:不指定数组长度。如: char c =H,o,w, ,a,r,e, ,y,o,u; 系统可以自动定义系统可以自动定义c数组的长度为数组的长度为11,即,即c112。用赋值语句。用赋值语句-必逐个赋值必逐个赋值. 如如:chr c3; c0=A;c1=B; c2=C;三、字符串和字符串完毕标志三、字符串和字符串完毕标志 C语言中将字符串用字符数组来表示。语言中将字符串用字符数组来表示。1。用。用“0作为字符

4、串的完毕标志作为字符串的完毕标志。“0是是ASCII码值为码值为“0的空操作,在此表示字符串的空操作,在此表示字符串完毕。完毕。2。字符串常量的初始化。字符串常量的初始化 前面讲初始化时,一个一个字符写,也可简单。前面讲初始化时,一个一个字符写,也可简单。如:如:char c =“How are you;或:或: char c =“How are you ;系统可以自动识别系统可以自动识别c数组的长度为数组的长度为12,相当于:相当于:char c =H,o,w, ,a,r,e, ,y,o,u,0; H o w a r e y o u 0四、字符数组的输入输出四、字符数组的输入输出一字符数组的

5、输入一字符数组的输入1。用。用scanf函数函数1用格式符用格式符%c: 一次输入一个单字符。一次输入一个单字符。 如:如: char str6; int i; for i=0;iy?x:y; returnz8.2 函数定义函数定义一、一般形式一、一般形式:类型标识符类型标识符 函数名函数名形式参数列表形式参数列表变量说明变量说明 语句语句如:如:int maxint x,int y int z; z=xy?x:y; returnz定义一个求绝对值函数定义一个求绝对值函数abs?float absfloat x float y; y=x=0?x:-x; returny说明说明:1.类型标识符类

6、型标识符为函数的数据类型为函数的数据类型,表示了该函表示了该函数返回值的数据类型数返回值的数据类型. 假设不加类型说明按整型假设不加类型说明按整型.2.无参函数无形参列表无参函数无形参列表,也可无类型也可无类型因无返回值因无返回值。3.形参类型说明既可在参数列表中,也可在函数体形参类型说明既可在参数列表中,也可在函数体外给出。外给出。如:形式参数说明的传统方式如:形式参数说明的传统方式int maxx,yint x,y;.4 .变量说明变量说明不能写在函数体外,如:不能写在函数体外,如:int z .5 .空函数空函数 形式形式: 类型说明符类型说明符 函数名函数名 如如:dummy 表示该函

7、数什么也不作表示该函数什么也不作.通常通常程序中将一些要调用的函数处程序中将一些要调用的函数处,加一空函数。将加一空函数。将后来编好的函数可以加在此处。后来编好的函数可以加在此处。8.3 函数参数及函数的值函数参数及函数的值一、形参与实参:一、形参与实参: 形参:形参:函数定义中的参数函数定义中的参数在被调函数中。在被调函数中。 实参:实参:调用函数时,给出的参数,在主调调用函数时,给出的参数,在主调函数中函数中 调用函数时,调用函数时,大都有值传递关系大都有值传递关系,即将,即将主调函主调函数实参送到被调函数的形参数实参送到被调函数的形参。调用后,被调函数。调用后,被调函数将将函数值再传回主

8、调函数函数值再传回主调函数int maxint x,int y int z; z=xy?x:y; returnz如:如: d=maxa,b; m=maxc,d; a,b x,y; zd c,d x,y; z m每次把最大值返给主调函数每次把最大值返给主调函数 例例1 :求:求a,b,c三个数中的最大值。三个数中的最大值。 main int a,b,c,d,m ; scanf“%d,%d,%d, &a,&b,&c ; _ _ printf“max is %dn , m; /*输出结果输出结果*/ d=max a,b ; m=maxc,d;m=maxmaxa,b,c;主函数

9、:主函数:定义;定义;输入;输入;调用函数计算或处理;调用函数计算或处理;输出;输出;子函数:子函数:处理:实现函数功能处理:实现函数功能 int max int x, int y ; int z ; if xy z=x; else z=y; return z; /*将将z值返回值返回*/ 总结规律?总结规律?两步合一两步合一用用if语句写函数语句写函数说明说明:1.定义函数时,形参必指定类型定义函数时,形参必指定类型int x, int y。2 .实参与形参类型应一致。实参与形参类型应一致。字符型和整型可通字符型和整型可通用。用。3。实参可以是常量,变量或表达式。但变量和。实参可以是常量,变

10、量或表达式。但变量和表达式要有确定表达式要有确定 的值。的值。如:如:a=1, b=2; maxa*b, a+b;4. 参数的传递是参数的传递是“值传递值传递, 即单向传递即单向传递。数据只能由数据只能由“实参实参“形参形参,不能由不能由“形参形参 “实参实参如如:将上例改动一下:将上例改动一下:a=1,b=2; d=maxa+2,b;参数传递:参数传递:int maxint x,int ya 1 b 2 a 1 b 2x 3 y 2 x 3 y 2完毕后,完毕后,x的的3并不送回并不送回a.5. 值传递前,形参值传递前,形参x,y并未分配内存单元。并未分配内存单元。调用完毕后,调用完毕后,形

11、参所占内存空间即可释放。形参所占内存空间即可释放。请说出该程序的输出结果:请说出该程序的输出结果:main int a=5,b=10; asda,b; printfa=%d,b=%dn,a,b; getch;asdint x,int yx=x+3;y=y+5;作用作用:将将一个一个确定的返回值确定的返回值送给调用函数。送给调用函数。说明说明:1函数中可以没有返回值函数中可以没有返回值。 函数中也可以有多个函数中也可以有多个return.2返回值可以是表达式:返回值可以是表达式:如:如: maxint x,int y returnxy?x:y;3可以不写。可以不写。如:如: return z 与

12、与return z一样。一样。二、函数的返回值二、函数的返回值返回值语句的格式:返回值语句的格式:return 返回返回一个一个确定的值确定的值4。返回值的类型一般应与函数的类型一致。返回值的类型一般应与函数的类型一致。如:如:int maxint x,int y; max为整型为整型,z也应为整也应为整型。型。5。假设函数类型与返回值类型不同,由。假设函数类型与返回值类型不同,由函数类型决函数类型决定定返回值类型返回值类型。返回值类型自动转换成函数类型返回值类型自动转换成函数类型。6。为了明确函数。为了明确函数“不带回值,可用关键字不带回值,可用关键字“void 定义定义“无类型函数。无类型

13、函数。 单项选择题单项选择题有以下程序有以下程序 #define P 3 void Fint x returnP*x*x; main printf%dn,F3+5; 程序运行后的输出结果是程序运行后的输出结果是 A192B29C25D编译出错编译出错一、函数调用的一般形式:一、函数调用的一般形式:函数名实参列表;函数名实参列表;如:如:a=5;b=8;c=maxa,b;说明:说明:1假设为无参函数调用,可以无实假设为无参函数调用,可以无实参列表。参列表。2各参数间用各参数间用“,号分开。,号分开。3实参与形参个数应相等,类型应一致。实参与形参个数应相等,类型应一致。8.4 函数的调用函数的调用

14、二、函数的调用方式:二、函数的调用方式:1。作为函数语句:。作为函数语句:把函数调用作为一个语句把函数调用作为一个语句 swap*p1,*p2; 交换数据函数交换数据函数,如:如: shorta,10;2。作为函数表达式。作为函数表达式main int a,b,s;scanf“%d,%d,&a,&b;s=suma+b,b*2; printf“sum=%dn,s;sum int x,int yint z;z=x+y; 运行:运行:10,15 returnz 问:问:sum 函数为何类型?函数为何类型?sum=55默认默认-int如:如:c=5*maxa,b-2; 这种情况函数应有

15、返回值这种情况函数应有返回值。3。作为函数参数。作为函数参数将函数调用作为一个函数的实参。将函数调用作为一个函数的实参。如:如:m=maxmaxa,b,c;又如又如:求:求:s=a+b+cprintf“s=%d,suma,sumb,c;本质也是函数表达式调用的一种。本质也是函数表达式调用的一种。*三、对被调函数的说明三、对被调函数的说明 用户定义的函数,假设与主函数在同一文件中,用户定义的函数,假设与主函数在同一文件中,应在主函数中应在主函数中对被调函数返回值类型进展说明。对被调函数返回值类型进展说明。例例3。求:。求:y=x2+x3+x5分析:分析:编一求编一求xn的函数的函数-powerx

16、,n,调用,调用3次。次。函数形参:函数形参:x,n;用;用t=t*x, 开场开场t=1循环循环n次,次,t为为xn。主函数:主函数:1定义,定义,ax的实参的实参,y. 2输入输入a. 3 3次调用次调用powerx,n 4 输出输出y的值。的值。一般一般主函数主函数中中:定义、输入、调子函数处定义、输入、调子函数处理、理、输出;输出; 子函数子函数中:处理或计算数据中:处理或计算数据。 main long powerint x, int n; /*声明被调函数声明被调函数*/ int a ; long y ;scanf %d, &a;y=power a,2 +powera,3+po

17、wera,5;printfy= %ldn, y; long power int x, int n /*函数首部函数首部*/ int i; /*函数体函数体*/ long t =1; for i=1; i=n; i+ t=t*x; return t; t=1;for i=1; i1n1例例4例例87。有五人,第有五人,第5人比第人比第4人大人大2岁,第岁,第4人比第人比第3人大人大2岁,第岁,第3人比第人比第2人大人大2岁,第岁,第2人比第人比第1人大人大2岁。第岁。第1人人10岁,问第岁,问第5人多少岁?人多少岁?n=1 n=1 时,时,c=10 ,c=10 ,否那么否那么c=agec=age

18、n-1n-1+2 +2 ageageint nint n 求求ageage5 5的过程:的过程:int c; ageint c; age5 5=age=age4 4+2+2 age age3 3+2+2 age age2 2+2+2 return returnc c; age; age1 1+2+2 10 10 mainmain int nl; int nl; nl=agenl=age5 5; ; printfprintf“第第5 5人的年龄为人的年龄为:%d:%d, nl, nl; ; if n=1 c=10;else c=agen-1+2;运行运行:第第5人的年龄为:人的年龄为:18回推回推递推递推agen= 10 n=1 agen-1 +2 n1例例5 5 用递归调用法求用递归调用法求n!.n!.分析分析:6!=66!=6* *5!, 5!=55

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论