1.4 一个完整的C程序
视频讲解:光盘\TM\lx\1\一个完整的C程序.exe
1.3节展现了一个最简单的程序,通过7行代码的使用,实现了显示一行字符串的功能。通过1.3节的介绍,读者应该不再对学习C语言发怵了。本节将根据1.3节的实例,对其内容进行扩充,使读者对C程序有一个更完整的认识。
这里要再次提示一下此程序的用意。实例1.2以及实例1.1并不是要将具体的知识点进行详细的讲解,只是将C语言程序的概貌显示给读者,使读者对C语言程序有一个简单的印象。还记得小时候学习加减法的情况吗?老师只是教给学生们"1+1=2",却没有教给学生们"1+1为什么等于2"或者"如何证明1+1=2"这样的问题。通过这些生活中的提示,可以看出学习加减法是这样的过程,那么学习C语言编写程序也应该是这样的过程,在不断的接触中变得熟悉,在不断的思考中变得深入。
【实例1.2】 一个完整的C程序。(实例位置:光盘\TM\sl\1\2)
本实例要实现这样的功能:有一个长方体,它的高已经给出,然后输入这个长方体的长和宽,通过输入的长、宽以及给定的高度,计算出这个长方体的体积。
- #include<stdio.h> /*包含头文件*/
- #define Height 10 /*定义常量*/
-
- int calculate(int Long, int Width); /*函数声明*/
-
- int main() /*主函数main*/
- {
- int m_Long; /*定义整型
变量,表示长度*/ - int m_Width; /*定义
整型变量,表示宽度*/ - int result; /*定义
整型变量,表示长方体的体积*/ -
- printf("长方形的高度为:%d\n",Height); /*显示提示*/
-
- printf("请输入长度\n"); /*显示提示*/
- scanf("%d",&m_Long); /*输入长方体的长度*/
-
- printf("请输入宽度\n"); /*显示提示*/
- scanf("%d",&m_Width); /*输入长方体的宽度*/
-
- result=calculate(m_Long,m_Width);
/*调用函数,计算体积*/ - printf("长方体的体积是:"); /*显示提示*/
- printf("%d\n",result); /*输出体积大小*/
- return 0; /*返回整形0*/
- }
-
- int calculate(int Long, int Width)
/*定义计算体积函数*/ - {
- int result =Long*Width*Height; /*具体计算体积*/
- return result;
/*将计算的体积结果返回*/ - }
运行程序,显示效果如图1.2所示。
|
| (点击查看大图)图1.2 完整的C程序 |
在具体讲解这个程序的执行过程之前,先展现该程序的过程图,这样可以使读者对程序有一个更为清晰的认识,如图1.3所示。
|
| (点击查看大图)图1.3 程序流程分析 |
通过上述程序流程图可以观察出整个程序运行的过程。前面已经介绍过关于程序中一些相同的内容,这里不再进行有关的说明。下面介绍程序中新出现的一些内容:
定义常量
实例代码中的第二行:
- #define Height 10 /*定义常量*/
这一行代码中,使用#define定义一个符号,#define在这里的功能是设定这个符号为Height,并且指定这个符号Height代表的值为10。这样在程序中,只要是使用Height这个标识符的位置,就代表使用的是10这个数值。
函数声明
实例代码中的第4行:
- int calculate(int Long, int Width); /*函数声明*/
此处代码的作用是对一个函数进行声明,前面介绍过关于函数,但是什么是声明函数呢?举一个例子,两个公司进行合作,其中的A公司要派一个经理到B公司进行业务洽谈。A公司会发送一个通知给B公司,告诉B公司会派一个经理过去,请B公司在机场接一下这位洽谈业务的经理。A公司将这位经理的名字和大概的体貌特征都告诉B公司的有关迎接人员。这样当这位经理下飞机之后,B公司就可以将他的名字写在纸上作成接机牌,然后找到这位经理。
声明函数的作用就像A公司告诉B公司有关这位经理信息的过程,为接下来要使用的函数做准备。也就是说如果此处声明calculate函数,那么在程序代码的后面会有calculate函数的具体定义内容,这样程序中如果出现calculate函数,程序就会根据calculate函数的定义执行有关的操作。至于有关的具体内容将会在第9章中进行介绍。
定义变量
实例代码中第7、8、9行:
- int m_Long; /*定义整型变量,表示长度*/
- int m_Width; /*定义整型变量,表示宽度*/
- int result; /*定义整型变量,表示长方体的体积*/
这3行语句都是定义变量的语句。在C语言中要使用变量,必须在使用变量之前进行定义,之后编译器会根据变量的类型为变量分配内存空间。变量的作用就是存储数值,用变量进行计算。这就像在二元一次方程中,X和Y就是变量,当为其进行赋值后,例如X为5,Y为10,这样X+Y的结果就等于15。
输出语句
实例代码中第15行:
- scanf("%d",&m_Long); /*输入长方体的长度*/
在上一个实例中,曾经介绍过显示输出函数printf,那么既然有输出就一定会有输入。在C语言中,scanf函数就用来接受键盘输入的内容,并将输入的结构保存在相应的变量中。可以看到,在scanf的参数中,m_Long就是之前定义的整型变量,它的作用是存储输入的信息内容。其中的&符号是取地址运算符,其具体内容将会在本书的后续章节中进行介绍。
数学运算语句
实例代码中第26行:
- int result =Long*Width*Height; /*具体计算体积*/
这行代码在calculate函数体内,其功能是将变量Long乘以Width再乘以Height得到结果保存在result变量中。其中的“*”号代表乘法运算符。
以上的内容已经将其中的要点知识全部提取出来,关于C语言程序相信读者此时已经有了一定的了解,再将上面的程序执行过程进行一下总结:
(1)包含程序所需要的头文件。
(2)定义一个常量Height,其值代表为10。
(3)对calculate函数进行声明。
(4)进入main函数,程序开始执行。
(5)在main函数中,首先定义3个整型变量,3个变量分别代表着长方体的长度、宽度和长方体的体积。
(6)显示提示文字,然后根据显示的文字输入有关的数据。
(7)当将长方体的长度和宽度都输入之后会调用calculate函数,计算长方体的体积。
(8)定义calculate函数的位置在main函数的下面,在calculate函数体内将计算长方体体积的结构进行返回。
(9)在main函数中,result变量得到了calculate函数返回的结果。
(10)通过输出语句将其中长方体的体积显示出来。
(11)程序结束。