![C语言从入门到精通(第4版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/434/47217434/b_47217434.jpg)
1.4 一个完整的C程序
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-P30_27076.jpg?sign=1738882096-gAflscgCJWn12IzhghWtFBOaTmof58hy-0-94c3a1476e5de8adc5a8a1a85f4c1599)
视频讲解
1.3节展现了一个最简单的程序,通过7行代码的使用,实现了显示一行字符串的功能。通过1.3节的介绍,读者应该不会再对学习C语言发怵了。本节将在例1.1的基础上,对其内容进行扩充,使读者对C程序有一个更完整的认识。
【例1.2】 一个完整的C程序。(实例位置:资源包\TM\sl\1\2)
本实例要实现这样的功能:有一个长方体,它的高已经给出,然后输入这个长方体的长和宽,通过输入的长、宽以及给定的高度,计算出长方体的体积。
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-T30_72682.jpg?sign=1738882096-9rRfAnT50BpRZhaPGZx8PKcvjHznXrWl-0-045a87ea0f68a2ac6e037ee3d5a0881e)
运行程序,显示效果如图1.2所示。
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-P31_72215.jpg?sign=1738882096-fxtAkhFJoDEsoQeflXHNxYuTm37etB9W-0-11593c6c177b5c02d1ea68da26b9e239)
图1.2 一个完整的C程序
说明
这里要再次提示一下此程序的用意。例1.2和例1.1并不是要将具体的知识点进行详细的讲解,只是将C语言程序的概貌显示给读者,使读者对C语言程序有一个简单的印象。还记得小时候学习加减法的情况吗?老师只是教给学生们“1+1=2”,却没有教给学生们“1+1为什么等于2”或者“如何证明1+1=2”这样的问题。学习加减法是这样的过程,学习C语言编写程序也应该是这样的过程,在不断的接触中变得熟悉,在不断的思考中变得深入。
在具体讲解这个程序的执行过程之前,先展现该程序的过程图,这样可以使读者对程序有一个更为清晰的认识,如图1.3所示。
通过上述程序流程图,可以观察出整个程序运行的过程。前面已经介绍过程序中的一些内容,这里不再进行有关的说明。下面介绍程序中新出现的一些内容。
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-P32_72514.jpg?sign=1738882096-azo5wRVZE2My46OJKyVN7Loocll8AUXf-0-3335103452b94ed93723037f4aa7a716)
图1.3 程序流程分析
1. 定义常量
实例代码中的第2行:
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-T32_72684.jpg?sign=1738882096-UaHQQW5KUOGeEtrnDSZtNPeGlVVDlbc5-0-819877ce5c05883e7138b1082476f4a6)
这一行代码中,使用#define定义一个符号。#define在这里的功能是设定这个符号为Height,并且指定这个符号Height代表的值为10。这样在程序中,只要是使用Height这个标识符的位置,就代表使用的是10这个数值。
2. 函数声明
实例代码中的第3行:
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-T32_72685.jpg?sign=1738882096-8ROxU8f4FjwbD7HVCYjOD28DNfJHsk0K-0-c65271a12334440501cb3e422cefb235)
此处代码的作用是对一个函数进行声明。前面介绍过函数,但是什么是函数声明呢?举一个例子,两个公司进行合作,其中的A公司要派一个经理到B公司进行业务洽谈。A公司会发送一个通知给B公司,告诉B公司会派一个经理过去,请B公司在机场接一下这位洽谈业务的经理。A公司将这位经理的名字和大概的体貌特征都告诉B公司的有关迎接人员。这样当这位经理下飞机之后,B公司就可以将他的名字写在纸上做成接机牌,然后找到这位经理。
声明函数的作用就像A公司告诉B公司有关这位经理信息的过程,为接下来要使用的函数做准备。也就是说,如果此处声明calculate函数,那么在程序代码的后面会有calculate函数的具体定义内容,这样程序中如果出现calculate函数,程序就会根据calculate函数的定义执行有关的操作。至于有关的具体内容将会在第9章进行介绍。
3. 定义变量
实例代码中的第6~8行:
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-T33_72686.jpg?sign=1738882096-6iwpftBUcchNHYP2pwftf9Sq3t8uCP6r-0-b470dc4825254f859153659b3c540f4b)
这3行语句都是定义变量的语句。在C语言中要使用变量,必须在使用变量之前进行定义,之后编译器会根据变量的类型为变量分配内存空间。变量的作用就是存储数值,用变量进行计算。这就像在二元一次方程中,X和Y就是变量,当为其进行赋值后,如X为5,Y为10,这样X+Y的结果就等于15。
4. 输入语句
实例代码中的第13行:
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-T33_72687.jpg?sign=1738882096-UeaDAjEeXNgYPWwaP0dYNW4WK6WIO3Hz-0-51ff41875132a46842445a0131f199b6)
在例1.1中曾经介绍过显示输出函数printf,那么既然有输出就一定会有输入。在C语言中,scanf函数就用来接收键盘输入的内容,并将输入的内容保存在相应的变量中。可以看到,在scanf函数的参数中,m_Long就是之前定义的整型变量,它的作用是存储输入的信息内容。其中的“&”符号是取地址运算符,其具体内容将会在本书的后续章节中进行介绍。
5. 数学运算语句
实例代码中的第26行:
![](https://epubservercos.yuewen.com/B54190/26581658001365206/epubprivate/OEBPS/Images/Figure-T33_72688.jpg?sign=1738882096-bQ1pCNRX6NVbIRXKAUc7kpeZ6ljfZvLN-0-21e2806a1fb438a0635cda856bcc5d5f)
这行代码在calculate函数体内,其功能是将变量Long、Width、Height三者相乘得到的结果保存在result变量中。其中的“*”号代表乘法运算符。
以上内容已经将其中的要点知识全部提取出来,关于C语言程序,相信读者此时已经有了一定的了解。下面再将上面的程序执行过程进行总结:
(1)包含程序所需要的头文件。
(2)定义一个常量Height,其代表的值为10。
(3)对calculate函数进行声明。
(4)进入main函数,程序开始执行。
(5)在main函数中,首先定义3个整型变量,分别代表长方体的长度、宽度和体积。
(6)显示提示文字,然后根据显示的文字输入有关的数据。
(7)当长方体的长度和宽度都输入之后,会调用calculate函数,计算长方体的体积。
(8)定义calculate函数的位置在main函数的下面,在calculate函数体内将计算长方体体积的结果进行返回。
(9)在main函数中,result变量得到了calculate函数返回的结果。
(10)通过输出语句将其中长方体的体积显示出来。
(11)程序结束。