您的位置: turnitin查重官网> 汉语言文学 >> 心理语言 >试谈C语言中函数编写方法和

试谈C语言中函数编写方法和

收藏本文 2024-02-05 点赞:15469 浏览:68426 作者:网友投稿原创标记本站原创

摘 要: 函数是C语言学习的难点和重点,通过分析函数的结构,将函数编写中难以确定的理由进行分解、细化。按照返回值的个数将函数分为:无返回值函数、单反回值函数、多返回值函数三种类型。对这三种类型函数的设计策略分别举例分析和说明,详细阐述了函数编写的具体过程。
关键词: 函数; 形式参数; 指针变量; 调用
1006-8228(2014)02-49-02
0 引言
C语言是一种结构化的程序设计语言,通过函数来实现模块化的程序设计[1]。程序是由若干个函数来组成的,因此函数在C语言程序设计中具有举足轻重的地位。很多学生在编写函数时,很迷茫,不知从何入手,经常出C语言中函数编写方法的与由专注毕业论文与职称论文的www.udooo.com提供,转载请保留.现这种情况:无论一个程序多么复杂,都将所有的功能全部放在主函数中,这样会造成很多的理由,例如:程序编写困难、程序结构不清晰、功能难于扩充、调试困难等。为了解决这些理由,本文重点分析函数的结构,并总结出不同类型函数的编写策略。

1 函数结构

函数由两大部分组成:函数头和函数体。第一行为函数头部分,花括号括起来的为函数体部分。其中,函数类型指的是函数返回值的类型,若函数无返回值则函数类型为“void”。函数名由编程者来命名,通常应该做到见名知意[3]。函数名后面小括号中的是形式参数,其中的每一个参数应该分别定义数据类型。函数体部分和主函数的函数体部分一样,由数据描述和算法实现两部分组成。函数体用顺序、选择、循环三种结构的设计策略编写即可。从函数的结构可以看出,只要设计出函数头,整个函数的设计也就迎刃而解。

2 函数设计过程分析

第一步:设计函数头。①分析哪些量是函数的已知量,数据类型是什么,将已知数据作为函数的形参;②哪些是未知量,即函数需要得到的结果,若未知数据只有一个,可确定其数据类型,即为函数类型。
第二步:编写函数体[4]。

3 无返回值函数的编写

无返回值函数的功能通常是为了调用函数实现特定的功能,这种函数的类型应定义为“void”,函数体中不需要使用“return”语句[5-6]。

5 多返回值函数的编写

C语言中通过return语句只能返回一个值,如果在调用函数过程中需要返回多个值给主调函数通常有两种策略:①设定n个指针变量,利用间接访问方式访问主调中的变量来实现;②设定1个指针变量,调用时使其指向主调中的数组,利用主调中的数组的各个元素表示n个返回值[9]。

5.1 通过多个指针变量返回多值

被调函数原型声明:
void fun(带类型说明的形参表列,类型 *p1,类型 *p2,类型 *p3,……类型 *pn);
这种策略是在主调函数中定义多个变量来表示多个返回值,在被调用函数中用指针指向主调函数中表示未知的变量,通过间接访问的方式修改主调函数量的值,从而获得多个返回值[10-11]。分析时,已知量仍作为函数的形参,未知量也作为函数的形参,但要定义为指针类型。函数的结果不再通过“return”语句返回,所以函数类型定义为“void”。
编写函数,求两个数的最大公约数和最小公倍数。

6 结束语

函数是C语言程序的基本组成单位,因此掌握函数的编写至关重要。从本文的分析中不难看出,对于函数的编写,函数头的确定是首要内容,一旦函数头确定了,则该函数的已知(即普通形参)和未知(即函数返回结果)便明确了。若未知量是一个,则把未知量的类型定义为函数类型,未知量是多个时,通常使用指针指向需返回的多个值[14]。另外需要注意的是,我们分析的已知量,不是通过“scanf”函数从键盘读取数据,而是在调用函数的过程中将实参的值传递给对应的形参,因此,实参和形参的个数应相等,类型应一致,按顺序一一对应[15]。笔者在多年从事C语言程序教学的过程中发现,只要学生掌握了函数编写的正确策略和技巧,就可以事半功倍,使函数的编写不再成为一个难题。
参考文献:
[1] 赵山林,高媛.C程序设计[M].人民邮电出版社,2012.
[2] 谭浩强.C程序设计(第三版)[M].清华大学出版社,2005.
[3] 吉顺如.C语言程序设计教程[M].机械工业出版社,2010.
[4] 何钦铭,颜晖.C语言程序设计[M].高等教育出版社,2008.
[5] 涛伟,杨秀金.C++函数的参数传递和返回值理由的教学研讨[J].吉林大学学报(信息科学版),200

5.23:70-74

[6] 赵家刚,李俊蔌.C语言程序设计[M].西安交通大学出版社,20l0.
[7] 尹宝林.C程序设计思想与策略[M].机械工业出版社,2009.
[8] 王立柱.C语言程序设计[M].机械工业出版社,2011.
[9] 贾伯琪,顾卫兵,苏仕华,张四海,何克东.计算机程序设计[M].机械工业出版社,2011.
[10] Harry H.Cheng著,何钦铭,王兆青,陆汉权译.C For Engineers And Scientists[M].高等教育出版社,2011.
[11] 龚沛曾,杨志强.C/C++程序设计教材[M].高等教育出版社,2004.
[12] 朱小菲,刘玉喜.C语言程序设计教程[M].清华大学出版社,2005.
[13] 夏涛.C语言程序设计[M].北京邮电大学出版社,2007.
[14] 苏小红,王宇颖,孙志岗.C语言程序设计[M].高等教育出版社,2008.
[15] 王金鹏,肖进杰.C程序设计进阶与实例剖析[M].清华大学出版社,2011.

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号