内容简介
第1章 C语言概述
1.1 C语言的历史
1.2 C语言的主要特性
1.3示例程序1:显示一条消息
1.4示例程序2:两个数相加
1.5示例程序3:利息计算
1.6示例程序4:子例程的使用
1.7示例程序5:数学函数的使用
1.8 C程序的基本结构
1.9编程风格
1.10运行C程序
1.11在UNIX系统环境下
1.11.1创建程序
1.11.2编译与链接
1.11.3运行程序
1.11.4创建自己的可运行文件
1.11.5多个源文件问题
1.12在MS-DOS系统环境下
复习题
编程练习
第2章 常量、变量及数据类型
2.1概述
2.2字符集
2.3 C标记符
2.4关键字与标识符
2.5常量
2.5.1整型常量
2.5.2实数常量
2.5.3单字符常量
2.5.4字符串常量
2.5.5反斜杠字符常量
2.6变量
2.7数据类型
2.7.1整型
2.7.2浮点型
2.7.3 void类型
2.7.4字符类型
2.8变量的声明
2.8.1基本类型的声明
2.8.2自定义类型的声明
2.9存储类型的声明
2.10变量的赋值
2.10.1赋值语句
2.10.2从键盘读取数据
2.11符号常量的定义
2.11.1可修改性
2.11.2可理解性
2.12将变量声明为常量
2.13将变量声明为可变的
2.14数据的溢出
2.15案例学习
2.15.1平均数计算
2.15.2温度转换问题
复习题
编程练习
第3章 运算符与表达式
3.1概述
3.2算术运算符
3.2.1整数算术运算
3.2.2实数算术运算
3.2.3混合算术运算
3.3关系运算符
3.4逻辑运算符
3.5赋值运算符
3.6递增和递减运算符
3.7条件运算符
3.8逐位运算符
3.9特殊运算符
3.9.1逗号运算符
3.9.2 sizeof运算符
3.10算术表达式
3.11表达式的计算
3.12算术表达式的优先级
3.13一些可计算性问题
3.14表达式中的类型转换
3.14.1隐式类型转换
3.14.2显式类型转换
3.15 运算符的优先级及其关联性
3.16数学函数
3.17案例学习
3.17.1销售人员的工资
3.17.2二次方程的求解
复习题
编程练习
第4章 输入输出操作管理
4.1概述
4.2读取一个字符
4.3写一个字符
4.4格式化输入
4.4.1整数输入
4.4.2实数输入
4.4.3字符串输入
4.4.4混合数据类型的读取
4.4.5错误输入的检测
4.4.6使用scanf函数时应记住的几个要点
4.5格式化输出
4.5.1整数的输出
4.5.2实数的输出
4.5.3单个字符的显示
4.5.4字符串的显示
4.5.5混合数据的输出
4.5.6提高输出的可读性
4.6案例学习
4.6.1库存报告
4.6.2可靠性图形
复习题
编程练习
第5章 判断与分支
5.1概述
5.2 if判断语句
5.3简单if语句
5.4 if…else语句
5.5嵌套if…else语句
5.6阶梯式else if语句
5.7 switch语句
5.8 ?:运算符
5.9 goto语句
5.10案例学习
5.10.1数值的分布范围
5.10.2账单计算
练习题
编程练习
第6章 判断与循环
6.1概述
6.2 while语句
6.3 do语句
6.4 for语句
6.4.1简单的for循环
6.4.2 for循环的其他特性
6.4.3 for循环的嵌套
6.5循环中的跳转
6.5.1 跳出循环
6.5.2 跳过循环的一部分
6.5.3避免使用goto语句
6.5.4跳出程序
6.6简洁的测试表达式
6.7案例学习
6.7.1二项式系数表
6.7.2柱状图
6.7.3最小成本
6.7.4描绘两函数的曲线图
复习题
编程练习
第7章 数组
7.1概述
7.2一维数组
7.3一维数组的声明
7.4一维数组的初始化
7.4.1编译时初始化
7.4.2运行时初始化
7.5二维数组
7.6二维数组的初始化
7.7多维数组
7.8动态数组
7.9与数组相关的其他内容
7.10案例学习
7.10.1数列的中值问题
7.10.2标准差的计算
7.10.3测试评分
7.10.4产品与销售分析
复习题
编程练习
第8章 字符数组与字符串
8.1概述
8.2字符串变量的声明与初始化
8.3从终端读取字符串
8.3.1使用scanf函数
8.3.2读取文本行
8.3.3使用getchar和gets函数
8.4在屏幕上显示字符串
8.4.1使用printf函数
8.4.2使用putchar和Puts函数
8.5字符的算术运算
8.6将字符串组合在一起
8.7两个字符串的比较
8.8字符串处理函数
8.8.1 strcat函数
8.8.2 strcmp函数
8.8.3 strcpy函数
8.8.4 strlen函数
8.8.5其他字符串函数
8.9字符串表
8.10字符串的其他特性
8.11案例学习
8.11.1计算文本中的单词数
8.11.2客户列表处理程序
复习题
编程练习
第9章 用户自定义函数
9.1概述
9.2为什么需要自定义函数
9.3多函数程序
9.4自定义函数的元素
9.5函数定义
9.5.1函数头
9.5.2函数体
9.6返回值及其类型
9.7函数调用
9.8函数声明
9.9函数的类型
9.10无参数无返回值的函数
9.11有参数无返回值的函数
9.12有参数有返回值的函数
9.13无参数但有一个返回值的函数
9.14返回多个值的函数
9.15函数的嵌套
9.16函数的递归
9.17将数组传递给函数
9.17.1一维数组
9.17.2二维数组
9.18将字符串传递给函数
9.19变量的作用域、可见性和生存期
9.19.1自动变量
9.19.2外部变量
9.19.3外部声明
9.19.4静态变量
9.19.5寄存器变量
9.19.6嵌套代码块
9.20多文件程序
9.21案例学习
复习题
编程练习
第10章 结构体与共用体
10.1概述
10.2结构体的定义
10.3声明结构体变量
10.4访问结构体成员
10.5结构体的初始化
10.6结构体变量的复制与比较
10.7单个成员的运算
10.8结构体数组
10.9结构体中的数组
10.10结构体中的结构体
10.11结构体与函数
10.12共用体
10.13结构体的大小
10.14位域
10.15案例学习
复习题
编程练习
第11章 指针
11.1概述
11.2理解指针
11.3访问变量的地址
11.4指针变量的声明
11.5指针变量的初始化
11.6通过指针访问变量
11.7指针链
11.8指针表达式
11.9指针的递增与比例因子
11.10指针与数组
11.11指针与字符串
11.12指针数组
11.13将指针作为函数的参数
11.14函数返回指针
11.15指向函数的指针
11.16指针与结构体
11.17指针存在的问题
11.18案例学习
11.18.1考试成绩处理程序
11.18.2库存更新程序
复习题
编程练习
第12章 文件管理
12.1概述
12.2定文并打开文件
12.3关闭文件
12.4文件的输入输出操作
12.4.1 getc与putc函数
12.4.2 getw和putw函数
12.4.3 fprintf与fseanf函数
12.5 I/O操作的错误处理
12.6随机访问文件
12.7命令行参数
复习题
编程练习
第13章 动态内存分配与链表
13.1概述
13.2动态内存分配
13.3用malloc函数分配一块内存
13.4用calloc函数分配多个内存块
13.5用free函数释放已用的空间
13.6用realloc函数改变内存块的大小
13.7链表的概念
13.8链表的优点
13.9链表的种类
13.10再论指针
13.11创建链表
13.12插入一个数据项
13.13删除一个数据项
13.14链表的应用
13.15 案例学习
13.15.1在已排序链表中插入数据
13.15.2构建已排序的链表
复习题
编程练习
第14章 预处理器
14.1概述
14.2宏替换指令
14.2.1简单宏替换
14.2.2带参数的宏
14.2.3宏嵌套
14.2.4取消宏定义
14.3文件包含
14.4编译器控制指令
14.4.1情形1
14.4.2情形2
14.4.3情形3
14.4.4情形4
14.5 ANSI C的其他预处理指令
14.5.1 #elif指令
14.5.2 #pragma指令
14.5.3 #error指令
14.5.4字符串化运算符
14.5.5标记符粘贴运算符
复习题
编程练习
第15章 C程序开发的一些指导原则
15.1概述
15.2程序设计
15.2.1问题分析
15.2.2勾勒出程序的结构
15.2.3算法开发
15.2.4控制结构的选择
15.3程序编码
15.3.1自身文档化
15.3.2语句的构造
15.3.3输入/输出格式
15.3.4程序的通用性
15.4常见的程序错误
15.4.1丢失分号
15.4.2误用分号
15.4.3丢失括号
15.4.4丢失引号
15.4.5误用引号
15.4.6使用不正确的注释字符
15.4.7未声明变量
15.4.8忽视了运算符的优先级
15.4.9忽视了递增递减运算符的计算顺序
15.4.10忽视了函数参数的说明
15.4.11在函数调用中实参和形参类型不匹配
15.4.12函数未声明
15.4.13在scanf函数的参数中丢失了&运算符
15.4.14超出了数组的边界
15.4.15 忘记了给字符串的空字符留出空间
15.4.16使用未初始化的指针
15.4.17丢失了间接运算符和地址运算符
15.4.18在指针表达式中丢失括号
15.4.19宏定义语句中的参数遗漏了括号
15.5程序测试与调试
15.5.1错误的类型
15.5.2程序测试
15.5.3程序调试
15.6程序的效率
15.6.1运行时间
15.6.2内存需求
复习题
附录A 位级程序设计
附录B 字符的ASCⅡ值
附录C ANSI C语言的库函数
附录D 项目设计
附录E C99的特性