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