标题 | C语言用户自定义函数案例教学设计 |
范文 | 崔孝凤 摘要:对于C语言的初学者来说,用户自定义函数既是重点又是难点,本文从初学者的角度出发由简单到复杂依次设计了4个案例,通过这4个案例依次清楚描述了4种不同形式的C语言用户自定义函数的定义及调用方法。 关键词:C语言;函数;案例教学 中图分类号:G64 文献标识码:A 文章编号:1009-3044(2019)09-0136-02 1 引言 对于C语言的初学者来说,用户自定义函数既是重点又是难点,如何用浅显易懂的程序案例帮助初学者理解自定义函数的参数的各种使用方法是摆在每一位C语言任课教师面前的一项艰巨的任务。本文从初学者的角度出发,遵从由易到难的自然学习规律,设计出4个案例,依次演示了4种函数参数的使用方法。 2 具体案例 2.1 无参函数的定义和调用 【例题1】请设计一个求和函数qh,功能是计算两个任意整数之和,这任意的两个整数在函数qh中输入,结果也在函数qh中输出,在主函数main中调用求和函数qh。 算法分析:因为没有参数,所以把数据的输入及结果输出都放在求和函数qh中完成,主函数只是完成函数调用。 源代码如下: #include void qh() {int a,b,s; printf("请输入任意的两个整数:\n"); scanf("%d%d",&a,&b); s=a+b; printf("%d+%d=%d\n",a,b,s); return; } int main() {qh();//调用函数qh,没有参数 return 0; } 2.2 有参函数的定义和调用—单向的值传递 【例题2】请设计一个求和函数qh,功能是计算两个任意整数之和,这任意的两个整数通过函数qh的两个参数接收,结果由return语句返回主函数,在主函数main中输入任意的两个整数,调用求和函数qh并输出结果。 算法分析:在求和函数qh中设计两个整型的形参,用来接收主调函数传递过来的两个整数,在求和函数qh中完成计算后用return语句将结果返回,在主函数main中完成数据的输入、函数调用及结果输出。 源代码如下: #include int qh(int a,int b) {int s; s=a+b; return s; } int main() {int a,b,s; printf("请输入任意的两个整数:\n"); scanf("%d%d",&a,&b); s=qh(a,b);//调用函数qh,有两个参数 printf("%d+%d=%d\n",a,b,s); return 0; } 2.3 有参函数的定义和调用—双向的地址传递,结果仍然通过return语句返回 【例题3】请设计一个求和函数qh,功能是计算两个任意整数之和,这任意的两个整数通过函数qh的1个数组参数接收,结果由return语句返回主函数,在主函数main中输入任意的两个整数,调用求和函数qh并输出结果。 算法分析:在求和函数qh中设计1个整型的数组形参,用来接收主调函数传递过来的数组首地址,在求和函数qh中完成计算后用return语句将结果返回,在主函数main中完成数据的输入、函数调用及结果输出。 源代码如下: //形参只有一个数组名 #include int qh(int a[]) {int s; s=a[0]+a[1]; return s; } int main() {int a[2],s; printf("请输入任意的两个整数:\n"); scanf("%d%d",&a[0],&a[1]); s=qh(a);//调用函数qh,数组名作实参 printf("%d+%d=%d\n",a[0],a[1],s); return 0; } 2.4有参函数的定义和调用—双向的地址传递,通过数组元素完成数据的传递 【例题4】请设计一个求和函数qh,功能是计算任意两个整数之和,这任意的两个整数通过函数qh的1个数组参数接收,结果由数组参数的第3个数组元素返回主函数,在主函数main中输入任意的两个整数,调用求和函数qh并输出结果。 算法分析:在求和函数qh中设计1个整型的数组形参,用来接收主调函数传递过来的数组首地址,在求和函数qh中将计算结果存放在第3个数组元素中带回主函数,在主函数main中完成数据的输入、函数调用及结果输出。 源代码如下: //形参只有一个数组名,不包含数据个数n,也是可以的 #include int qh(int a[]) { a[2]=a[0]+a[1]; } int main() {int a[3],s; printf("請输入任意的两个整数:\n"); scanf("%d%d",&a[0],&a[1]); qh(a);//调用函数qh,有1个参数 printf("%d+%d=%d\n",a[0],a[1],a[2]); return 0; } 【说明】程序也可以如下所示: //形参包含一个数组名和数据个数n,也是可以的 #include int qh(int a[],int n) { a[2]=a[0]+a[1]; } int main() {int a[3],s; printf("请输入任意的两个整数:\n"); scanf("%d%d",&a[0],&a[1]); qh(a,3);//調用函数qh,有2个参数 printf("%d+%d=%d\n",a[0],a[1],a[2]); return 0; } 3 结束语 以上4个案例具体描述了C语言用户自定义函数的4种参数的定义方式,对初学者有极好的引导作用,在此基础上还可以很容易地实现通过函数调用完成任意n个数的求和等的计算。 参考文献: [1] 许金兰,徐岗. “兴趣驱动+案例教学模式”在C语言教学中的应用[J]. 中国信息技术教育,2018-03-23. [2] 刘芝怡. “项目引领,任务驱动,案例主导”的 C 语言程序设计教学改革[J]. 教育现代化,2018-02-12. [3] 王亮.《C 语言程序设计》循环结构教学案例研究[J]. 科技视界, 2018-01-05. [4] 陈广群,胡晓蓉,来敏健. 基于计算思维的C 语言程序设计课程教学初探[J]. 电脑知识与技术, 2018,14(4). [5] 黄金国. 基于项目化教学的“C 语言程序设计”课程改革研究[J]. 吉林工程技术师范学院学报, 2018,34(2). [6] 季丽琴. 以“编、改、调”三部曲改革C 语言实践教学[J]. 计算机教育,2018-04-10. 【通联编辑:王力】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。