这段话主要解释了C程序中#include指令和头文件的作用。头文件包含了编译器所需的信息,例如函数名、常量、以及如何使用它们等。在C程序中,头文件通常用于包含库函数,例如stdio.h文件中包含了输入和输出函数(如printf())。预处理器指令可以在编译器接手之前对源代码进行一些准备工作,例如在本例中,预处理器会将stdio.h文件中的所有内容输入到程序中。C语言中没有将输入和输出这些基本功能内置在语言中的原因之一是,并非所有程序都会用到I/O包,这符合C语言轻装上阵的哲学,使得C语言成为流行的嵌入式编程语言。
这段文字讲解了C语言程序中的主函数main()的基本特点和规则。在C语言程序中,main()函数是必不可少的,因为它是程序的入口点,是程序执行的起点。同时,main()函数的返回值类型必须是int,表示它会返回一个整数值。程序执行结束后,main()函数的返回值会传递给操作系统,操作系统可以根据这个值来判断程序是否执行成功。另外,main()函数可以通过圆括号传入参数,但在本例中没有传入任何参数,所以圆括号中是单词void,表示没有传入参数。最后,这段文字还提到了一些不推荐的写法,比如省略返回值类型或者将返回值类型设置为void,这些写法虽然在一些旧式的C代码中可行,但是在C99和C11标准中已经被废弃,不建议使用。
注释是C语言程序中用来解释代码的一种方式。注释使用 /* / 或 // 符号来标识注释内容,被注释的内容将被编译器忽略。注释可以放在任何地方,甚至可以在同一行内与代码混合使用。
C语言的注释有两种形式:旧式注释和新式注释。旧式注释使用 / */ 符号,可以跨越多行,也可以放在一行内。新式注释使用 // 符号,只能放在单行中。
新式注释的引入是为了解决旧式注释的潜在问题。旧式注释中,如果注释不完整或者注释中包含其他注释符号,会导致代码被误解析为注释。而新式注释只在一行内生效,不会产生这种问题。为了让示例代码更加清晰易懂,本书中采用了两种注释风格,旧式和新式。
花括号是C语言中用来标记函数体开始和结束的符号,它不能被省略。除此之外,花括号还可以用来将多条语句合并为一个块或单元,这个块通常被称为“代码块”或“块”,也可以理解为一个独立的代码执行单元。花括号的作用类似于其他编程语言中的begin和end语句。在C语言中,只有花括号才能起到这种作用,圆括号和方括号都不行。
声明是指在C语言中告诉编译器变量或函数的名称和类型,以便分配内存空间。在程序中使用变量之前必须先声明变量,否则编译器会产生错误。在C语言中,所有变量都必须先声明才能使用,这意味着必须列出程序中用到的所有变量名及其类型。
声明可以在函数内部或外部进行。如果声明在函数内部,则它只在该函数中可用。如果声明在函数外部,则它在程序的任何地方都可用。
声明包括变量类型和变量名。在C语言中,关键字用于表示特定类型的变量,如int表示整数类型,char表示字符类型,float表示浮点类型等。变量名是程序员指定的名称,以便程序更易于阅读和理解。在声明中,变量名必须遵循标识符规则,必须以字母或下划线开头,不能以数字开头,并且不能是C语言中的关键字。
在旧版本的C语言中,声明必须在块的顶部进行,但是新版本的C语言已经允许在块的任何地方进行声明。但是,不管在哪里进行声明,在使用变量之前必须进行声明。
声明的另一个常见形式是函数声明,它用于告诉编译器函数的名称、返回类型和参数类型。这样编译器就可以在使用函数之前了解有关函数的信息。
赋值语句就是将一个值储存在一个变量中。在这个例子中,变量名为num,赋的值为1。在程序中,变量num的值可以随时改变,因为它是一个可变的变量。需要注意的是,赋值语句中等号的作用是将右边的值赋给左边的变量,而不是相等的意思。此外,每个语句都需要以分号结尾,以告诉编译器该语句已经结束。
printf()函数是C语言中常用的一个标准函数,用于将指定的内容输出到屏幕上。函数名为printf,它接收一些参数,这些参数是实际参数,包含需要输出的内容和一些格式化的信息。通过这些参数,printf函数可以打印出不同的输出内容和格式。
在使用printf函数时,可以通过双引号包裹需要输出的内容,也可以通过格式化占位符指定需要输出的变量的位置和格式。例如,%d可以指定输出整数类型的变量,%f可以指定输出浮点数类型的变量。在函数的调用中,需要将这些变量传递给函数,以便printf函数可以正确地打印输出结果。
另外,C语言中还有一些转义序列,例如\n代表换行符,\t代表制表符,\b代表退格符等,可以用于打印特殊字符。在printf函数中使用转义序列时,需要在前面添加一个反斜杠字符。
总之,printf函数是C语言中一个非常常用的函数,可以用于输出各种类型的数据和格式化的信息。熟练掌握printf函数的使用,对于编写高质量的C语言程序是非常重要的。
return语句是用来返回函数执行结果的。在C语言中,如果一个函数有返回值,那么在函数执行结束时必须使用return语句返回一个值,这个值的类型必须与函数声明的返回值类型相同。
在main函数中,返回值是整型类型,因此需要在函数结束时使用return语句返回一个整数值。如果省略了return语句,程序会默认返回0。虽然在main函数中省略return语句不会对程序运行产生影响,但是为了保证程序的可读性和可维护性,建议在main函数中保留return语句。
在其他有返回值的函数中,如果省略了return语句,那么程序的行为是未定义的,可能会导致程序崩溃或产生不可预期的结果。因此,必须在有返回值的函数中使用return语句返回一个值。
在某些操作系统中,return语句还有一些特殊用途,这些用途将在第11章中详细讲解。总之,在编写C程序时,始终要遵循良好的编程习惯,保证代码的可读性和可维护性,这样才能写出高质量的程序。