21天学通C语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1.1 两个简单的C程序

在第1章中,已经认识了第一个C程序“Hello, world!”,知道了C程序都会有一个main函数,也知道了C程序简单的执行过程。但是,对于该程序的讲解十分简略。本节将再通过两个简单的程序使读者了解C程序更多的特点,建立起C程序更丰满的轮廓。

注意:在本节中,读者会看到很多新鲜的C语言专用名词,但是请不必查阅每个名词的意思,只需有个大概的印象即可。本节抛出这些新名词的用意也只是让读者有个初步的印象,本节出现的名词在后面的章节都会详细地讨论。

【范例2-1】输出一个正方形,实现方法如示例代码2-1所示。

示例代码2-1

        01  #include <stdio.h>                 /* 包含文件 */
        02                                     /* 空行 */
        03  int main(void) {                   /* main函数的声明,下面都为main函数的函数体 */
        04       /* 使用printf语句逐行输出正方形 */
        05       printf("* * * * *\n");        /* 输出第1行 */
        06       printf("*    *\n");           /* 输出第2行 */
        07       printf("*    *\n");           /* 输出第3行 */
        08       printf("*    *\n");           /* 输出第4行 */
        09       printf("* * * * *\n");        /* 输出第5行 */
        10                                     /* 空行 */
        11       return 0;                     /* 返回语句 */
        12  }

【运行结果】程序运行后,得到输出结果如图2-1所示。

图2-1 输出正方形的结果

【代码解析】本程序实现了打印出一个正方形的功能。

· 第5~9行是函数体的内容,是程序功能的实现主体。每一行都是一个函数调用语句,调用了printf函数,其功能为打印字串。第5行打印的字串内容为“* * * * *\n”,这个字串输出到屏幕时会将其中的\n处理为换行,其余字符按原样输出。最后打印的结果如图2-1的第1行所示。第6~9行打印的结果分别如图2-1中第2~5行所示。

· 第10行与第2行一样,也是一个空行。同样也是为了隔开功能不同的两个程序段而设置的。

警告:C99标准规定无形参的main函数的声明要写为“int main(void)”,且要有“return 0;”语句。在第10章函数中会介绍一种带形参的main函数声明。

【范例2-2】本范例简单地展示了C语言中一些操作符、变量和数据类型,实现方法如示例代码2-2所示。

示例代码2-2

        01  #include <stdio.h>                          /* 包含文件 */
        02                                              /* 空行 */
        03  int main(void) {                            /* main函数声明 */
        04       /* 定义两个整型变量 */
        05       int a = 3;                             /* 定义并初始化a */
        06       int b = 7;                             /* 定义并初始化b */
        07
        08       /* 定义两个浮点型变量 */
        09       double c = 2.4;                        /* 定义并初始化c */
        10       double d = 7.4;                        /* 定义并初始化d */
        11
        12       /* 使用操作符进行计算 */
        13       b = b + a;                             /* 对b赋值 */
        14       d = c * d;                             /* 对d赋值 */
        15
        16       /* 输出各个变量的值 */
        17       printf("a = %d\n", a);                 /* 输出a的值 */
        18       printf("b = %d\n", b);                 /* 输出b的值 */
        19       printf("c = %d\n", c);                 /* 输出c的值 */
        20       printf("d = %f\n", d);                 /* 输出d的值 */
        21
        22       return 0;
        23  }

【运行结果】本程序的运行结果如图2-2所示。

图2-2 C语言简单范例的运行结果

【代码解析】本程序定义了几个变量,在对它们做简单操作后使用printf函数输出其值。

· 第9行和第10行定义了两个double型变量c和d,并分别赋值为2.4和7.4,其中,2.4和7.4为两个double型常量。

· 第17行~20行的功能为调用printf函数,输出4个变量的值,在这里printf函数用字符串外的数值替换字符串中的内容后输出,其输出结果如图2-2所示。

· 第4、8、12行和第16行都是注释语句,用来说明其后C语句的简要功能,以提高程序可读性。

范例2-1和范例2-2一样,都是简单的顺序结构。