-
内容大纲
学习任何程序设计语言的最佳方法都是创建良好的程序,C语言也不例外。一旦决定编写程序我们就会发现,总是有至少两种方法可以实现。那么,如何才能找到最好的方法来实现程序?本书就能帮助读者解决此类问题。本书是一本C语言程序设计的经典教材。多年来,本书被很多工程和科学研究所及院校指定为学习教材。
本书这一版本(第17版)除了讲解C语言中基本的函数、指针、控制指令、数据类型、数组、字符串、输入输出、位操作等内容外,还增加了C语言程序设计的各个主题的实例和面试问题,以便读者尽快熟悉C语言的实际应用。书中的实例和习题已经过作者认真挑选,集中体现了各个知识要点的具体用法。本书提供可供读者下载的程序源代码,并配套出版《C语言程序设计习题解答》。
本书结构合理,内容深入浅出,既适合用作高等学校本科和专科学生学习C语言程序设计的教材,也适合用作零基础的程序设计初学者的自学用书。 -
作者介绍
-
目录
第1章 起步
本章内容
1.1 什么是C语言
1.2 C语言的基础知识
1.2.1 字母、数字和特殊符号
1.2.2 常量、变量和关键字
1.2.3 C语言的常量类型
1.2.4 整型常量的创建规则
1.2.5 浮点型常量的创建规则
1.2.6 字符型常量的创建规则
1.2.7 C语言的变量类型
1.2.8 变量名的创建规则
1.2.9 C语言的关键字
1.3 第1个C语言程序
1.3.1 C语言程序的格式
1.3.2 C语言程序中的注释
1.3.3 什么是main()
1.3.4 变量及其用法
1.3.5 printf()及其用法
1.3.6 编译和运行
1.4 接收输入
1.5 程序
习题
课后笔记
第2章 C语言的指令
本章内容
2.1 指令的类型
2.2 类型声明指令
2.3 算术指令
2.4 整型和浮点型的转换
2.5 赋值时的类型转换
2.6 操作符的优先层次
2.7 操作符的结合性
2.8 控制指令
2.9 程序
习题
课后笔记
第3章 决策控制指令
本章内容
3.1 if-else语句
3.2 if-else中的多条语句
3.3 嵌套的if-else语句
3.4 一点告诫
3.5 程序
习题
课后笔记
第4章 更复杂决策的创建
本章内容
4.1 使用逻辑操作符:检测范围
4.2 使用逻辑操作符:是否问题
4.3 !操作符
4.4 再论操作符的优先层次
4.5 条件操作符
4.6 程序
习题
课后笔记
第5章 循环控制指令
本章内容
5.1 循环
5.2 while循环
5.2.1 提示和陷阱
5.2.2 其他操作符
5.3 程序
习题
课后笔记
第6章 更复杂的循环控制
指令
本章内容
6.1 for循环
6.1.1 循环的嵌套
6.1.2 for循环的多重初始化
6.2 break语句
6.3 continue语句
6.4 do-while循环
6.5 非常规循环
6.6 程序
习题
课后笔记
第7章 case控制指令
本章内容
7.1 使用switch的决策
7.2 switch与if-else梯状结构的对比
7.3 goto关键字
7.4 程序
习题
课后笔记
第8章 函数
本章内容
8.1 什么是函数
8.2 在函数之间传递值
8.3 参数的传递顺序
8.4 使用库函数
8.5 一个不确定的问题
8.6 函数的返回类型
8.7 程序
习题
课后笔记
第9章 指针
本章内容
9.1 传值调用和传引用调用
9.2 指针概述
9.3 再论函数调用
9.4 结论
9.5 程序
习题
课后笔记
第10章 递归
本章内容
10.1 递归的概念
10.2 程序
习题
课后笔记
第11章 再论数据类型
本章内容
11.1 整型:long、short、signed、unsigned
11.2 字符型:signed、unsigned
11.3 浮点型:float、double、longdouble
11.4 一些其他问题
11.5 C语言的存储类型
11.5.1 自动存储类型
11.5.2 寄存器存储类型
11.5.3 静态存储类型
11.5.4 外部存储类型
11.5.5 一些微妙的问题
11.5.6 何时何地使用存储类型
习题
课后笔记
第12章 C预处理器
本章内容
12.1 C预处理器的特性
12.2 宏展开指令
12.2.1 带参数的宏
12.2.2 宏与函数的比较
12.3 文件包含指令
12.4 条件编译指令
12.5 #if和#elif指令
12.6 其他指令
12.6.1 #undef指令
12.6.2 #pragma指令
12.7 构建过程
12.8 程序
习题
课后笔记
第13章 数组
本章内容
13.1 什么是数组
13.2 关于数组的其他信息
13.2.1 数组的初始化
13.2.2 内存中的数组元素
13.2.3 边界检查
13.2.4 向函数传递数组元素
13.3 指针和数组
13.3.1 使用指针访问数组元素
13.3.2 把数组传递给函数
13.4 可变长数组
13.5 程序
习题
课后笔记
第14章 多维数组
本章内容
14.1 二维数组
14.1.1 二维数组的初始化
14.1.2 二维数组的内存映射
14.1.3 指针和二维数组
14.1.4 指向数组的指针
14.1.5 把二维数组传递给函数
14.2 指针数组
14.3 三维数组
14.4 程序
习题
课后笔记
第15章 字符串
本章内容
15.1 什么是字符串
15.2 关于字符串的其他说明
15.3 指针和字符串
15.4 字符串处理函数
15.4.1 strlen()
15.4.2 strcpy()
15.4.3 strcat()
15.4.4 strcmp()
15.5 程序
习题
课后笔记
第16章 处理多个字符串
本章内容
16.1 二维字符数组
16.2 字符串指针数组
16.3 字符串指针数组的限制
16.4 程序
习题
课后笔记
第17章 结构体
本章内容
17.1 为什么要使用结构体
17.2 结构体数组
17.3 结构体的细节
17.3.1 结构体的声明
17.3.2 结构体元素的存储
17.3.3 复制结构体元素
17.3.4 嵌套的结构体
17.3.5 传递结构体元素结构体变量
17.3.6 结构体元素的对齐
17.4 结构体的应用
17.5 程序
习题
课后笔记
第18章 控制台输入输出
本章内容
18.1 IO的类型
18.2 控制台IO函数
18.2.1 格式化的控制台IO函数
18.2.2 sprintf()和sscanf()函数
18.2.3 未格式化的控制台IO函数
习题
课后笔记
第19章 文件输入输出
本章内容
19.1 文件操作
19.1.1 打开文件
19.1.2 读取文件
19.1.3 关闭文件
19.2 对字符、制表符、空格等进行计数
19.3 一个文件复制程序
19.4 文件打开模式
19.5 文件中的字符串(行)IO
19.6 文本文件和二进制文件
19.7 文件中的记录IO
19.8 低层文件IO
19.9 程序
习题
课后笔记
第20章 关于输入输出的更多知识
本章内容
20.1 使用argc和argv
20.2 在读取写入时检测错误
20.3 标准文件指针
20.4 IO重定向
20.4.1 输出重定向
20.4.2 输入重定向
20.4.3 同时重定向
习题
课后笔记
第21章 对位进行操作
本章内容
21.1 位的编号和转换
21.2 位操作
21.3 反码操作符
21.4 右移位和左移位操作符
21.4.1 警告
21.4.2 <<操作符的用途
21.5 AND、OR和XOR位操作符
21.5.1 &操作符的用途
21.5.2 |操作符的用途
21.5.3 ^操作符的用途
21.6 showbits()函数
21.7 位复合赋值操作符
21.8 程序
习题
课后笔记
第22章 C语言的其他特性
本章内容
22.1 枚举数据类型
22.1.1 枚举数据类型的用途
22.1.2 枚举真有必要吗
22.2 使用typedef对数据类型进行重命名
22.3 强制类型转换
22.4 位段
22.5 函数指针
22.6 返回指针的函数
22.7 接收可变数量参数的函数
22.8 联合体
22.9 volatile限定符
22.10 程序
习题
课后笔记
第23章 常见的C语言面试问题
附录A 编译和运行
附录B 优先级表格
附录C 追踪缺陷
附录D ASCII表
附录E 阶段测验
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...