2014
01-05
  学习一门新程序设计语言的惟一途径就是使用它编写程序。对于所有语言的初学者来说,编写的第一个程序几乎都是相同的,即:
       

       请打印出下列内容
       hello, world


       尽管这个练习很简单,但对于初学语言的人来说,它仍然可能成为一大障碍,因为要实现这个目的,我们首先必须编写程序文本,然后成功地运行编译,并加载、运行,最后输出到某个地方。掌握了这些操作细节以后,其它事情就比较容易了。
       在C语言中,我们可以用下列程序打印出“hello, world":

 
#include <stdio.h>
int main() {
    printf("hello, world\n");
    return 0;
}

 

       下面对程序本身做些说明。

       一个C语言程序,无论其大小如何,都是由函数和变量组成的。函数中包含一些语句,以指定所要执行的计算操作;变量则用于存储计算过程中使用的值。

       在本例中,函数的名字为main。通常情况下,函数的命名没有限制,但main是一个特殊的函数名一一每个程序都从main函数的起点开始执行,这意味着每个程序都必须在某个位置包含一个main函数。
        main函数通常会调用其它函数来帮助完成某些工作,被调用的函数可以是程序设计人员自己编写的,也可以来自于函数库。上述程序段中的第一行语句
#include<stdio.h>
       用于告诉编译器在本程序中包含标准输入/输出库的信息。许多C语言源程序的开始处都包含这一行语句。我们将在第7章和附录B中对标准库进行详细介绍。
       函数之间进行数据交换的一种方法是调用函数向被调用函数提供一个值(称为参数)列表。函数名后面的一对圆括号将参数列表括起来。在本例中,main函数不需要任何参数,因此用空参数表()表示。
       函数中的语句用一对花括号{}括起来。本例中的main函数仅包含下面一条语句:
printf("hello,world\n");
       调用函数时,只需要使用函数名加上用圆括号括起来的参数表即可。上面这条语句将"hello,world\n"。作为参数调用printf函数。printf是一个用于打印输出的库函数,在此处,它打印双引号中间的字符串。
       用双引号括起来的字符序列称为字符串或字符串常量,如"hello,world\n"就是一个字符串。目前我们仅使用字符串作为printf及其它函数的参数。
在C语言中,字符序列\n表示换行符,在打印中遇到它时,输出打印将换行,从下一行的左端行首开始。如果去掉字符串中的\n,即使输出打印完成后也不会换行。在printf函数的参数中,只能用\n表示换行符。
       printf函数永远不会自动换行,这样我们可以多次调用该函数以分阶段得到一个长的输出行。上面给出的第一个程序也可以改写成下列形式:
#include<stdio.h>
int main(){
    printf("hello,");
    printf("world");
    printf("\n");
    return 0;
}
        这段程序与前面的程序的输出相同。
       请注意,\n只代表一个字符。类似于\n的转义字符序列为表示无法输入的字符或不可见字符提供了一种通用的可扩充的机制。除此之外,C语言提供的转义字符序列还包括:\t表示制表符;\b表示回退符;\"表示双引号;\\表示反斜杠符本身。2.3节将给出转义字符序列的完整列表。

留下一个回复