首页 理论教育高职考试计算机专业模块化程序设计

高职考试计算机专业模块化程序设计

【摘要】:6.了解简单的主—子函数程序设计主—子函数程序就是指由多个函数组成的程序,其中一个函数为主调函数,其他函数为被调函数。

一、考点分析

1.了解模块化程序设计的方法

模块化程序设计的方法是基于一种复杂问题化简处理的思路,即把一个复杂问题分解成多个简单的小问题。对于程序设计而言,则采取“自顶而下,逐步细化”的原则把功能复杂的软件系统解剖为若干易于实现的功能模块,每个功能模块对应一段程序代码。在C语言中,实现这样功能模块的程序段就是函数,函数对程序段的格式进行了严格的定义,C函数由函数头和函数体组成,函数头声明函数的类型、名称和所需要的参数,函数体是用{}括起来的实现软件模块功能的代码段。

2.了解C语言函数的分类

C语言函数分为库函数和自定义函数两大类。库函数是随C语言系统发布的函数,它包含那些常用的公共函数,其原型说明(就是函数的类型、名称和所需要参数类型信息,也可称作函数的名片)保存在扩展名为h的头文件中,需要使用库函数时,必须在源程序的开始处用#include包含相应的头文件。自定义函数就是程序员根据实际问题的需要编写的函数,这是C语言编程的主要工作。

3.理解函数的定义方法

定义函数就是按函数代码的格式要求写出实现函数功能的程序代码。一般函数头独立占一个程序行,依次是函数类型、函数名,然后紧跟一对小括号,小括号中声明函数工作时需要的参数(称为形式参数,简称形参),每个形参都需要一个类型标识符加以说明。如果函数不需要参数,但仍必须保留函数名后的小括号。在函数头的下一行开始写实现函数功能的程序代码,即函数体。注意:不论函数体代码有多少都需要用{}括起来。

4.理解函数的类型,返回值类型与return语句的关系

函数的返回值是指函数运行结束时,通过return语句向外(也就是调用方)提供的数据,而这个返回值的类型也称为函数的类型。如果return后表达式值的类型与定义函数声明的类型不一致时,则retrun表达式的值将自动转换成函数声明的类型。在C语言中,定义函数时允许缺省函数类型的声明,当缺省时,函数的类型会自动声明为int型。当函数不需要向调用方返回任何值时,需要把函数的类型声明为void型。

5.理解函数的调用方法

在C语言中,每个函数实现了一定的程序功能,当在定义一个函数时,需要用到另一个函数的功能时,只需要调用该函数就可以了,而不需要重复编写相应功能的程序代码。使用另一个函数功能的函数称为主调函数,提供功能的函数称为被调函数。在调用函数之前,需要在主调函数中对被调函数进行原型声明,即列出函数的类型、函数名以及函数所有形参的类型(形参变量名不需要),调用函数的一般形式为:函数名(实际参数列表),函数名即被调函数的名称,实际参数(简称实参)列表是与定义该函数时声明的形参列表一一对应(个数相等、类型相同)的。形参只能是变量形式,实参则可以是常量、变量和表达式的形式。在函数调用中,实参数据复制给形参变量,在被调函数中对形参变量的修改不会对实参数据产生任何影响,这种实参到形参的数据传递特性被称为单向值传递。

6.了解简单的主—子函数程序设计

主—子函数程序就是指由多个函数组成的程序,其中一个函数为主调函数(往往由main函数充当),其他函数为被调函数。函数之间通过调用关系构成一个结构层次清晰、功能完善的程序。

二、典型题解

【例1】 下面函数定义正确的是(  )。

解析:本题考查函数定义的基本要求,形参变量要逐个进行类型声明,不能用一个类型标识符声明多个形参变量,多个形参变量之间用逗号分隔。函数头与函数体是有机的整体,它不是语句,因此不能加分号结束。基于这些要求,本题的正确答案应该是C。

【例2】 有函数定义:picker(){},关于该函数的说法正确的是(  )。

A.函数没有返回值 B.函数的返回值是int型

C.函数返回不确定的值 D.函数的定义有语法错误

解析:定义函数时没有指定类型,则缺省的是int型,至于返回值是否是确定的值,要看return语句的使用,如果使用了不带表达式的return语句则返回值就是不确定的,因此本题的正确答案应该是B。

【例3】 分析下面程序段的输出结果。

解析:这就是一个简单的主—子函数程序的实现。在主调函数中用实参a,b去调用函数swap,在swap函数中完成形参p,q的值交换,调用结束后输出变量a,b的值。由于实参到形参的值传递是单向的,所以形参p,q的值交换不会导致实参量a,b的值交换,因此,程序的输出结果是a=5,b=10而不是a=10,b=5。