#include <stdio.h> //包含标准库的信息
main() //定义名为main的函数,它不接收参数值
{ //函数的语句都被包括在花括号中
printf("hello, world\n"); //main函数调用库函数printf以显示字符序列;\n代表换行符
}
第一个C语言程序
第一个程序helloworld.c程序
程序说明:
C语言程序都由函数和变量组成。函数中包含一些语句,以指定要执行的操作;变量用于存储计算过程中使用的值。
本例的函数名是main。通常,函数名没限制,但main是个特殊的函数名,特殊在每个程序都从main函数的起点开始执行,所以每个程序必在某个位置有一个main函数。
main函数通常会调用其他函数来帮其完成某些工作。被调用的函数可由程序员自己编写,也可来自函数库。第一个程序中的第一行
#include <stdio.h>
告诉编译器:在本程序中包含标准输入/输出的信息。许多C语言源程序的开始都包含这条语句。在第七章和附录B中对标准库进行讲解。
函数间数据交换的方法之一是:调用函数向被调用函数提供一个值(参数)列表。函数名后面的一对圆括号将参数列表扩起来。本例中,main函数不需要任何参数,因此用空参数表()表示。
函数中的语句用花括号{}锁住。例子中语句只有一条:
printf ("hello, world\n");
调用函数时,只用函数名加上用圆括号锁住的参数表即可。上面这条语句将"hello, world\n"作为参数调用了printf函数。它是一个用于打印输出的库函数,这次,它打印双引号中间的字符串。
用双引号锁住的字符序列称为字符串或字符常量,"hello, world\n"就是一个字符串。目前,仅用字符串作为printf及其他函数的参数。
C语言中,字符序列\n表示换行符,在打印中,输出打印将换行,从下一行的左端行首开始 。若去掉\n,即使输出打印完成后也不会换行。printf的参数中只用\n表示换行符。如果用程序的换行代替\n,例如
printf ("hello, world
");
C编译器将会产生一条错误信息。
printf函数永不自动换行,可多次调用该函数以分阶段得到一个长的输出行。第一个程序也可以些改成:
#include <stdio.h>
main()
{
printf("hello, ");
printf("world");
printf("\n");
}
第一个函数的变形
它的输出结果与第一个函数的一模一样。
注意:\n只代表一个字符。类似于\n的转义字符序列为表示无法输入的字符或不可见字符提供了一种通用的可扩展的机制。此外,C语言的转义字符序列还包含:\t, 制表符;\b, 回退符;\", 双引号;\\, 反斜杠符本身。详见2.3节。
练习1-1 在自选的系统中运行"hello, world"程序。故意去掉部分内容,看出错信息。
练习1-2 实验,printf函数的参数字符串中包含\c(c是转义字符序列中未列出的一个)时,观察新的情况。