高级语言程序设计 课件 郑岩 第5、6章 数组、函数.ppt

高级语言程序设计 课件 郑岩 第5、6章 数组、函数.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

函数声明的几种形式数据类型符函数名(形参类型形参名1,形参类型形参名2,……);数据类型符函数名(形参类型1,形参类型2,……);数据类型符函数名();intmax(inta,intb);intmax(int,int);intmax();6.2函数的声明说明(1)函数原型告诉编译程序函数返回的数据类型、函数所要接收的参数个数、参数类型和参数顺序,编译程序利用函数原型校验函数调用是否正确。(2)函数原型中可以只说明形参类型和形参个数,而无需说明形参名。例如,对函数intmax(intx,inty){……}的声明以下两种形式均可:intmax(int,int);intmax(intx,inty);(3)函数原型、函数定义、函数调用要保持一致。和函数原型不匹配的函数调用会导致语法错误;函数原型和函数定义不一致,也会产生错误。6.2函数的声明说明(4)函数原型可以在主调函数中声明;也可以在所有函数的外部(如文件声明处)进行声明。这种情况下,在该声明之后定义的所有函数均可以调用该函数,而不必再声明。(5)如果程序中没有包含函数原型,则编译程序会用第一次出现的该函数(函数定义或函数原型)来构造函数原型。6.2函数的声明函数之间数据传递方式值传递地址传递返回值全局变量传递前两种方式是利用定义函数时设置的形参和调用函数时给出的实参来传递数据的。6.3函数的参数和数据传递方式值传递方式是在形参和实参之间传递数据的一种方式。传递方式传递的是参数值。判断的唯一方法是看函数定义时的形参是不是变量形式如果形参是变量,则是值传递方式。1、值传递方式6.3函数的参数和数据传递方式数组作为函数参数的两种形式数组元素作为函数实参数组元素只能用作函数实参,其用法与普通变量完全相同,即在发生函数调用时,把数组元素的值传送给形参,实现单向值传送。数组元素作为实参时,只要数组的类型和函数形参的类型一致即可,并不要求函数的形参也是下标变量。换言之,对数组元素的处理是按普通变量对待的。普通变量或下标变量作为函数参数时,形参变量和实参变量由编译程序分配不同的内存单元。在函数调用时进行值传送,把实参变量的值赋予形参变量。2、数组作为函数参数的数据传递方式6.3函数的参数和数据传递方式数组名作为函数参数(形参和实参)数组名作函数参数时,既可以作形参,也可以作实参。数组名作函数参数时,要求形参和相对应的实参都必须是类型相同的数组(或指向数组的指针变量),都必须有明确的数组说明。如果形参是数组名,则传递方式称为“地址传递方式”2、数组作为函数参数的数据传递方式6.3函数的参数和数据传递方式当一维数组名做形参时可以指定数组的长度,也可以不指定数组的长度,而只在数组名后面跟一对空的方括号。当多维数组名做实参和形参时,形参数组可以省略第一维的长度说明,但第二维及以上的长度说明不能省略。不是在形参和实参之间进行数据传递,而是通过函数调用直接返回一个值到主调函数。因此,这种方式通常用于从被调函数向主调函数回传值。注意(1)函数首部中需要有“数据类型符”,说明该函数返回值的数据类型。(2)函数体中需要有语句“return(表达式);”,其中的表达式即是函数的返回值。3、利用返回值的数据传递方式6.3函数的参数和数据传递方式用字符常量对字符数组进行初始化charstr[8]={p,r,o,g,r,a,m,\0};charstr[8]={112,114,111,103,114,97,109,0};用字符的ASCII码值对字符数组进行初始化用字符串对字符数组进行初始化charstr[]=program;charstr[]={program};注意:只能在定义时赋初值,不能在语句中直接将一个字符串赋给一个字符数组,可用strcpy()实现将一个字符串赋给另一个字符数组。intqus[19];qus[]=Whatsyourname?;1、字符数组的定义和初始化5.3字符数组和字符串字符数组的输入除了可以通过初始化使字符数组各元素获得初值外,也可使用getchar()或scanf()函数输入字符。例如charstr[10];for(i=0;i10;i++)scanf(%c,str[i]);

文档评论(0)

xiaobao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档