C语言程序中函数之间的关系,C语言中的核心概念及它们之间的联系.doc

C语言中的核心概念及它们之间的联系

摘要:教师通常需要根据课时要求和学生专业背景等实际情况对c语言的授课内容进行灵活安排,问题是如何取舍。通过分析C语言的知识点,提出以函数、变量、流程控制三个概念为核心的层次化知识点结构图,突出了C语言的核心概念及它们之间的相互联系,为教师对讲授内容的选择和安排提供参考。

关键词:C语言;核心概念;函数;变量;流程控制

中图分类号:G642 文献标识码:A 文章编号:1009-3044(2017)17-0078-02

目前,很多学校仍然把C语言作为计算机专业或相关专业的程序设计人门课程。要在限定的课时内帮助不同专业的学生掌握基本的程序设计方法,学会使用计算思维方法去分析和解决问题,教师需要对实际使用的C语言教材的内容进行灵活取舍以突出重点。本文通过分析c语言核心概念及它们之间的联系,建立了层次化的C语言知识点结构图,以突出核心概念及以内在联系为基础的层次化结构,从而为教师抓住重点、构建知识体系提供帮助。

1 C语言的核心概念

通过对C语言教材所包含的全部知识点的梳理和c语言教学实践的总结,发现所有的知识点都直接或间接联系到既独立又相互联系的三个概念:函数、变量、流程控制。依据教材中涉及的主要知识点,分类整理后如图1所示(横向来看)。文献[2]中已提出C++语言中也包含这三个核心概念。进一步讲,基于电子计算机的硬件组成和命令式编程的特点,我们推测大部分的命令式编程语言都包含这三个概念。

对于这三个概念,我们可以根据经验分别给出其描述性定义,但要做到准确理解,需要从具体到抽象,即先掌握概念包含的具体知识点,再试图去理解概念的内涵及相互之间的联系。

函数是对一段代码的封装,可以通过函数名和参数被调用,是程序的基本组成单位。函数概念包含的知识点主要包括主函数、输入输出函数的使用、自定义函数的定义和调用、函数的参数和返回值、递归函数等。

变量提供了程序可以操作的有名字的存储区。变量概念包含的知识点包括变量的四要素(类型、名称、值、地址)、基本类型、变量的定义和引用、变量的作用域、变量的生存期、变量的存储类型、指针变量、数组变量、结构体变量等。因为类型是变量的要素之一,类型不会独立于变量而存在,所以与类型相关的知识点都可以归类为与变量相关的知识点。

流程控制包括顺序结构、分支结构、循环结构三种基本的流程控制结构。顺序结构表示语句按照位置的前后顺序依次执行;分支结构表示根据判断条件的结果选择其中一组语句执行;循环结构表示在满足一定条件的情况下反复执行一组语句。C语言中的分支结构主要有if和switch两种具体形式,循环结构则主要有for、while、do…while三种具体形式。

2核心概念之间的联系

函数、变量、流程控制三个核心概念既相互独立而有其存在的必要性,又相互联系而组成有机的整体。相互联系不仅存在于不同的概念之间,也存在于同一概念的不同实例之间,如图2所示。一方面,函数可由变量和流程控制组合而成,即函数的定义包含变量和流程控制,变量不仅为函数定义提供了命名的存储区域,也为函数调用提供了参数传递方式,流程控制为函数定义提供了实现方式。另一方面,三个概念都支持自组合功能,函数通过函数调用由小的功能模块组成大的功能模块;变量通过结构体实现了由小的数据类型变量组合成大的数据类型变量;流程控制则通过三种控制结构的嵌套由简单的流程控制组合成复杂的流程控制。

2.1函数与函数

函数调用是函数之间的主要关系。函数是C程序的基本组成单位,正是函数调用把程序各个功能模块动态联系起来。C语言中的函数不能嵌套定义,即所有的函数的定义上都是并列的关系,只能通过函数调用把各个函数联系起来。

函数调用实现了功能组合的效果,可以作为应对工程规模和复杂性增长的手段之一。当我们面对的问题规模和复杂性由小变大时,通常需要增加函数的体量和数量来解决。

2.2变量与变量

简单变量通过结构体的组合而形成复杂变量,是变量之间的主要关系。变量在定义时必须指定变量的类型,C语言的变量有整型、实型、字符型三种基本?型,以此为基础,通过引入新的类型构造机制,便可生成新的类型,如指针、数组、结构体等。尤其是结构体的引入,实现了数据类型的间接嵌套,使我们有能力在基本类型的基础之上,经过若干次组合,构造出更大、更复杂的新类型。当我们需要描述复杂的数据结构时,通过使用结构体来构造合适类型的变量。变量的组合功能,是我们应对实际问题中数据结构复杂性增长的手段之一。

2.3流程控制与流程控制

三种流程控制结构之间可以相互嵌套,是流程控制结构之间的主要关系。这种嵌套既有直接的多层嵌套,常见的是二层或三层;也有间接的多层嵌套,即分布在不同函数中的流程控制,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值