苹果ios开发培训之C语言.docx_第1页
苹果ios开发培训之C语言.docx_第2页
苹果ios开发培训之C语言.docx_第3页
苹果ios开发培训之C语言.docx_第4页
苹果ios开发培训之C语言.docx_第5页
全文预览已结束

下载本文档

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

文档简介

苹果ios开发培训之C语言苹果ios开发培训之C语言函数调用:在程序中是通过对函数的调用来执行函数体的,其过程与其它语言的子程序调用相似。C语言中,函数调用的一般形式为: 函数名(实际参数表);对无参函数调用时则无实际参数表。实际参数表中的参数可以是常数,变量或其它构造类型数据及表达式。各实参之间用逗号分隔。函数调用的方式在C语言中,可以用以下几种方式调用函数。1) 函数表达式函数作为表达式中的一项出现在表达式中,以函数返回值参与表达式的运算。这种方式要求函数是有返回值的。例如:1. z=max(x,y);是一个赋值表达式,把max的返回值赋予变量z。2) 函数语句函数调用的一般形式加上分号即构成函数语句。例如:1. printf (%d,a);2. scanf (%d,&b);都是以函数语句的方式调用函数。3) 函数实参函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如:1. printf(%d,max(x,y);即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。介绍printf 函数时已提到过,这里从函数调用的角度再强调一下。【例8-3】在VC6.0下运行以下代码。1. #include 2. int main(void)3. int i=8;4. printf(%d %d %d %dn,+i,+i,-i,-i);5. return 0;6. 运行结果:8 7 6 7可见是按照从右至左的顺序求值。如果按照从左至右求值,结果应为:9 10 9 8应特别注意的是,无论是从左至右求值, 还是自右至左求值,其输出顺序都是不变的,即输出顺序总是和实参表中实参的顺序相同。被调用函数的声明和函数原型在主调函数中调用某函数之前应对该被调函数进行说明(声明),这与使用变量之前要先进行变量说明是一样的。在主调函数中对被调函数作说明的目的是使编译系统知道被调函数返回值的类型,以便在主调函数中按此种类型对返回值作相应的处理。其一般形式为: 类型说明符 被调函数名( 类型 形参, 类型 形参 );或为: 类型说明符 被调函数名( 类型, 类型);括号内给出了形参的类型和形参名,或只给出形参类型。这便于编译系统进行检错,以防止可能出现的错误。【例8-1】main函数中对max函数的说明为:1. int max( int a, int b );或写为:1. int max( int, int );C语言中又规定在以下几种情况时可以省去主调函数中对被调函数的函数说明。1) 如果被调函数的返回值是整型或字符型时,可以不对被调函数作说明,而直接调用。这时系统将自动对被调函数返回值按整型处理。【例8-2】的主函数中未对函数s作说明而直接调用即属此种情形。2) 当被调函数的函数定义出现在主调函数之前时,在主调函数中也可以不对被调函数再作说明而直接调用。例如【例8-1】中,函数max的定义放在main 函数之前,因此可在main函数中省去对max函数的函数说明int max(int a,int b)。3) 如在所有函数定义之前,在函数外预先说明了各个函数的类型,则在以后的各主调函数中,可不再对被调函数作说明。例如:1. char str(int a);2. float f(float b);3. main()4. /* . */5. 6. char str(int a)7. /* . */8. 9. float f(float b)10. /* . */11. 其中第一,二行对str函数和f函数

温馨提示

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

评论

0/150

提交评论