杨有安、陈维、曹惠雅和鲁丽编著的《程序设计基础(C语言第3版)》针对高等院校学生的特点和认知规律,全面、系统地介绍了C语言程序设计及应用知识,包括程序设计基础、C语言的基本概念、顺序、分支和循环结构程序设计、函数和编译预处理、数组和指针、结构体、联合体、枚举类型、文件、数据结构和数据抽象等内容。编写过程中以夯实学生程序设计的理论基础、培养学生程序设计的能力和形成良好的程序设计风格为宗旨,结合编者多年从事程序设计课程教学和研究的经验,参考和吸取了大量同类教材的优点,同时又保持了自己的特色。本教材的特点是:内容的编排由浅入深、循序渐进、通俗易懂,通过例题介绍C语言程序设计的基本方法与基本技巧,通过习题训练学生的程序设计技能。本书是一本适合初次学习程序设计的读者学习C语言的教材。
《程序设计基础(C语言第3版)》根据2008年全国高等学校计算机基础教育研究会发布的“中国高等院校计算机基础教育课程体系2008”的计算机基础教育的纲领性文件中有关“程序设计基础(C语言)”课程的教学要求及人才培养的新要求而组织编写。全书共11章,主要包括: C语言的基本概念、变量、运算符、表达式、顺序结构、分支结构、循环结构、数组、函数、指针、结构体、联合体、枚举类型、预处理和标准函数、文件、数据结构和数据抽象等内容。同时,还将程序设计的基本方法和常用算法贯穿各章节。
《程序设计基础(C语言第3版)》内容比较全面、由浅入深、详略得当、注重实践、实例丰富、面向应用。各章附有适量的习题,便于自学。另外,针对书中各章内容和上机实训,本书还配有辅导教材《程序设计基础实践教程(C语言)》,引导读者学习和掌握各章节的知识。全书贯彻传授知识、培养能力、提高素质的教学理念。
《程序设计基础(C语言第3版)》可作为高等学校非计算机专业“C语言程序设计”课程的教材,也可作为初次学习C语言程序设计的读者、准备计算机等级二级考试者和计算机工程技术人员的参考书。
《程序设计基础(C语言第3版)》由杨有安、陈维、曹惠雅和鲁丽合著。
第1章 C语言概述
1.1 C语言的发展和特点
1.1.1 C语言的发展
1.1.2 C语言的主要特点
1.2 C语言的词汇
1.2.1 字符集
1.2.2 关键字
1.2.3 标识符
1.2.4 保留标识符
1.2.5 注释
1.3 C程序的结构
1.3.1 简单C程序举例
1.3.2 C程序的结构特点
1.3.3 书写程序时应遵循的规则
1.4 Visual C++ 6.0上机简介
1.4.1 Visual C++ 6.0启动
1.4.2 Visual C++ 6.0集成环境上机步骤
本章小结
习题1
第2章 基本数据类型和运算符
2.1 基本数据类型
2.1.1 常量和变量的概念
2.1.2 常量
2.1.3 变量
2.2 运算符和表达式
2.2.1 算术运算符与算术表达式
2.2.2 赋值运算符与赋值表达式
2.2.3 增量运算符与增量表达式
2.2.4 关系运算符与关系表达式
2.2.5 逻辑运算符与逻辑表达式
2.2.6 条件运算符与条件表达式
2.2.7 逗号运算符与逗号表达式
2.2.8 运算符的优先级与结合性
2.3 数据类型的转换
2.3.1 自动转换
2.3.2 赋值转换
2.3.3 强制类型转换
本章小结
习题2
第3章 顺序和选择结构程序设计
3.1 程序设计概述
3.1.1 程序设计基本步骤
3.1.2 C语言编写风格
3.1.3 语句
3.2 scanf函数和字符输入/输出函数调用
3.2.1 数据输入的概念
3.2.2 scanf函数的调用
3.2.3 getchar函数
3.2.4 putchar函数
3.3 程序的3种基本结构
3.4 if选择结构语句
3.4.1 if语句的3种形式
3.4.2 if语句的嵌套
3.5 switch选择结构语句
3.6 程序设计举例
本章小结
习题3
第4章 循环结构程序设计
4.1 for循环
4.2 while循环
4.3 do-while循环
4.4 跳转语句
4.4.1 break语句
4.4.2 continue语句
4.4.3 goto语句
4.5 循环语句的嵌套
4.6 程序设计举例
本章小结
习题4
第5章 数组
5.1 一维数组
5.1.1 一维数组的定义
5.1.2 一维数组的引用
5.1.3 一维数组元素的初始化
5.2 二维数组
5.2.1 二维数组的定义
5.2.2 二维数组的引用
5.2.3 二维数组元素的初始化
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.5 程序设计举例
本章小结
习题5
第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.3.1 函数的嵌套调用
6.3.2 函数的递归调用
6.4 作用域和存储类型
6.5 内部函数和外部函数
6.5.1 内部函数
6.5.2 外部函数
6.6 模块化程序设计
6.6.1 模块化程序设计方法的指导思想
6.6.2 模块分解的原则
6.7 程序设计举例
本章小结
习题6
第7章 指针
7.1 指针的概念
7.1.1 地址与指针
7.1.2 指针变量的定义和引用
7.1.3 指针变量的运算
7.2 指针变量作为函数参数
7.3 指针与一维数组
7.3.1 一维数组的指针表示
7.3.2 数组作函数参数时的指针表示
7.3.3 字符串的指针表示
7.4 指针与多维数组
7.4.1 多维数组的处理
7.4.2 指向多维数组的指针
7.5 指针数组和多级指针
7.5.1 指针数组的概念
7.5.2 指针数组的应用
7.5.3 多级指针
7.6 指针与函数
7.6.1 指向函数的指针
7.6.2 函数指针的应用
7.6.3 返回指针的函数
7.7 命令行参数
本章小结
习题7
第8章 结构体与联合体
8.1 结构体
8.1.1 结构体类型的定义
8.1.2 结构体类型变量的定义与使用
8.1.3 结构体类型变量的赋值与初始化
8.1.4 结构体类型数组的定义与引用
8.1.5 结构体类型指针的定义与引用
8.1.6 结构体类型数据的动态存储分配
8.1.7 链表及其基本操作
8.2 联合体
8.3 其他自定义数据类型
8.3.1 枚举类型
8.3.2 类型定义符typedef
本章小结
习题8
第9章 预处理和标准函数
9.1 预处理命令
9.1.1 宏定义
9.1.2 文件包含
9.1.3 条件编译
9.2 输入/输出标准函数
9.2.1 格式输出函数printf
9.2.2 格式输入函数scanf
9.3 自定义头文件设计的原则
本章小结
习题9
第10章 文件
10.1 文件的基本概念
10.2 文件的基本操作
10.2.1 文件的打开与关闭
10.2.2 文件的读写
10.2.3 文件检测函数
10.3 程序设计举例
本章小结
习题10
第11章 数据结构和数据抽象
11.1 数据抽象
11.1.1 数据结构和数据类型
11.1.2 抽象数据类型
11.2 线性表
11.2.1 线性表的定义
11.2.2 线性表的基本操作
11.2.3 线性表的顺序存储
11.2.4 顺序表上基本运算的实现
11.3 堆栈
11.3.1 抽象栈的定义及基本操作
11.3.2 抽象栈的定义
11.3.3 顺序栈的基本运算的实现
11.4 队列
11.4.1 队列的定义
11.4.2 队列的存储结构及其相关算法
本章小结
习题11
附录A ASCII代码对照表
附录B C库函数