小结
概念与术语
■ 从功能上划分,计算机有5个组成部分:输入设备、输出设备、控制器、运算器和存储器。
■ CPU由控制器(CU)与运算器(AU)组成。
■ 程序就是计算机完成特定任务的一系列指令的有序集合。
■ 计算机程序以二进制代码的形式存在于内存之中,计算机的运行是由存储在内存中的程序控制的。
■ 信息的基本单位是二进制的位——也叫bit。在计算机中通常把8个bit作为基本存储单位——字节(Byte),CPU每次从内存读取若干字节进行计算。
■ 机器语言、汇编语言都属于低级语言,不同的CPU的机器语言、汇编语言也不同。
■ 高级语言是一种人为定义的语言,其定义随着历史而不断改变。
■ C语言的最新标准是C99。
■ IDE是集成开发环境的简称,使用IDE可以方便地进行代码编辑、源程序编译、程序运行及程序调试。
■ 编程通常至少要经过编辑代码、保存代码、编译及运行这几个阶段。
■ Dev C++是一种针对C/C++程序设计语言的IDE软件,这个软件支持C99大部分新特性。
■ 任何一个C语言程序都必须有且只能有一个main()函数。它是程序开始执行的起点。
■ 库函数是已经事先完成的可直接使用的程序片段。使用库函数之前应用编译预处理命令#include<*.h>对函数的名称进行说明。
■ 编译预处理命令不属于C语言的语句,因此不以“;”为结束标志。
■ printf()函数的功能是在标准输出设备(俗称显示器、监视器)上输出一系列所要求输出的字符。
■ 在字符串中无法表示或难以表示的字符可以用“\”与其他字符的组合这样一种变通的办法表示,比如\n。
■ 在printf()所要输出的字符串中,如果需要输出%,是用%%表示的。
■ C语言源程序使用的基本源字符集(Basic Source Character Set)为拉丁字母表中的26个大写字母、26个小写字母、10个十进制数字、29图形字符及若干空白字符。
■ C语言源程序可以使用基本源字符集以外的字符,但这需要编译器的支持。
■ 编写程序所用的字符(Source Character)与程序处理的字符(Execution Character)是两个概念,它们可以属于不同的字符集。
■ C语言中大小写字母的意义是不同的。
■ 单词(Token)是C语言源程序中不容分割的具有语意的基本单位。
■ C语言源程序中有5类单词(Token):关键字(Keyword)、标识符(Identifier)、常量(Constant)、字符串文字量(String-literal)及标点符号(Punctuator)。
■ C语言源程序中的单词(Token)之间必须有空白字符或标点符号。
■ 常量是程序运行过程中不可以改变的量。在源程序中书写常量必须遵守C语言的规则。
风格与习惯
■ 在源代码中书写“()”、“""”、“{}”这样成对的符号时,先一次写完这对符号然后再填写其中间部分的内容,可以极大地减少括号不成对这样的语法错误,非常节约生命。
■ 代码是给编译器读的,也是给人读的,在不同的语句层次上采用“缩进”的格式可以使代码更清晰、可读性更好。而可读性是衡量代码质量中一个极其重要的指标。
■ 适当地在容许使用空格的地方使用空格(或[TAB]),往往会使得代码显得更清晰。
■ 为Project中的C语言源文件取有意义的、独特的名字,不要使用IDE提供的默认的名字。但强烈不建议文件的扩展名也取特立独行的名字。
■ 在基本的85个字符中,有些明显是臃余的。所有的空白字符,加上作为一行的结束标志的字符(通常就是回车换行),对于编译器来说,作用只有一个(作为各个单词之间必要的间隔)甚至没有作用。但是从另一个角度来讲却又是必要的,因为源程序除了编译器以外还有另一个读者——人。应该善于利用这些字符把源代码写得更美观、更具有可读性,使人读起来更加赏心悦目。
常见错误
■ 成对的字符(如“()”、“""”、“{}”)不配对错误:这往往是缺乏良好的代码编写习惯造成的,可以确定的是只要没有建立前面所提出的良好的编程习惯,这种错误将一直不断。只有通过建立良好的编程习惯才可能杜绝这种低级错误。
■ 拼写错误:比如把main写成了mian,把printf写成了print。
■ 分号错误:忘记在C语句后面加上语句结束标志“;”,或在预处理命令行加不应有的“;”。
■ 误把“;”、“(”、“)”、“"”等ASCII字符写成汉语字符“;”、“(”、“)”、“"”。要知道这是完全不同的字符,通常编译器只认得前者。因此在代码中输入汉字时应设置成“半角”状态。
■ 源程序中有两个main():有的初学者在写多个程序时,不晓得应该重新建立另一个Project并另外写一个其他名字的源文件。
牛角尖
如果一定要把“printf”写成两行应该怎样做?
如果考虑到缩进的话,几乎没有可能。如果不那么介意代码的丑陋,那么有一个办法:在c源代码中,如果某行以“\”结尾的话,那么这表示的是该行与下一行在本质上是连接在一起的同一行(对于编译器来说)。这样的话可以把printf写成:
这是合乎C语法的,只是无法使用“缩进”的格式,代码太丑了点。