简介
(本书第一版获国家电子工业部优秀教材一等奖、全国高等学校计算机基础教育研究会优秀教材一等奖、 全国大学出版社优秀畅销书特等奖)谭浩强 著 C语言功能丰富、表达能力强、使用灵活方便、应用面广、目标程序效率高、可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。因此特别适合于编写系统软件。由于C语言牵涉到的概念比较复杂,规则繁多,使用灵活,容易出错,不少初学者都感到困难。 至今已从事计算机教育和计算机普及工作二十多年的作者于1991年编写了《C程序设计》,由清华大学出版社出版。该书针对初学者的特点和认识规律,精选内容,分散难点,降低台阶,例题丰富,通过通俗易懂的叙述阐明了复杂的概念,并力求做到内容新颖、概念清晰、实用性强、通俗易懂。该书出版后受到广大读者的热烈欢迎,认为该书“是学习C语言的好教材”,“使初学者少走了许多弯路”。全国大多数高校采用该书为教材,许多在职干部和计算机爱好者通过自学该书掌握了C语言程序设计。该书第一版荣获国家电子工业部优秀教材一等奖、全国高等学校计算机基础教育研究会优秀教材一等奖、全国大学出版社优秀畅销书特等奖。 根据发展的需要,作者对《C程序设计》一书进行更多>>
目录
1 C语言概述
1.1 C语言出现的历史背景
1.2 C语言的特点
1.3 简单的C程序介绍
1.4 C程序的上机步骤
习题
2 程序的灵魂——算法
2.1 算法的概念
2.2 简单算法举例
2.3 算法的特性
2.4 怎样表示一个算法
2.4.1 用自然语言表示算法
2.4.2 用流程图表示算法
2.4.3 三种基本结构和改进的流程图
2.4.4 用N-S流程图表示算法
2.4.5 用伪代码表示算法
2.4.6 用计算机语言表示算法
2.5 结构化程序设计方法
习题
3 数据类型、运算符与表达式
3.1 C的数据类型
3.2 常量与变量
3.2.1 常量和符号常量
3.2.2 变量
3.3 整型数据
3.3.1 整型常量的表示方法
3.3.2 整型变量
3.3.3 整型常量的类型
3.4 实型数据
3.4.1 实型常量的表示方法
3.4.2 实型变量
3.4.3 实型常量的类型
3.5 字符型数据
3.5.1 字符常量
3.5.2 字符变量
3.5.3 字符数据在内存中的存储形式及其使用方法
3.5.4 字符串常量
3.6 变量赋初值
3.7 各类数值型数据间的混合运算
3.8 算术运算符和算术表达式
3.8.1 C运算符简介
3.8.2 算术运算符和算术表达式
3.9 赋值运算符和赋值表达式
3.10 逗号运算符和逗号表达式
习题
4 最简单的C程序设计——顺序程序设计
4.1 C语句概述
4.2 赋值语句
4.3 数据输入输出的概念及在C语言中的实现
4.4 字符数据的输入输出
4.4.1 putchar函数(字符输出函数)
4.4.2 getchar函数(字符输入函数)
4.5 格式输入与输出
4.5.1 printf函数(格式输出函数)
4.5.2 scanf函数(格式输入函数)
4.6 顺序结构程序设计举例
习题
5 选择结构程序设计
5.1 关系运算符和关系表达式
5.1.1 关系运算符及其优先次序
5.1.2 关系表达式
5.2 逻辑运算符和逻辑表达式
5.2.1 逻辑运算符及其优先次序
5.2.2 逻辑表达式
5.3 if语句
5.3.1 if语句的三种形式
5.3.2 if语句的嵌套
5.3.3 条件运算符
5.4 switch语句
5.5 程序举例
习题
6 循环控制
6.1 概述
6.2 goto语句以及用goto语句构成循环
6.3 while语句
6.4 do-while语句
6.5 for语句
6.6 循环的嵌套
6.7 几种循环的比较
6.8 break语句和continue语句
6.8.1 break语句
6.8.2 continue语句
6.9 程序举例
习题
7 数组
7.1 一维数组的定义和引用
7.1.1 一维数组的定义
7.1.2 一维数组元素的引用
7.1.3 一线数组的初始化
7.1.4 一维数组程序举例
7.2 二维数组的定义和引用
7.2.1 二维数组的定义
7.2.2 二维数组的引用
7.2.3 二维数组的初始化
7.2.4 二维数组程序举例
7.3 字符数组
7.3.1 字符数组的定义
7.3.2 字符数组的初始化
7.3.3 字符数组的引用
7.3.4 字符串和字符串结束标志
7.3.5 字符数组的输入输出
7.3.6 字符串处理函数
7.3.7 字符数组应用举例
习题
8 函数
8.1 概述
8.2 函数定义的一般形式
8.3 函数参数和函数的值
8.3.1 形式参数和实际参数
8.3.2 函数的返回值
8.4 函数的调用
8.4.1 函数调用的一般形式
8.4.2 函数调用的方式
8.4.3 对被调用函数的声明和函数原型
8.5 函数的嵌套调用
8.6 函数的递归调用
8.7 数组作为函数参数
8.8 局部变量和全局变量
8.8.1 局部变量
8.8.2 全局变量
8.9 变量的存储类别
8.9.1 动态存储方式与静态存储方式
8.9.2 auto变量
8.9.3 用static声明局部变量
8.9.4 register变量
8.9.5 用extern声明外部变量
8.9.6 用static声明外部变量
8.9.7 关于变量的声明和定义
8.9.8 存储类别小结
8.10 内部函数和外部函数
8.10.1 内部函数
8.10.2 外部函数
8.11 如何运行一个多文件的程序
习题
9 预处理命令
9.1 宏定义
9.1.1 不带参数的宏定义
9.1.2 带参数的宏定义
9.2 “文件包含”处理
9.3 条件编译
习题
10 指针
10.1 地址和指针的概念
10.2 变量的指针和指向变量的指针变量
10.2.1 定义一个指针变量
10.2.2 指针变量的引用
10.2.3 指针变量作为函数参数
10.3 数组的指针和指向数组的指针变量
10.3.1 指向数组元素的指针
10.3.2 通过指针引用数组元素
10.3.3 数组名作函数参数
10.3.4 指向多维数组的指针和指针变量
10.4 字符串的指针和指向字符串的指针变量
10.4.1 字符串的表示形式
10.4.2 字符串指针作函数参数
10.4.3 对使用字符指针变量和字符数组的讨论
10.5 函数的指针和指向函数的指针变量
10.5.1 用函数指针变量调用函数
10.5.2 用指向函数的指针作函数参数
10.6 返回指针值的函数
10.7 指针数组和指向指针的指针
10.7.1 指针数组的概念
10.7.2 指向指针的指针
10.7.3 指针数组作main函数的形参
10.8 有关指针的数据类型和指针运算的小结
10.8.1 有关指针的数据类型的小结
10.8.2 指针运算小结
10.8.3 void指针类型
习题
11 结构体与共用体
11.1 概述
11.2 定义结构体类型变量的方法
11.3 结构体变量的引用
11.4 结构体变量的初始化
11.5 结构体数组
11.5.1 定义结构体数组
11.5.2 结构体数组的初始化
11.5.3 结构体数组应用举例
11.6 指向结构体类型数据的指针
11.6.1 指向结构体变量的指针
11.6.2 指向结构体数组的指针
11.6.3 用结构体变量和指向结构体的指针作函数参数
11.7 用指针处理链表
11.7.1 链表概述
11.7.2 简单链表
11.7.3 处理动态链表所需的函数
11.7.4 建立动态键表
11.7.5 输出链表
11.7.6 对链表的删除操作
11.7.7 对链表的插入操作
11.7.8 对链表的综合操作
11.8 共用体
11.8.1 共用体的概念
11.8.2 共用体变量的引用方式
11.8.3 共用体类型数据的特点
11.9 枚举类型
11.10 用typedef定义类型
习题
12 位运算
12.1 位运算符和位运算
12.1.1 “按位与”运算符(&)
12.1.2 按位或运算符(|)
12.1.3 “异或”运算符(^)
12.1.4 “取反”运算符(~)
12.1.5 左移运算符(<<)
12.1.6 右移运算符(>>)
12.1.7 位运算赋值运算符
12.1.8 不同长度的数据进行位运算
12.2 位运算举例
12.3 位段
习题
13 文件
13.1 C文件概述
13.2 文件类型指针
13.3 文件的打开与关闭
13.3.1 文件的打开(fopen函数)
13.3.2 文件的关闭(fclose函数)
13.4 文件的读写
13.4.1 fputc函数和fgetc函数(putc函数和getc函数)
13.4.2 fread函数和fwrite函数
13.4.3 fprintf函数和fscanf函数
13.4.4 其他读写函数
13.5 文件的定位
13.5.1 rewind函数
13.5.2 fseek函数和随机读写
13.5.3 fiell函数
13.6 出错的检测
13.6.1 ferror函数
13.6.2 clearerr函数
13.7 文件输入输出小结
习题
14 C++对C的扩充
14.1 C++的特点
14.2 最简单的C++程序
14.3 C++的输入输出
14.3.1 用cout进行输出
14.3.2 用cin进行输入
14.4 函数的重载
14.5 带缺省参数的函数
14.6 变量的引用类型
14.6.1 引用的概念
14.6.2 引用的简单使用
14.6.3 引用作为函数参数
14.7 内置函数
14.8 作用域运算符
14.9 动态分配/撤销内存的运算符new和delete
14.10 小结
15 C++的面向对象基础
15.1 概述
15.2 类和对象
15.3 构造函数和折构函数
15.3.1 构造函数
15.3.2 析构函数
15.4 继承与派生
15.4.1 继承与派生的概念
15.4.2 建立派生类的方法
15.4.3 公用派生类
15.4.4 私有派生类
15.4.5 保护成员
15.4.6 派生类的构造函数
15.4.7 继承在软件开发中的重要意义
16 常见错误和程序调试
16.1 常见错误分析
16.2 程序调试
附录Ⅰ 常用字符与ASCII代码对照表
附录Ⅱ C语言中的关键字
附录Ⅲ 运算符和结合性
附录Ⅳ C语言常用语法提要
附录Ⅴ C库函数
参考文献
1.1 C语言出现的历史背景
1.2 C语言的特点
1.3 简单的C程序介绍
1.4 C程序的上机步骤
习题
2 程序的灵魂——算法
2.1 算法的概念
2.2 简单算法举例
2.3 算法的特性
2.4 怎样表示一个算法
2.4.1 用自然语言表示算法
2.4.2 用流程图表示算法
2.4.3 三种基本结构和改进的流程图
2.4.4 用N-S流程图表示算法
2.4.5 用伪代码表示算法
2.4.6 用计算机语言表示算法
2.5 结构化程序设计方法
习题
3 数据类型、运算符与表达式
3.1 C的数据类型
3.2 常量与变量
3.2.1 常量和符号常量
3.2.2 变量
3.3 整型数据
3.3.1 整型常量的表示方法
3.3.2 整型变量
3.3.3 整型常量的类型
3.4 实型数据
3.4.1 实型常量的表示方法
3.4.2 实型变量
3.4.3 实型常量的类型
3.5 字符型数据
3.5.1 字符常量
3.5.2 字符变量
3.5.3 字符数据在内存中的存储形式及其使用方法
3.5.4 字符串常量
3.6 变量赋初值
3.7 各类数值型数据间的混合运算
3.8 算术运算符和算术表达式
3.8.1 C运算符简介
3.8.2 算术运算符和算术表达式
3.9 赋值运算符和赋值表达式
3.10 逗号运算符和逗号表达式
习题
4 最简单的C程序设计——顺序程序设计
4.1 C语句概述
4.2 赋值语句
4.3 数据输入输出的概念及在C语言中的实现
4.4 字符数据的输入输出
4.4.1 putchar函数(字符输出函数)
4.4.2 getchar函数(字符输入函数)
4.5 格式输入与输出
4.5.1 printf函数(格式输出函数)
4.5.2 scanf函数(格式输入函数)
4.6 顺序结构程序设计举例
习题
5 选择结构程序设计
5.1 关系运算符和关系表达式
5.1.1 关系运算符及其优先次序
5.1.2 关系表达式
5.2 逻辑运算符和逻辑表达式
5.2.1 逻辑运算符及其优先次序
5.2.2 逻辑表达式
5.3 if语句
5.3.1 if语句的三种形式
5.3.2 if语句的嵌套
5.3.3 条件运算符
5.4 switch语句
5.5 程序举例
习题
6 循环控制
6.1 概述
6.2 goto语句以及用goto语句构成循环
6.3 while语句
6.4 do-while语句
6.5 for语句
6.6 循环的嵌套
6.7 几种循环的比较
6.8 break语句和continue语句
6.8.1 break语句
6.8.2 continue语句
6.9 程序举例
习题
7 数组
7.1 一维数组的定义和引用
7.1.1 一维数组的定义
7.1.2 一维数组元素的引用
7.1.3 一线数组的初始化
7.1.4 一维数组程序举例
7.2 二维数组的定义和引用
7.2.1 二维数组的定义
7.2.2 二维数组的引用
7.2.3 二维数组的初始化
7.2.4 二维数组程序举例
7.3 字符数组
7.3.1 字符数组的定义
7.3.2 字符数组的初始化
7.3.3 字符数组的引用
7.3.4 字符串和字符串结束标志
7.3.5 字符数组的输入输出
7.3.6 字符串处理函数
7.3.7 字符数组应用举例
习题
8 函数
8.1 概述
8.2 函数定义的一般形式
8.3 函数参数和函数的值
8.3.1 形式参数和实际参数
8.3.2 函数的返回值
8.4 函数的调用
8.4.1 函数调用的一般形式
8.4.2 函数调用的方式
8.4.3 对被调用函数的声明和函数原型
8.5 函数的嵌套调用
8.6 函数的递归调用
8.7 数组作为函数参数
8.8 局部变量和全局变量
8.8.1 局部变量
8.8.2 全局变量
8.9 变量的存储类别
8.9.1 动态存储方式与静态存储方式
8.9.2 auto变量
8.9.3 用static声明局部变量
8.9.4 register变量
8.9.5 用extern声明外部变量
8.9.6 用static声明外部变量
8.9.7 关于变量的声明和定义
8.9.8 存储类别小结
8.10 内部函数和外部函数
8.10.1 内部函数
8.10.2 外部函数
8.11 如何运行一个多文件的程序
习题
9 预处理命令
9.1 宏定义
9.1.1 不带参数的宏定义
9.1.2 带参数的宏定义
9.2 “文件包含”处理
9.3 条件编译
习题
10 指针
10.1 地址和指针的概念
10.2 变量的指针和指向变量的指针变量
10.2.1 定义一个指针变量
10.2.2 指针变量的引用
10.2.3 指针变量作为函数参数
10.3 数组的指针和指向数组的指针变量
10.3.1 指向数组元素的指针
10.3.2 通过指针引用数组元素
10.3.3 数组名作函数参数
10.3.4 指向多维数组的指针和指针变量
10.4 字符串的指针和指向字符串的指针变量
10.4.1 字符串的表示形式
10.4.2 字符串指针作函数参数
10.4.3 对使用字符指针变量和字符数组的讨论
10.5 函数的指针和指向函数的指针变量
10.5.1 用函数指针变量调用函数
10.5.2 用指向函数的指针作函数参数
10.6 返回指针值的函数
10.7 指针数组和指向指针的指针
10.7.1 指针数组的概念
10.7.2 指向指针的指针
10.7.3 指针数组作main函数的形参
10.8 有关指针的数据类型和指针运算的小结
10.8.1 有关指针的数据类型的小结
10.8.2 指针运算小结
10.8.3 void指针类型
习题
11 结构体与共用体
11.1 概述
11.2 定义结构体类型变量的方法
11.3 结构体变量的引用
11.4 结构体变量的初始化
11.5 结构体数组
11.5.1 定义结构体数组
11.5.2 结构体数组的初始化
11.5.3 结构体数组应用举例
11.6 指向结构体类型数据的指针
11.6.1 指向结构体变量的指针
11.6.2 指向结构体数组的指针
11.6.3 用结构体变量和指向结构体的指针作函数参数
11.7 用指针处理链表
11.7.1 链表概述
11.7.2 简单链表
11.7.3 处理动态链表所需的函数
11.7.4 建立动态键表
11.7.5 输出链表
11.7.6 对链表的删除操作
11.7.7 对链表的插入操作
11.7.8 对链表的综合操作
11.8 共用体
11.8.1 共用体的概念
11.8.2 共用体变量的引用方式
11.8.3 共用体类型数据的特点
11.9 枚举类型
11.10 用typedef定义类型
习题
12 位运算
12.1 位运算符和位运算
12.1.1 “按位与”运算符(&)
12.1.2 按位或运算符(|)
12.1.3 “异或”运算符(^)
12.1.4 “取反”运算符(~)
12.1.5 左移运算符(<<)
12.1.6 右移运算符(>>)
12.1.7 位运算赋值运算符
12.1.8 不同长度的数据进行位运算
12.2 位运算举例
12.3 位段
习题
13 文件
13.1 C文件概述
13.2 文件类型指针
13.3 文件的打开与关闭
13.3.1 文件的打开(fopen函数)
13.3.2 文件的关闭(fclose函数)
13.4 文件的读写
13.4.1 fputc函数和fgetc函数(putc函数和getc函数)
13.4.2 fread函数和fwrite函数
13.4.3 fprintf函数和fscanf函数
13.4.4 其他读写函数
13.5 文件的定位
13.5.1 rewind函数
13.5.2 fseek函数和随机读写
13.5.3 fiell函数
13.6 出错的检测
13.6.1 ferror函数
13.6.2 clearerr函数
13.7 文件输入输出小结
习题
14 C++对C的扩充
14.1 C++的特点
14.2 最简单的C++程序
14.3 C++的输入输出
14.3.1 用cout进行输出
14.3.2 用cin进行输入
14.4 函数的重载
14.5 带缺省参数的函数
14.6 变量的引用类型
14.6.1 引用的概念
14.6.2 引用的简单使用
14.6.3 引用作为函数参数
14.7 内置函数
14.8 作用域运算符
14.9 动态分配/撤销内存的运算符new和delete
14.10 小结
15 C++的面向对象基础
15.1 概述
15.2 类和对象
15.3 构造函数和折构函数
15.3.1 构造函数
15.3.2 析构函数
15.4 继承与派生
15.4.1 继承与派生的概念
15.4.2 建立派生类的方法
15.4.3 公用派生类
15.4.4 私有派生类
15.4.5 保护成员
15.4.6 派生类的构造函数
15.4.7 继承在软件开发中的重要意义
16 常见错误和程序调试
16.1 常见错误分析
16.2 程序调试
附录Ⅰ 常用字符与ASCII代码对照表
附录Ⅱ C语言中的关键字
附录Ⅲ 运算符和结合性
附录Ⅳ C语言常用语法提要
附录Ⅴ C库函数
参考文献
C程序设计.第2版
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×