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 函数的名称特殊了一点而已。