序:怎样创建一个C程序
      为甚麽要把C作为第一门设计语言
      怎样才能学好C语言
      C语言的开发环境是怎样的
      一个优秀的程序员应该具备哪些基本功
      <动画>为甚麽要学习C语言
一 简单的C程序介绍
      程序的三种基本结构是甚麽
      <动画>我们写的程序电脑是如何看懂的
      <动画>程序是怎样执行的
      <动画>程序的入口
      电脑是如何工作的
      甚麽是字节和位
      怎样养成良好的编程习惯
      一段好代码应该是甚麽样的
二 C语言中的变量
      甚麽叫转义字符
      变量存储在内存中的甚麽地方
      变量必须初始化吗
      对不同类型的变量进行算术运算有问题吗
      <动画>变量类型与存储空间
      <动画>内存的地址
      <动画>ASCII码和二进制码
      <动画>强制类型转换
      <实例>变量使用
      <实例>变量算术运算实例
三 运算符和表达式
      甚麽是运算符升级
      甚麽是左值
      甚麽是右值
      运算符的优先级别总能保证"从左向右"或"从右向左"吗
      ++var和var++有甚麽区别
      <动画>var++和++var
      <实例>运算符优先级实例
      <实例>求解表达式
四 数据的输入输出
      甚麽是流
      字节流和二进制流有甚麽区别
      哪些函数可以使用标准输入输出
      怎样判断是使用流函数还是低级函数
      怎样重定向一个标准流
      怎样恢复一个重定向了的标准流
      <实例>标准输入输出函数应用
五 逻辑判断
      甚麽时候用switch语句比用多条if语句好
      switch语句必须包含default分支吗
      switch语句的最后一个分支可以不要break吗
      写结构控制语句要注意甚麽
      <实例>求两个数的最大值
      <实例>编程:判断某一年为闰年
六 循环控制
      几种循环有甚麽区别
      怎样才知道循环提前结束了
      在不知道循环次数的情况下用甚麽样的循环
      在知道循环次数的情况下用甚麽样的循环
      写循环语句要注意甚麽
      <实例>猴子吃桃问题
      <实例>输入n值,打印高为n的等腰三角形
七 数组
      数组的下标总是从零开始吗
      数组在使用前为甚麽要声明
      为甚麽要声明静态(static)数组
      为甚麽只有静态存储或外部存储的数组才能初始化
      用甚麽方法可以给数组排序
      用甚麽方法可以对数组进行查找
      使用数组要注意甚麽
      字符串和数组有甚麽区别
      <动画>如何计算字符串的长度
      <动画>多维数组
      <实例>求矩阵中的最大元素
      <实例>冒泡排序
      <实例>瑟夫问题(经典)
八 变量的存储类别
      不同存储类型的区别是甚麽
      为甚麽要说明存储类别
      甚麽时候应该使用register变量
      可以在文件头中说明或定义变量吗
      说明变量和定义变量有甚麽区别
      <动画>const修饰符
九 函数
      甚麽是内部函数
      甚麽是外部函数
      甚麽时候说明函数原形
      为甚麽要说明函数原形
      一个函数可以有多少个参数
      如果不需要返回值,还要加入return语句吗
      函数调用有几种方式
      怎样把数组作为参数传递给函数
      甚麽是C的库函数
      在编写函数程序中会发生甚麽错误
      <动画>函数及其组成部分
      <动画>函数的调用
      <动画>函数的声明
      <动画>返回值类型
      <动画>神奇的汉诺塔
      <实例>静态变量应用
      <实例>利用函数的递归解汉诺塔(Hanoi)问题
      <实例>利用函数的递归解开跳马问题
十 编译预处理
      C语言为甚麽要进行编译预处理
      甚麽是宏,怎样定义宏
      使用宏好,还是函数好
      怎样取消一个已定义的宏
      #include<file>和#include"file"有甚麽不同
      包含文件可以嵌套吗
      C语言有哪些常用的符号常量
      运算符#和##有甚麽用
      <动画>为甚麽要进行编译预处理
      <实例>预处理命令之宏定义
      <实例>预处理命令之条件编译
十一 指针
      数据是怎样在内存中存储,读取的
      甚麽是间接引用,甚麽是指针
      直接引用与间接引用有甚麽区别
      指针运算符*和&怎麽使用
      甚麽是空指针
      NULL总是等於0吗
      甚麽时候使用空指针
      甚麽是void指针
      甚麽时候使用void指针
      两个指针可以相减吗
      两个指针可以相加吗
      指针和数组有甚麽关系
      数组的大小可以在程序运行时定义吗
      可以把另一个地址赋给一个数组名吗
      用指针访问数组好还是用下标访问数组好
      怎样使用指针作为函数的参数
      怎样使用指向函数的指针
      怎样用指向函数的指针做函数的参数
      两次释放同一个指针会怎样
      甚麽是栈
      甚麽是堆
      用malloc()函数更好还是用calloc()函数更好
      指针的使用应注意甚麽
      <动画>指针与地址
      <动画>指针与数组
      <动画>NULL指针的用法
      <动画>内存分配
      <动画>如何用指针管理内存
      <实例>编写函数,通过指针将一个字符串反向
      <实例>指针应用(颠倒n个数的顺序)
      <实例>指针应用(将输入的字符串按字典的顺序排列)
十二 结构体与共用体
      甚麽是结构体
      结构体里还能再包含结构体吗
      有几种访问结构体的方法
      结构体数组是甚麽
      如何使用sizeof计算对象大小
      如何理解指向结构体数组的指针
      如何将结构体传递给函数
      甚麽是数据结构
      怎样动态分配内存
      甚麽叫自引用结构
      为甚麽要使用链表
      怎样用malloc函数创建节点
      怎样用free函数释放内存
      甚麽是共用体
      使用共用体时要注意甚麽
      甚麽是类型定义typedef
      <动画>结构及其成员
      <实例>模拟人工洗牌
      <实例>用链表再解约瑟夫问题
十三 位运算
      甚麽是高位字节
      甚麽是低位字节
      16位和32位数怎样存取
      <动画>计算机是如何存放二进制数的
      <动画>如何用补码表示二进制数
      <动画>位运算
      <动画>高低字节
      <实例>利用位运算来测试机器的字长
十四 文件
      指针的使用有甚麽常见错误
附录一:标准库函数
附录二:ASCⅡ码表
      <实例>常用数值问题算法-牛顿迭代法
      <实例>常用数值问题算法-二分法