C 语言程序结构
上一个小节 C 语言的简介中我们对 C 语言已经有了一个简单的了解。这一节我们就来看一下 C 语言的程序结构,了解了 C 语言的程序结构之后我们才能正式的开始编写 C 语言程序。下面我们来看一个最简单的 C 语言可执行程序:
1. 示例程序
我们先看一个最简单的可以执行的 C 语言的程序:
# include <stdio.h>
int main()
{
int x,y,z;
printf("Welcome to Utopia's lessons!\n");
return 0;
}
执行这个程序,就会在我们的命令行中输出如下内容:
Welcome to Utopia's lessons!
Tips:上述程序在 gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0 下通过测试可以执行。关于 gcc 我们在下一个小节会进行讲解。
2. 结构解析
2.1 main 函数
在每个 C 语言程序中都需要包含一个 main 函数。这是程序的主体,每个可以单独执行的 C 语言程序都要有一个 mian 函数作为程序的入口程序,如同每个建筑物都会有一个主要的出入口一样。
这个函数由函数名后的一对圆括号,以及在圆括号后面的一对大括号,和包含在大括号内的一组程序代码构成。这个圆括号中可以放置需要在程序启动时传入 main 函数的参数。可以是一个,或者多个参数。而在这之后的大括号中的部分,就是这个程序的主体部分。里面是可以执行的程序语句或者注释等相关内容。
Tips:按照 C 语言的国际标准,这个函数是有一个返回值的,而且类型只能是 int 类型。但是在一些旧的书籍中,会有 void 的返回类型写法。这个写法在我目前遇到的编译器中不会有问题。但是切记,这不是 C 语言标准写法,在某些新的编译器中会产生错误。程序是一个需要极其遵守规则的领域,小聪明总会付出沉重的代价。
2.2 # include
指令
为了调用标准 IO 库中提供的 printf 这个函数。我们这里使用了 # include <stdio.h>
,这个语句代表了我们要在程序中使用 STDIO 库中提供的函数,我们也会把 stdio.h
这样的文件称之为头文件。
头文件里面主要包含着函数的声明。这就可以方便我们重复使用别人已经实现了的程序,能使用别人的,一般都不要自己来实现,这叫做不要自己来发明轮子。更深入的讲一点,其实这个是一个预处理指令。这个指令会在程序编译时,指引编译器找到我们所需要引用的内容。
2.3 int x,y,z;
这一句是声明了 3 个整数型的变量。在 C 语言中,变量要先通过声明类型,然后才能使用。这一点和某些编程语言有点不太一样。不同的变量类型在 C 语言中会对应不同的内存分配大小。
2.4 printf
函数
除了上面所讲的部分外,其余的部分是程序语句。 printf
函数是向标准终端中输出格式化的文本。 return
函数是在程序执行到此结束程序并返回其所携带的参数数值。 语句一般是功能函数与分支结构的组合。程序会根据条件的变化来执行相应的操作,最终计算出我们需要的结果。而所谓 bug 其实就是我们预想的结果和程序最终呈现给我们的结果不一致而已。
3. 小结
C 语言程序是由一个个函数组成的,其中唯一的主函数叫做 main。它是程序的入口,负责组织整个程序。
每个函数包含主函数都是由函数返回值,函数名称,函数传入变量,内部的变量与常量,被调用的外部函数等组成。只不过 main 函数的名称特殊了一点而已。