C语言程序设计(K&R)笔记

"重读K&R的书,感慨许久。其语言流畅,组织合理,既介绍了语言,也旁通了算法,结构,库函数,系统调用,受益无穷。当年由于初读英文原版,生词太多而放弃,现在回想,有些感慨。不管怎样,现在读来,一气呵成,perfect~!"                          --题记

C1:A Tutorial Introduction
1.1 hello world 函数
1.2 变量 表达式 温度转换函数
1.3 for 
1.4 define
1.5 字符输入输出 单词计数
1.6 数组
1.7 函数
1.8 参数 按值传递
1.9 字符数组
1.10 外部变量

C2:类型 操作符 表达式
2.1 变量名 约定
2.2 类型 不同的大小
2.3 常量
      字符常量是整数 区分'x' "x" 
      枚举
2.4 声明
2.5 算术操作符 +-*/%
2.6 关系操作符 > >= < <= == != || &&
2.7 类型转换 
      规则:窄--》宽  低--》高
      情形:赋值 函数参数传递 强制
2.8 ++ --  
2.9 位操作 >> << ~
2.10  赋值操作符 += -=
2.11 条件表达式 ?:
2.12 优先级
        注意side effect (由于操作数计算顺序不同 导致)

C3:Control Flow
选择 循环 break continue goto

C4:函数 程序结构
4.1 基础
4.2 返回非int 的函数 atof()
      注意 声明和定义 返回类型不匹配的情况
       参数为空 一定要写 viod
4.3 外部变量
        函数内部不能定义函数
         计算器程度
4.4 范围 scope
      外部变量:从定义处 到文件尾
4.5 头文件
4.6 static 变量
      为了隐藏 变量 为本文件可见
      或者 函数的累积参数之用
4.7 register 变量
4.8 结构
      内部变量为隐藏掉外部同名的变量 小心
4.9 初始化
      外部变量和static 只初始化一次 所以必须是常量赋值
4.10 递归 快速排序
4.11 预处理
        #if #ifndef ## #

C5: 指针 数组
5.1 指针和地址
      &只取内存内的对象地址。不能是表达式 常量 register
5.2 指针作为函数参数
5.3 指针vs 数组
      pa=a
5.4 地址算术
      alloc afree
     规则:同类型指针才能赋值 加减整数 同一数组的指针才能比较 与0比较或赋值
5.5 字符指针
     strcmp strcpy
5.6 指针数组 指针的指针
5.7 多维数组
5.8 初始化指针数组
5.9 指针vs多维数组
5.10 命令行参数
    argc argv
5.11 函数指针
     int (* cmp) (void *,void *)
5.12 复杂声明
一个解析程序

C6 结构体 structure
6.1 基础 point
6.2 解构体 函数
6.3 结构体数组
      关键字统计程序
6.4 结构体指针
6.5 自引用结构
  二叉树
6.6 表查找
      看看#define是 怎么实现的
      哈希表
6.7 typedef
       跨平台 便于阅读和编写
6.8 Union
6.9 位域

C7: input output
介绍 printf的实现 文件的读写

C8: Unix 系统调用
读写的实现 文件描述符 目录的操作 以及malloc的实现

附录A 使用手册
B 库函数介绍
C 标准的修改汇总

posted on 2007-12-07 16:34 BenWhite 阅读(1061) 评论(0)  编辑 收藏 引用 所属分类: 编程体会

只有注册用户登录后才能发表评论。

公告

导航

<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

统计

留言簿(7)

随笔分类(244)

文章分类(7)

友情链接

最新随笔

积分与排名

最新评论

阅读排行榜

评论排行榜