用“分解法”和“改写法”定义C语言函数

本文介绍了两种C语言函数定义的有效方法:分解法和改写法。分解法通过将程序功能分解为主调函数和被调函数,以提高编程效率。文章通过无参函数和有参函数的实例详细讲解了这种方法。改写法则通过将能实现特定功能的main函数改写为被调函数。两种方法有助于增强学生对C语言函数的理解和应用。
摘要由CSDN通过智能技术生成

作者:巨同升

1.引言

在C语言中函数是程序的基本构成要素,是编程时频繁使用的程序单位,其重要性是不言而喻的。但是从教学效果方面来看,多数学生对于函数的理解掌握并不理想。有的学生虽然能够用单独的main函数完成程序,但是要分解为几个函数,就会感觉无从下手[1]

这其中有C语言自身特点的客观原因,比如C语言的函数同时包含了大多数编程语言中子程序和函数这两种程序单位的功能,在一定程度上提高了编写函数的难度。另一方面也有来自于教材和教学方法方面的原因。综观绝大多数C语言程序设计教材,在讲述如何定义一个函数时,往往都是采用“解释法”[2]。也就是直接将函数写出来,然后再做分析解释。至于这个函数是如何写出来的、为什么这么写,则鲜有分析说明。从而给学习者造成一种神秘、无章可循的感觉。

从讲授者的角度,或许觉得这样编写函数是理所当然的,无需更多的解释,或者只可意会,不可言传。其实如何定义一个函数也是有其内在规律的,甚至可以像数学公式那样一步一步地推导出来。这就要求讲授者能够发现并归纳出其中的内在规律并传授给学生。学生一旦有了编写函数的依据,再来编写函数也就不再感觉神秘、无章可循了[3]

下面就来介绍两种行之有效的编写函数的方法:分解法和改写法。

2.分解法

所谓分解法,就是首先将整个程序的功能用一个独立main函数实现,然后再将这个main函数分解为主调函数和被调函数[4]

为了便于理解,我们将无参函数和有参函数的定义和调用的方法分开来介绍。

2.1 无参函数的定义和调用

例1.编写程序,打印出如下图形。

 

首先,我们编写一个只有main函数的程序来实现上述功能。

#include <stdio.h>

int main(void)

{int i,j;

 printf("The first one:\n");

 for(i=1;i<=4;i++)

 {for(j=1;j<=i;j++)

   printf("*");

  printf("\n");

 }

 printf("The second one:\n");

 for(i=1;i<=4;i++)

 {for(j=1;j<=i;j++)

   printf("*");

  printf("\n");

 }

 return 0;

}

我们发现,在这个程序中打印三角形的程序段重复了两次,但是也不方便将这两段合并为一个新的循环。因此,为了提高编程效率,避免重

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

巨之说

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值