本章介绍以下内容:
运算符:=
函数:main()、printf()
编写一个简单的C程序
创建整型变量,为其赋值并在屏幕上显示其值
换行字符
如何在程序中写注释,创建包含多个函数的程序,发现程序的错误
什么是关键字
C程序是什么样子的?浏览本书,能看到许多示例。初见 C 程序会觉得有些古怪,程序中有许多{、cp->tort和*ptr++这样的符号。然而,在学习C的过程中,对这些符号和C语言特有的其他符号会越来越熟悉,甚至会喜欢上它们。如果熟悉与C相关的其他语言,会对C语言有似曾相识的感觉。本章,我们从演示一个简单的程序示例开始,解释该程序的功能。同时,强调一些C语言的基本特性。
2.1 简单的C程序示例
略
2.2 示例解释
图2.1 C程序解剖
2.2.1 第1遍:快速概要
2.2.2 第2遍:程序细节
1.#include指令和头文件
在C程序顶部的信息集合被称为头文件(header)
2.main()函数
C程序一定从main()函数开始执行
函数是C程序的基本模块
3.注释
被/* */两个符号括起来的部分是程序的注释。写注释能让他人(包括自己)更容易明白你所写的程序。C 语言注释的好处之一是,可将注释放在任意的地方,甚至是与要解释的内容在同一行。较长的注释可单独放一行或多行。在/*和*/之间的内容都会被编译器忽略
这种新风格使用//符号创建注释,仅限于单行。C99新增
// 这种注释只能写成一行
4.花括号、函数体和块
所有的C函数都使用花括号标记函数体的开始和结束。这是规定,不能省略。只有花括号({})能起这种作用
5.声明
在C语言中,所有变量都必须先声明才能使用。这意味着必须列出程序中用到的所有变量名及其类型
以前的C语言,还要求把变量声明在块的顶部,其他语句不能在任何声明的前面
尽管如此,首次使用变量之前一定要先声明它
可以用小写字母、大写字母、数字和下划线(_)来命名。而且,名称的第1个字符必须是字符或下划线,不能是数字
6.赋值
7.printf()函数
8.return语句
2.3 简单程序的结构
程序由一个或多个函数组成,必须有 main()函数。函数由函数头和函数体组成。函数头包括函数名、传入该函数的信息类型和函数的返回类型。通过函数名后的圆括号可识别出函数,圆括号里可能为空,可能有参数。函数体被花括号括起来,由一系列语句、声明组成,如图2.4所示
2.4 提高程序可读性的技巧
选择有意义的函数名和写注释
在函数中用空行分隔概念上的多个部分
每条语句各占一行
C语言的格式比较自由,可以把多条语句放在一行,也可以每条语句独占一行
2.5 进一步使用C
2.5.1 程序说明
2.5.2 多条声明
2.5.3 乘法
2.5.4 打印多个值
2.6 多个函数
2.7 调试程序
程序的错误通常叫做 bug,找出并修正错误的过程叫做调试(debug)
2.7.1 语法错误
C语言的语法错误指的是,把有效的C符号放在错误的地方
2.7.2 语义错误
在C语言中,如果遵循了C规则,但是结果不正确,那就是犯了语义错误
2.7.3 程序状态
程序状态(program state)是在程序的执行过程中,某给定点上所有变量值的集合
调试器(debugger)是一种程序,让你一步一步运行另一个程序,并检查该程序变量的值
2.8 关键字和保留标识符
关键字是C语言的词汇。它们对C而言比较特殊,不能用它们作为标识符(如,变量名)。许多关键字用于指定不同的类型,如 int。还有一些关键字(如,if)用于控制程序中语句的执行顺序
表2.2 ISO C关键字
续表
2.9 关键概念
2.10 本章小结
C程序由一个或多个C函数组成。每个C程序必须包含一个main()函数,这是C程序要调用的第1个函数。简单的函数由函数头和后面的一对花括号组成,花括号中是由声明、语句组成的函数体。
在C语言中,大部分语句都以分号结尾。声明为变量创建变量名和标识该变量中储存的数据类型。变量名是一种标识符。赋值表达式语句把值赋给变量,或者更一般地说,把值赋给存储空间。函数表达式语句用于调用指定的已命名函数。调用函数执行完毕后,程序会返回到函数调用后面的语句继续执行。
printf()函数用于输出想要表达的内容和变量的值。
一门语言的语法是一套规则,用于管理语言中各有效语句组合在一起的方式。语句的语义是语句要表达的意思。编译器可以检测出语法错误,但是程序里的语义错误只有在编译完之后才能从程序的行为中表现出来。检查程序是否有语义错误要跟踪程序的状态,即程序每执行一步后所有变量的值。
最后,关键字是C语言的词汇。