1. 每个程序中一定包含main()函数, 尽管C语言中对函数命名没有限制
2. printf函数永远不会自动换行,只能用\n来实现, 回车键进行的换行在编译中会出现错误信息
3. 在vs2008中编译.测试需要加 system("pause"); 来暂停dos自动退出导致的printf无法显示
4. 所有自定义变量 必须声明才能使用
5. 每行只书写一条语句, 在运算符两边加上一个空格, 便于阅读
6. 整数除法将自动舍位, 不会进行四舍五入的操作
7. for(初始化部分;条件部分;增长部分) - 比while 更适用于初始化和增长步长都是单条语句 情况下
8. 使用 #define 名字 替换文本 对部分"幻数" 赋予意义便于阅读 #define结尾不需要;号结束
9. EOF(end of file) - 表示没有字符输入时 - 定义在stdio.h 头中 EOF不等于\n 换行等
10. != 的优先级大于 = 如果对判断中存在变量赋值时 对赋值加以() e.g while((c = getchar()) != EOF)
11. getchar() 用于用户输入 直至键入回车
12. 变量名以字母和数字组成, (下划线"_"被默认为字符,以下划线为首写字母的为库类变量名),变量常以小写字母开头.内部变量命前31位有效,外部名至少前6位保持唯一性. 大小写在C语言中是区分的.
13. 一个字符常量为一个整数, 以''单引号括起.e.g '0' 为48, 与0没有任何关系
14. ANSI C语言的转义符: \a 响铃符; \b 回退符; \f 换页符; \n 换行符; \r 回车符; \t 横向制表符 \v 纵向制表符; \\ 反斜杠; \? 问号; \' 单引号;\" 双引号; \ooo 八进制数; \xhh 十六进制数;'\0' 表示0, 即(null).通常以'\0'形式表示0 以强调某些表达是的字符属性
15. 'x'与"x"的区别: 'x'表示一个整数, 字母x在极其字符集中对应的数值. "x"表示一个包含一个字符x 以及一个结束符'\0'
16. const在声明变量中起限制作用, 该限定变量的值不能被修改
17. %运算符不能应用与float或double类型
18. char类型转换为int型时, 无法判断它是signed还是unsigned.这样其结果有可能为负数, 因此转换时尽量指定signed和unsigned限制符
19. ++i与i++不同之处: ++i是先+1在使用, i++是先使用i在递加1
20. 三元运算符"?:" 第一个表达式的括号不是必须的,但是由于三元表达式的优先级非常低,我们还是将第一个表达式用()括起便于阅读和理解
21. C语言中可以使用递归 (即函数调用自身函数), 其不节省储存器开销也不加快执行速度, 只是使程序紧凑便于理解.