目录
第1章计算机与程序设计概述
1.1计算机的硬件组成
1.1.1计算机硬件体系结构
1.1.2存储器
1.1.3处理器
1.1.4输入输出设备
1.1.5计算机工作过程
1.2计算机的运算基础
1.2.1数理逻辑
1.2.2数制
1.3计算机软件
1.3.1操作系统
1.3.2应用软件
1.3.3计算机语言
1.3.4C语言概述
1.4计算机程序设计
1.4.1程序设计方法
1.4.2算法概述
1.4.3算法结构
1.4.4算法描述
1.4.5良好的程序设计风格
1.5习题
第2章C语言基本概念
2.1C语言要素
2.1.1预处理指令
2.1.2main函数
2.1.3保留字
2.1.4标识符
2.1.5变量
2.1.6语句
2.1.7注释
2.2变量和赋值
2.2.1变量声明
2.2.2数据类型
2.2.3变量取值
2.2.4类型转换
2.3运算符和表达式
2.3.1算术运算符和表达式
2.3.2赋值运算符和表达式
2.3.3自增运算符和自减运算符
2.3.4条件运算符
2.4数据的输入输出
2.4.1标准字符输入输出函数getchar()和putchar()
2.4.2格式化输入输出函数scanf()和printf()
2.5地址运算符和指针
2.5.1地址运算符
2.5.2地址和指针
2.6用C语言编写数学公式
2.6.1数学公式的C语言表达形式
2.6.2常用的数学函数
2.7实例研究
2.8习题
第3章选择结构程序设计
3.1逻辑表达式
3.1.1关系运算
3.1.2判等运算
3.1.3逻辑运算
3.1.4用逻辑表达式表示条件
3.1.5短路求值
3.2if语句
3.2.1一个选项的if语句
3.2.2两个选项的if语句
3.2.3多个选项的if语句
3.2.4具有复合语句的if语句
3.2.5嵌套的if语句
3.3switch语句
3.4实例研究
3.5习题
第4章循环结构程序设计
4.1程序中的重复
4.2while语句
4.2.1计数循环
4.2.2标记控制循环
4.2.3条件循环
4.2.4文件结束控制循环
4.3do-while语句
4.4for语句
4.4.1for语句基本用法
4.4.2for语句中省略表达式
4.5退出循环
4.5.1break语句
4.5.2continue语句
4.5.3goto语句
4.6循环的嵌套
4.7实例研究
4.8习题
第5章 数组
5.1一维数组
5.1.1一维数组定义
5.1.2一维数组初始化
5.1.3使用循环结构存取数组
5.2一维数组应用
5.2.1一维数组与查找
5.2.2一维数组与删除
5.2.3一维数组与插入
5.2.4一维数组与统计
5.2.5一维数组与排序
5.3二维数组
5.3.1二维数组的定义与赋值
5.3.2二维数组应用
5.4字符数组和字符串
5.4.1字符数组定义
5.4.2字符数组初始化
5.4.3字符数组的输入输出
5.4.4字符串处理函数
5.5一维数组与指针
5.5.1指向一维数组的指针
5.5.2通过指针引用一维数组元素
5.5.3指针与一维数组的应用
5.6二维数组与指针
5.6.1指针变量指向二维数组的某个元素
5.6.2指向数组的指针变量指向二维数组某一行
5.7字符串与指针
5.7.1字符指针
5.7.2指针数组
5.8指向指针的指针
5.9实例研究
5.10习题
第6章函数
6.1函数定义
6.1.1有参函数的定义
6.1.2无参函数的定义
6.2函数调用及参数传递
6.2.1函数调用
6.2.2参数传递
6.2.3函数的返回值
6.2.4函数声明
6.3函数的嵌套调用
6.4函数调用与地址传递
6.4.1传值调用与传地址调用
6.4.2返回值与返回地址
6.5函数指针
6.6局部变量与全局变量
6.6.1局部变量
6.6.2全局变量
6.7变量的存储类别
6.8编译预处理
6.8.1宏定义
6.8.2文件包含
6.8.3条件编译
6.9实例研究
6.10习题
第7章结构、共用、枚举及位运算
7.1结构
7.1.1结构类型的声明
7.1.2结构变量的定义和初始化
7.1.3结构变量的引用
7.1.4结构数组的定义和引用
7.1.5结构指针变量的定义和引用
7.1.6结构指针变量作函数参数
7.2共用
7.2.1共用类型的定义
7.2.2共用类型的使用
7.3枚举
7.3.1枚举类型的定义
7.3.2枚举类型的使用
7.4位运算
7.4.1二进制位运算
7.4.2按位与运算
7.4.3按位或运算
7.4.4按位异或运算
7.4.5按位取反运算
7.4.6左移运算
7.4.7右移运算
7.5实例研究
7.6习题
第8章文件
8.1文件概述
8.1.1文本文件与二进制文件
8.1.2缓冲文件系统
8.1.3文件类型指针
8.2文件的打开与关闭
8.2.1文件的打开fopen()函数
8.2.2文件的关闭fclose()函数
8.3文件的顺序读写
8.3.1fgetc()和fputc()函数
8.3.2fgets()和fputs()函数
8.3.3fread()和fwrite()函数
8.3.4fscanf()和fprintf()函数
8.4文件定位
8.5实例研究
8.6习题
第9章动态数据结构
9.1链表的概念
9.2动态内存分配
9.3单链表
9.3.1单链表的建立
9.3.2单链表的访问
9.3.3单链表的插入
9.3.4单链表的删除
9.4实例研究
9.5习题
第10章算法设计初步
10.1递推与迭代
10.1.1求平方根
10.1.2等比数列
10.2枚举
10.2.1百钱百鸡问题
10.2.2完全数
10.3递归与分治
10.3.1递归
10.3.2分治
10.4排序
10.4.1直接插入排序
10.4.2冒泡排序
10.5数学问题
10.5.1最大公约数及最小公倍数
10.5.2具有特殊性质的数
10.6习题
附录AASCII码表及其控制字符的含义
附录BVisual C++下基本数据类型表示及取值范围
附录C常用运算符
附录D常用库函数
附录E常见错误分析表
附录F在线判题系统(NBU OJ)简介
参考文献
