购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1-8 C语言程序实例ch1_3.c的解说

本节将介绍C语言基本结构,在了解C语言的基本结构后,接着说明各种C语言的语法,如此读者可循序渐进地了解C语言。

1-8-1 程序的行号

前面程序实例中,程序的左边有程序的行号,其实C语言程序是没有行号的,在此之所以有行号,主要是供读者阅读方便,所以在输入程序时,无须输入程序行号。

1-8-2 程序的批注

程序实例中,第1行与第2行是批注,如下所示:

凡是介于“/*”和“*/”之间的文字,编译程序均会略过,而不予编译。程序设计时,最好养成批注的习惯,以便阅读。

1-8-3 引用头文件

以上程序第3行及第4行的“#include”指令,是将函数库引用在编译程序内,未来程序链接后,即可产生正常的可执行文件。以上程序第10行~第12行的printf( )函数属于“stdio.h”头文件,所以第3行“#include stdio.h”将促使可正常使用printf( )函数调用。第4行的“#include stdlib.h”,stdlib.h是标准函数库头文件,将促使可正常使用system( )函数调用,下面章节会介绍更多C语言的函数库,只要此函数是在stdlib.h内定义,就不需使用#include引用该函数的头文件。第13行的system("pause")函数可以冻结窗口,同时促使窗口出现“请按任意键继续…”,此时程序会先暂停,当用户按下键盘上的任意键时,程序将继续往下执行。如果没有system("pause"),屏幕会一闪就结束,我们会看不到执行结果。

stdio.h和stdlib.h为什么又称为头文件(header file)呢?因为它们通常都是在程序开始处被引用,如果你的程序文件如下:

头文件stdio.h如下:

头文件stdlib.h如下:

上述程序在编译时,“#include <stdio.h>”和“#include <stdlib.h>”分别被stdio.h和stdlib.h头文件取代,如下图所示。

我们引用了头文件,读者可能会好奇,这些头文件存放在哪里?其实一般在编译程序文件夹内,通常有一个include文件夹,头文件就存放在此文件夹内。

例如,若将Dev C++安装在C盘,则可在“C:\Dev-Cpp”文件夹内找到include文件夹,头文件就存放在此文件夹内。

其实有些C语言编译程序,对是否在程序开头加上<#include stdio.h>和<#include stdlib.h>并不十分介意,程序仍可正常编译及执行,这是因为编译程序在编译时会自动加载头文件stdio.h和stdlib.h。有些编译程序对未在开头加上<#include stdio.h>和<#include stdlib.h>的程序会出现警告信息,但仍允许编译及执行。笔者建议最好照标准程序设计原则,该引用就引用,这样可确保所设计的程序未来能在所有编译程序上执行。同时,所设计程序的可移植性也大大提高了。

1-8-4 主程序int main( )声明

所有的C语言程序,均是由main( )开头的,C语言程序会执行{}间的内容。在程序实例ch1_3.c中,程序会执行第7行~第14行的内容。

所以可以说,C语言的基本架构就是:

int main( ) { … }

1-8-5 程序的内容

在程序实例ch1_3.c中,第7行~第14行是属于程序内容,如下所示。

值得注意的是,在每一个完整语句后面,一定要加上“;”,这代表一个语句的结束。

1-8-6 变量的声明

在C语言中,所有的变量在使用前一定要加以声明,以便编译程序为每个变量安排内存空间。往后使用到此变量时,编译程序就会自行到此空间存取数据。

实例1: 当我们在第7行声明“int=i;”之后,整个内存如下所示。

实例2: 当我们在第9行定义“i=3;”时,整个内存如下所示。

至于其他更详细的变量声明原则,将在下一章讨论。

1-8-7 程序实例ch1_3.c的解说

在程序实例中预留了很多空白行,例如第8行。这是为了使程序看起来不拥挤,编译程序在看到这些空白行时,会将其忽略。

以下是整个程序的说明:

第1行及第2行是程序的批注。

第3行及第4行分别引用stdio.h和stdlib.h两个头文件。

第5行声明这是主程序。

第6行“{”左括号,表示主程序从这里开始。

第7行是将变量 i 设置为整数(int)。

第9行是设定变量 i 的值是3。

第10行是打印下列字符串“C程序设计”。

第11行是打印下列字符串“程序练习3”。

第12行是打印下列字符串“C是精彩的”。

第13行是让屏幕暂停可方便查看输出结果。

第14行是回传0。

第15行“}”右括号,表示主程序结束。

有关程序输入与输出的原则,将在第3章说明。 6CzTNjTUqHZKmizajCAiW0QjzVhQeQuNQmtz3yqx/WDg6V6XrD2Q8STYFtZDWWaF

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开