作为第一门程序设计课程的教材或入门自学读物,本书的主要内容包括:概述、基本数据类型与表达式、控制结构、函数、指针、数组、构造数据类型、输入输出及文件操作、C++概述、Linux/Windows编程简介等内容,为了巩固基本知识点,强化算法、编程方法与技巧,各章后面还附有题型丰富的习题以及上机实验内容,以求为读者提供全方位的学习资源和辅学方面的内容。
样章试读
目录
第1章 概述
1.1 Hello World
1.2 C语言的特点
1.3 从例子看C语言
1.3.1 变量和表达式
1.3.2 语句和函数
1.3.3 输入输出
1.3.4 main
1.3.5 程序结构
1.3.6 可读性
1.4 编译程序工作流程
1.5 一点建议
第2章 基本数据类型与表达式
2.1 数据与类型
2.1.1 为什么使用数据类型
2.1.2 类型名与类型修饰符
2.2 常量
2.2.1 整型常量
2.2.2 实型常量
2.2.3 字符型常量
2.2.4 字符串常量
2.2.5 宏常量
2.3 变量
2.3.1 标识符命名
2.3.2 变量的定义
2.3.3 变量的初始化
2.3.4 const类型修饰符
2.3.5 使用变量时的注意事项
2.4 常用运算符与表达式
2.4.1 运算符的优先级与结合性
2.4.2 算术运算符及表达式
2.4.3 赋值运算符及表达式
2.4.4 自增、自减运算符
2.4.5 表达式求值与类型转换
2.4.6 其他常用运算符
2.5 常用数学函数
第3章 程序控制结构
3.1 语句
3.1.1 什么是语句
3.1.2 复合语句
3.1.3 语句与控制结构
3.2 控制结构中常用的三种表达式
3.2.1 关系运算符与关系表达式
3.2.2 逻辑运算符与逻辑表达式
3.2.3 条件运算符与条件表达式
3.3 条件语句
3.3.1 if-else语句
3.3.2 if-else if语句
3.3.3 switch语句
3.4 循环语句
3.4.1 while循环语句
3.4.2 for循环语句
3.4.3 do-while循环语句
3.5 跳转语句
3.5.1 return语句
3.5.2 break语句
3.5.3 continue语句
3.5.4 goto语句与标号
3.6 控制结构常用的语句和表达式
3.6.1 空语句
3.6.2 逗号运算符与逗号表达式
3.7 控制结构程序举例
3.7.1 统计
3.7.2 数学问题
3.7.3 数列显示
第4章 函数与程序结构
4.1 函数和程序
4.1.1 概述
4.1.2 程序中的函数分解
4.1.3 主函数
4.1.4 标准库函数
4.1.5 一个简单的例子:求任意两个数的最大值
4.2 函数的定义和使用
4.2.1 函数定义
4.2.2 函数参数与返回值
4.2.3 函数调用
4.3 函数的嵌套调用与递归
4.3.1 函数的嵌套调用
4.3.2 递归
4.4 变量的作用域与存储类型
4.4.1 变量的作用域
4.4.2 变量的存储类型
4.4.3 小结
4.5 内部函数与外部函数
4.5.1 内部函数
4.5.2 外部函数
4.5.3 多文件程序
4.6 预处理命令
4.6.1 文件包含
4.6.2 宏定义
4.6.3 条件编译
4.7 终止程序运行
第5章 数组
5.1 数组的概念
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.3.3 字符数组的引用
5.3.4 字符串
5.3.5 字符串的输入输出
5.3.6 字符串处理函数
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.5.4 矩阵运算
5.5.5 数值阵列
第6章 指针
6.1 内存地址与指针
6.1.1 什么是内存地址
6.1.2 内存变量的存取方法
6.1.3 指针的概念
6.2 指针变量的定义和使用
6.2.1 指针变量的定义
6.2.2 指针变量的使用
6.3 指针作为函数的参数
6.4 指针与数组
6.4.1 指向数组元素的指针变量
6.4.2 通过指针引用数组元素
6.4.3 数组名作函数的参数
6.4.4 指向二维数组的指针变量
6.4.5 指向字符串的指针变量
6.4.6 指针数组
6.5 指针函数与函数指针
6.5.1 指针函数
6.5.2 函数指针
6.6 指向指针数据的指针——多重指针
6.7 复杂类型的定义与解读
6.8 动态内存管理
6.8.1 为什么需要对内存进行动态管理
6.8.2 动态内存管理函数
6.8.3 动态内存管理的使用要点
6.9 几个特殊指针
6.9.1 空指针
6.9.2 野指针
6.9.3 通用指针
6.10 指针应用举例
6.10.1 字符串操作
6.10.2 三色球问题
6.10.3 查表
6.10.4 趣味数学问题
第7章 构造数据类型
7.1 结构体
7.1.1 结构体类型的声明
7.1.2 结构体变量
7.1.3 结构体数组
7.1.4 结构体和函数
7.2 链表及其操作
7.3 联合体
7.3.1 联合体变量的初始化和使用
7.3.2 联合体变量的使用规则
7.4 枚举类型
7.4.1 枚举类型的声明
7.4.2 枚举变量的定义和使用
7.4.3 一个简单的例子
第8章 输入与输出及文件操作
8.1 基本输入/输出操作的实现
8.1.1 字符输入/输出
8.1.2 字符串输入/输出
8.1.3 格式输入/输出
8.2 文件操作
8.2.1 文件和文件系统
8.2.2 基本文件操作
8.2.3 高级文件操作
8.3 C标准库
第9章 Linux/Windows编程简介
9.1 Windows程序设计
9.1.1 窗口和消息处理
9.1.2 WinMain
9.1.3 消息处理过程
9.1.4 创建窗口
9.1.5 定时器
9.1.6 重绘窗口
9.2 Linux程序设计
9.2.1 shell简介
9.2.2 lzsh
第10章 C++语言简介
10.1 基本特性
10.1.1 输入输出
10.1.2 引用
10.1.3 动态对象
10.1.4 异常处理
10.2 类
10.2.1 类定义
10.2.2 静态成员
10.2.3 重载
10.3 派生类和多态性
参考文献
附录A ANSI标准C的关键字
附录B ANSI标准定义的全部数据类型及其典型位宽和最小取值范围
附录C C运算符的优先级与结合性
附录D 常用ASCII码字符表
附录E 常用标准库函数
]]>