C语言从入门到精通(第6版)
上QQ阅读APP看书,第一时间看更新

1.4 一个完整的C程序

例1.1是一个简单的C程序,通过7行代码实现了显示一行字符串的功能。本节将在例1.1的基础上,对其内容进行扩充,使读者对C程序有一个更完整的认识。

【例1.2】计算长方体的体积(实例位置:资源包\TM\sl\01\02)

某长方体,其高已经给出,为10。要求从控制台输入长方体的长和宽,通过输入的长、宽以及给定的高度,计算出长方体的体积。

运行程序,显示效果如图1.3所示。

图1.3 一个完整的C程序

本例的程序执行流程如图1.4所示,从中可以观察整个程序的运行过程。

图1.4 程序流程分析

1.3节中已经介绍过#include包含命令、main函数、函数体、return返回语句、代码注释等内容,这里不再进行重复说明。下面介绍程序中新出现的一些内容。

说明

给出例1.1和例1.2,并不是为了讲解具体知识点,而是为了将C程序的概貌展示出来,使读者对其有一个快速了解。还记得我们小时候初学加减法时的情形吗?老师只会教授1+1=2,却不会教授1+1为什么等于2,以及如何证明1+1=2这样的问题。学习C语言也应该如此,开始阶段大家不要过于深究为什么,有个简单的了解即可,在后续的不断接触中你会逐渐对其熟悉,直到能熟练应用。

1.定义常量

实例代码的第2行:

    #define HEIGHT 10  /*定义常量HEIGHT,表示长方体高度10 */

本行代码使用#define定义了一个符号常量。#define在这里的功能是设定用符号Height代表数值10。这样在程序编译时,只要遇见HEIGHT标识符,就会被替换为数值10。从而满足题设中“其高已给出”这个条件。

2.函数声明

实例代码的第3行:

    int calculate(int Length, int Width);  /*声明用户自定义函数calculate */

本行代码的作用是对calculate函数进行声明。什么是函数声明呢?举例说明,两个公司合作,A

公司要派人到B公司洽谈业务,那么洽谈前A公司肯定会提前告知B公司自己要派人去,以及洽谈人员的基本情况。声明函数的作用,就类似于A公司告知B公司拟派人员信息的过程。也就是说,此处声明calculate函数,表示后面将给出calculate函数的具体定义内容。

3.定义变量

实例代码的第6~8行:

    int m_Length;  /*定义整型变量m_Length,表示长方体长度*/
    int m_Width;   /*定义整型变量m_Width,表示长方体宽度*/
    int volume;    /*定义整型变量volume,表示长方体体积*/

这3行语句都是定义变量的语句。变量的作用就是存储数值,使得程序可利用变量进行计算。这就像在二元一次方程中,X和Y就是变量,当为其赋值后,如X为5,Y为10,这样X+Y的结果就等于15。C语言中,使用变量前必须先进行定义,编译器会根据变量类型为其分配内存空间。

4.输入语句

实例代码的第13行:

    scanf("%d",&m_Length);  /*输入长方体的长度*/

例1.1中曾介绍过格式化输出函数printf,既然有输出函数,就一定有输入函数。C语言中,scanf函数用来接收键盘输入的内容,并将输入的内容保存在相应变量中。可以看到,在scanf函数的参数中,m_Length就是之前定义的整型变量,作用是存储输入的信息内容;“&”符号是取地址运算符,其具体内容会在后续章节中介绍。

5.自定义函数

实例代码的第24~28行:

    int calculate(int Length, int Width)   /*自定义函数calculate,用于计算长方体的体积*/
    {
        int volume = Length*Width*Height;  /*计算长方体的体积*/
        return volume;                     /*将计算的体积结果返回*/
    }

本段代码定义了一个calculate函数,作用是计算长方体的体积。前面介绍过main、printf、scanf函数,它们都属于C语言标准库函数,由系统提前定义好,读者直接调用就行。但calculate函数是用户根据需要自行定义的函数,因此必须给出定义的函数体。定义之后,读者一样可随时调用它。有关函数的具体内容将在第9章中介绍。

6.数学运算语句

实例代码的第26行:

    int volume = Length*Width*HEIGHT;  /*计算长方体的体积*/

本行代码在calculate函数体内,其功能是将变量Length、Width、HEIGHT三者相乘得到的结果保存在volume变量中。其中的“*”代表乘法运算符。

关于C语言程序,相信读者此时已经有了一定了解。下面再将例1.2的运行过程总结一下。

(1)包含程序所需要的头文件。

(2)定义一个常量HEIGHT,代表长方体的高度10。

(3)对calculate函数进行声明。

(4)进入main函数,程序开始执行。

(5)在main函数中,首先定义3个整型变量,分别代表长方体的长度、宽度和体积。

(6)显示提示文字,然后根据提示信息输入有关的数据。

(7)当长方体的长度和宽度都输入之后,会调用calculate函数,计算长方体的体积。

(8)定义calculate函数的位置在main函数的下面,在calculate函数体内将计算长方体体积的结果进行返回。

(9)在main函数中,volume变量得到了calculate函数返回的结果。

(10)通过输出语句将长方体的体积显示出来。

(11)程序结束。

编程训练(答案位置:资源包\TM\sl\01\编程训练\)

训练3:预测孩子身高 输入父亲和母亲的身高,通过公式“孩子身高=(父亲身高+母亲身高)×0.54”,预测孩子的身高。运行结果如下:

    请输入父亲的身高:
    1.8
    请输入母亲的身高:
    1.68
    预测孩子的身高:1.88

训练4:米尺转化 在商场买裤子时,常常会听到“这条裤子腰围是2尺5”等类似的话。那么2尺5到底是多少米呢?试着编写程序实现米和尺之间的单位转换。运行结果如下:

    请输入尺寸:
    2.5
    将尺转换成米是:0.83