《C语言大学实用教程(第3版)》是电子工业出版社2012年出版的图书,作者是苏小红、孙志岗、陈惠鹏。
基本介绍
- 书名:C语言大学实用教程
- 作者:苏小红、陈惠鹏、孙志岗
- ISBN:9787121037825(第2版)
- 页数:436
- 出版社:电子工业出版社
- 出版时间:2004年8月第1版,2007年2月第2版
- 装帧:平装
- 开本:16
- 字数:720000
内容简介
本书为普通高等教育“十一五”国家级规划教材。
本书注重教材的可读性和可用性,每章开头有内容关键字和难点提示;每章结尾安排本章小结,小结中给出了该章中的常见错误提示;典型例题一题多解,由浅入深,强化知识点、算法、编程方法与技巧;还将程式测试、程式调试与排错、软体的健壮性和代码风格、结构化与模组化程式设计方法等软体工程知识融入其中;配套教材《C语言大学实用教程学习指导 》包括三部分内容:习题指导、实验指导、错误案例与优秀案例分析;为任课教师免费提供电子课件,其中包括全部例题和习题源程式档案(可按前言提供的方式索取)。
全书由11章组成,内容包括:程式设计ABC,数据类型、运算符与表达式,简单的C程式设计,程式的控制结构,函式,数组,指针,结构体与共用体,函式的高级套用,档案操作,C程式设计常见错误及解决方案等。
本书是一本充满趣味性和实用性的大学C语言教材,适合作为大学各专业公共课教材和全国计算机等级考试参考书。
目录
第1章 程式设计ABC
1.1 计算机与人
1.2 计算机与程式设计语言
1.3 程式设计语言的故事
1.4 C语言的故事
1.5 程式设计语言的工作原理
1.5.1 运行
1.5.2 记忆体
1.6 本章小结
习题1
第2章 数据类型、运算符与表达式
2.1 一个简单的C程式例子
2.2 C程式常见符号分类
2.3 数据类型
2.3.1 为什幺引入数据类型
2.3.2 从基本数据类型到抽象数据类型
2.3.3 类型修饰符
2.3.4 标识符命名
2.4 常量
2.4.1 整型常量
2.4.2 实型常量
2.4.3 字元常量
2.4.4 字元串常量
2.4.5 宏常量
2.4.6 枚举常量
2.5 变数
2.5.1 变数的声明与初始化
2.5.2 const类型修饰符
2.5.3 使用变数时的注意事项
2.6 常用运算符及表达式
2.6.1 运算符的优先权与结合性
2.6.2 算术运算符
2.6.3 关係运算符
2.6.4 逻辑运算符
2.6.5 赋值运算符
2.6.6 增1和减1运算符
2.6.7 强制转换运算符
2.6.8 位运算符
2.6.9 逗号运算符
2.7 赋值和表达式中的类型转换
2.8 本章小结
习题2
第3章 简单的C程式设计
3.1 C语句分类
3.2 表达式语句
3.3 複合语句和空语句的作用
3.4 基本输入/输出操作的实现
3.4.1 字元输入/输出
3.4.2 格式输入/输出
3.4.3 使用函式scanf()时需要注意的问题
3.5 本章小结
习题3
第4章 程式的控制结构
4.1 算法及其描述方法
4.1.1 算法的概念
4.1.2 算法的描述方法
4.2 顺序结构
4.2.1 顺序结构的流程图表示
4.2.2 应用程式举例
4.3 选择结构
4.3.1 套用场合
4.3.2 选择结构的流程图表示
4.3.3 条件语句
4.3.4 开关语句
4.4 循环结构
4.4.1 套用场合
4.4.2 循环结构的流程图表示
4.4.3 循环语句
4.4.4 单重循环套用举例
4.4.5 嵌套循环及其套用举例
4.5 流程的转移控制
4.5.1 goto语句
4.5.2 break与continue语句
4.5.3 函式exit()
4.5.4 应用程式举例
4.6 程式排错
4.6.1 程式中常见的出错原因
4.6.2 程式调试与排错基本方法
4.6.3 使用函式getchar()的问题
4.7 结构化程式设计方法简介
4.7.1 关于goto论战
4.7.2 结构化程式设计的核心思想
4.7.3 自顶向下、逐步求精的程式设计方法
4.8 本章小结
习题4
第5章 函式
5.1 程式设计的艺术
5.2 函式的定义与使用
5.2.1 函式的分类
5.2.2 函式的定义
5.2.3 函式的调用、参数和返回值
5.2.4 函式原型
5.2.5 函式main()的特殊性
5.3 变数的作用域和存储类型
5.3.1 变数的作用域
5.3.2 全局变数
5.3.3 变数的存储类型
5.4 函式封装
5.5 预处理指令
5.5.1 #include
5.5.2 #define和#undef
5.5.3 条件编译
5.6 使用assert()查错
5.7 模组和连结
5.8 模组化程式设计方法简介
5.8.1 功能分解
5.8.2 模组划分的原则
5.8.3 套用实例
5.9 本章小结
习题5
第6章 数组
6.1 数组类型的套用场合
6.2 数组的定义、引用和初始化
6.2.1 数组的定义
6.2.2 数组的引用
6.2.3 数组的初始化
6.2.4 程式实例
6.3 向函式传递一维数组
6.4 向函式传递二维数组
6.5 字元数组
6.5.1 字元数组与字元串的关係
6.5.2 字元数组的输入/输出
6.5.3 字元串处理函式
6.5.4 套用举例
6.6 本章小结
习题6
第7章 指针
7.1 指针概述
7.1.1 指针的概念
7.1.2 为什幺引入指针的概念
7.1.3 指针变数作为函式参数
7.1.4 字元指针作为函式参数
7.2 指针和数组间的关係
7.2.1 一维数组的地址和指针
7.2.2 二维数组的地址和指针
7.3 指针数组
7.4 指向指针的指针
7.5 带参数的函式main()
7.6 动态数组的实现
7.6.1 C程式的记忆体映像
7.6.2 动态记忆体分配函式
7.6.3 一维动态数组的实现
7.6.4 二维动态数组的实现
7.7 使用const修饰指针变数
7.8 代码风格问题
7.8.1 程式版式
7.8.2 命名规则
7.8.3 函式设计
7.8.4 防御性程式设计
7.9 本章小结
习题7
第8章 结构体与共用体
8.1 问题的提出
8.2 结构体类型与结构体变数
8.2.1 结构体类型的声明
8.2.2 关键字typedef的用法
8.2.3 结构体变数的定义
8.2.4 指向结构体变数的指针
8.2.5 结构体变数的引用和初始化
8.3 结构体数组
8.3.1 结构体数组的定义
8.3.2 结构体数组的套用实例
8.3.3 结构体数组与指针
8.4 结构体与函式
8.5 动态数据结构
8.5.1 问题的提出
8.5.2 鍊表的定义
8.5.3 鍊表的特点及操作原理
8.5.4 动态鍊表的建立
8.5.5 鍊表的删除操作
8.5.6 鍊表的插入操作
8.6 共用体
8.7 位段
8.8 本章小结
习题8
第9章 函式的高级套用
9.1 递归
9.1.1 递归问题的提出
9.1.2 递归函式
9.2 返回指针值的函式
9.3 函式指针
9.4 一个综合套用实例——学生成绩管理程式
9.5 本章小结
习题9
第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.4.4 标準输入与标準输出
10.5 本章小结
习题10
第11章 C程式设计常见错误及解决方案
条款1:使用未初始化和未赋值的变数
条款2:不考虑数值溢出的可能
条款3:不用sizeof( )获得类型或变数的字长
条款4:假定类型取值範围
条款5:期望两个整数的运算自动得出浮点数的结果
条款6:不预先判断除数是否为0
条款7:混淆“&,|”与“&&,||”
条款8:使用依赖编译器求值顺序的语句
条款9:使用依靠算符优先权的表达式
条款10:表达式过于複杂
条款11:用“==”时误用“=”
条款12:用“==”比较两个浮点数
条款13:使用幻数
条款14:printf()和scanf()中格式控制字元串与参数类型不匹配
条款15:循环或判断语句以“;”结尾
条款16:在循环体内改变循环结束条件
条款17:case分支不用break结束
条款18:switch-case语句没有default分支
条款19:不声明函式原型
条款20:不定义函式参数或返回值的类型
条款21:有返回值的函式不用return指明返回值
条款22:调用函式后,不检查函式是否正确执行
条款23:变数、函式和模组功能不单一
条款24:函式过长
条款25:函式的参数过于複杂
条款26:返回指向局部变数的指针
条款27:随意修改全局变数的值
条款28:数组下标越界
条款29:字元串没有‘\0’终结符
条款30:使用不限制最大处理长度的字元串处理函式
条款31:用malloc()申请的记忆体不用free()
条款32:使用已经被free()的指针
条款33:档案打开后不主动关闭
条款34:成对函式不在同一个模组或函式内调用
条款35:头档案不加宏定义锁
条款36:忽略编译器警告
条款37:用“複製+贴上”的方式复用代码
条款38:在字元串和注释以外的地方使用全形字元
条款39:代码风格不佳
条款40:代码与注释不一致
后记
附录A 书中常用概念、名词、语句、运算符、数据类型和算法索引表
附录B C关键字
附录C Visual C++下各数据类型所占位元组数和取值範围
附录D C运算符的优先权与结合性
附录E 常用ASCII字元表
附录F 常用字元表
附录G 常用的ANSI C标準库函式
参考文献