0. 程序是对现实世界的运动状态的模拟。面向过程的程序设计认为,每个程序都要完成一些规定的功能。每个程序的实现是通过对数据进行一系列的加工的过程而实现的。因而程序设计包括组织数据——设计数据结构,以及对数据结构进行加工的过程——设计算法两部分。

1. 异或运算符"^"可用于翻转某位的值,如果想翻转一个变量中的某一位,就是改变量与该位置1其余为全置0的数进行异或运算即可。

2. 左移运算符"<<",左移一位相当于乘2。右移运算符对无符号的int型或char型数据来说,右移时左端补0;对带符号的int和char类型数据,如果符号位为0,则左边补0,若为1则左边补入的全是1,此时相当于除2。

3. scanf函数的返回值是指成功匹配的项数,即对比格式参数输入正确的数据的个数。

4. 位段是一种特殊形式的结构体结构中的成员,它是以位为单位来定义结构体中的成员的长度。它可以使用户能方便的访问一个字节中的有关位,这在控制中更为重要。一个声明的例子:
  struct packed_data
 {
     unsigned int a: 3;
     unsigned int  :  4;  //无名位段作用是使下一个位段从另一个字节开始
     unsigned int c: 5;
     unsigned int d: 4;
  }x;

  引用方法:x.a, x.c, x.d;允许赋值: x.a = 2; 

5. 字符类型的数据(如字符'a','3')在内存中以相应的ASCII代码存放。字符型数据和证书在字符的ASCII码范围内是互相通用的。

6. C语言提供了一个测定某一种类型数据所占存储空间长度的运算符"sizeof"。

7. C语言规定,程序中凡出现以数字0开头的数字序列,一律作为八进制数处理;凡出现以0x开头后面跟若干位数字的,一律作为十六进制数处理;其他数字作为十进制数处理。整型数后加l或L为长整数。

8. 实行常量只能用十进制形式表示。

9.转义字符:\n 换行;\t 横向跳格;\v 纵向跳格;\b 退格;\r 回车;\f 走纸换页;\\ 反斜杠字符;
                       \'
 单引号字符 \ddd 1到3位8进制数代表的字符;\xhh 1到2位16进制数代表的字符。

10. 字符串中的字符数成为该字符串的长度,字符串在存储时要多占用一个字节来存储"\0"。

11. C语言中的取模运算符:"%"

12. 当一个实数(浮点数)转换为整数时,实数的小数部分全部舍去,并按整数形式存储。但应注意示数的整数部分不要超过整型数允许的最大范围(-32768~32767),否则数据出错。当有double型转换为float型时,去掉多余的有效数字但按四舍五入处理。

13. 当较长的整数转换为较短的整数时,得到的只是原数据值以32768为模的余数。

14. 在执行getchar函数时,虽然是读入一个字符,但并不是从键盘按一个字符,该字符就被读入送给一字符变量,而是等到输入完一行按回车键后,才将该行的字符输入缓冲区,然后gechar函数从缓冲区中去一个字符给一个字符变量。