本书是广西高等学校自治区级精品课程的配套教材。读者从中可全面地掌握计算机程序设计的基本知识与基本操作技能,并熟悉C语言编程的有关应用。
书中所有程序都按照结构化程序设计方法采用缩格方式编写。
内容上,重基础,强能力;行文上,深入浅出,通俗易懂;教学上,突出基本点和重点,有层次地分散难点。其内容包括:C程序设计概述、数据类型与表达式、算法的基本控制结构、函数和预处理、数组和字符串、指针、构造数据类型、位运算、文件、C程序应用实例及附录。
本书可作为高等学校各专业、计算机水平考试、各类成人教育的教材使用,也可供计算机爱好者自学。
C语言是国内外广泛流行的计算机高级程序设计语言,也是国内外各高校开设的重要基础课程之一。
本书以零程序设计为起点,采用Vc++作为编译环境,使读者全面地掌握计算机程序设计的基本知识与基本操作技能,并熟悉C语言编程的有关应用。
本书所有程序都按照结构化程序设计方法采用缩格方式编写。内容上,重基础、强能力,行文上,深入浅出、通俗易懂。针对C语言具有数据类型繁多、运算功能丰富、模块化能力强、程序设计灵活、介于高低级语言之间等特点,以及由此带来的教学难点多和教学内容繁杂等问题,本书采取突出基本点和重点,有层次地分散难点、知识点与后备知识的策略,从而使读者能够很方便地自学。全书内容包括:C程序设计概述,数据类型和表达式,算法的基本控制结构,函数,数组和字符串,指针,模块化程序设计,构造数据类型,位运算,文件,C程序应用实例及附录。
本书可作为高等学校各专业、计算机水平考试、各类成人教育的教材使用,也可供计算机爱好者自学。
第1章 C程序设计概述
1.1 算法、C语言和程序设计
1.1.1 算法和算法设计
1.1.2 C语言及其特点
1.1.3 用C语言编写程序实现算法
1.1.4 算法的三大要素
1.2 C程序的形式要点
1.3 C程序的开发过程
练习题l
第2章 数据类型和表达式
2.1 C语言的数据类型
2.2 常量
2.2.1 整型常量
2.2.2 实型常量
2.2.3 字符常量
2.2.4 字符串常量
2.2.5 符号常量
2.3 变量
2.3.1 C标识符及其命名
2.3.2 变量的声明及其初始值问题
2.4 简单的输入/输出
2.4.1 字符型数据的输入/输出函数
2.4.2 简单的格式化输入/输出函数
2.5 算术运算和算术表达式
2.5.1 基本算术运算
2.5.2 自增/自减运算
2.5.3 算术运算符的优先级和结合性
2.6 赋值运算和赋值表达式
2.6.1 简单赋值运算
2.6.2 复合赋值运算
2.6.3 赋值表达式的类型
2.7 逗号运算和逗号表达式
2.8 不同类型数据之问的混合运算
2.8.1 算术表达式的类型转换
2.8.2 强制类型转换
2.9 运算符的优先级和结合性
练习题2
第3章 算法的基本控制结构
3.1 C语句概述
3.1.1 C语言的基本语句
3.1.2 三种基本结构和流程控制语句
3.2 顺序结构
3.3 选择结构的流程控制
3.3.1 条件判断
3.3.2 if语句
3.3.3 条件运算和条件表达式
3.3.4 switch语句
3.3.5 选择结构程序举例
3.4 循环结构的流程控制
3.4.1 while语句
3.4.2 do while语句
3.4.3 for语旬
3.4.4 循环的嵌套
3.4.5 break语句和continue语句
3.4.6 循环结构程序举例
3.5 关于goto语句
3.6 综合应用举例
练习题3
第4章 函数
4.1 函数概述
4.1.1 函数与复杂问题求解
4.1.2 C函数的一般特性
4.1.3 函数的分类
4.1.4 C标准库函数
4.2 格式化输出/输入函数
4.2.1 格式化输出函数printf
4.2.2 格式化输入函数scanf
4.3 函数的声明和定义
4.3.1 函数的声明
4.3.2 函数的定义
4.4 函数的一般调用
4.4.1 函数调用的条件
4.4.2 函数调用的方式
4.4.3 函数的实际参数和形式参数
4.4.4 函数的调用过程
4.5 函数的嵌套调用和递归调用
4.5.1 函数的嵌套调用
4.5.2 函数的递归调用
4.6 综合应用举例
练习题4
第5章 数组和字符串
5.1 数组的概念
5.2 一维数组
5.2.1 一维数组的定义与初始化
5.2.2 一维数组的赋初值
5.2.3 一维数组的引用
5.3 多维数组
5.3.1 二维数组的定义与初始化
5.3.2 二维数组的引用
5.3.3 多维数组
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
第6章 指针
6.1 指针的概念
6.2 指针和变量
6.2.1 指针的定义与初始化
6.2.2 指针的赋值运算和引用
6.2.3 指针作为函数参数
6.3 指针和数组
6.3.1 指针与一维数组
6.3.2 指针与二维数组
6.4 字符指针和字符串
6.4.1 用字符指针表示字符串
6.4.2 用字符串指针处理字符串
6.4.3 字符指针作为函数参数
6.5 指针和函数
6.5.1 用函数指针调用函数
6.5.2 用指向函数的指针作为函数参数
6.5.3 指针型函数
6.6 指针数组
6.6.1 指针数组的概念
6.6.2 字符型指针数组和多个字符串的处理
6.7 多级指针
6.8 使main函数带参数
6.9 动态存储分配
6.9.1 什么是内存的动态分配
6.9.2 动态内存分配函数
6.9.3 void指针类型
6.10 综合应用举例
练习题6
第7章 模块化程序设计
7.1 C程序的结构
7.1.1 多源文件程序的结构
7.1.2 作用域、生存期和链接
7.1.3 内部变量和外部变量
7.2 变量和函数的存储类型
7.2.1 变量的存储类型
7.2.2 函数的存储类型
7.2.3 变量存储类型应用举例
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
第8章 构造数据类型
8.1 结构体数据类型
8.1.1 结构体数据类型的定义
8.1.2 结构体变量的定义及引用
8.1.3 结构体数组及指向结构体的指针
8.1.4 结构体变量及指向结构体的指针作为函数的参数
8.2 结构体应用举例
8.3 共用体数据类型
8.3.1 共用体的定义和共用体变量的引用
8.3.2 共用体类型数据的应用
8.4 枚举数据类型
8.5 用typedef定义类型
练习题8
第9章 位运算
9.1 C语言的位运算操作符
9.2 位运算
9.2.1 按位取反运算
9.2.2 按位与、或和异或运算
9.2.3 移位运算
9.2.4 其他说明
9.3 位段
9.3.1 位段的定义和位段变量说明
9.3.2 位段的应用
9.4 综合应用举例
练习题9
第10章 文件
lO.1 文件概述
10.1.1 文件的基本概念
10.1.2 数据文件的分类
10.1.3 文件操作规则
10.2 文件的基本操作步骤
10.2.1 文件操作实例
10.2.2 文件的操作步骤
10.3 文件的打开与关闭
10.3.1 打开文件
10.3.2 关闭文件
10.4 文件的读/写
10.4.1 文件按格式化方式读,写
10.4.2 向文件读/写一个字符
10.4.3 向文件读/写一个字符串
10.4.4 文件按数据块方式读/写
10.5 文件的定位
10.5.1 rewind函数
10.5.2 fseek函数和ftell函数
10.6 文件读/写的出错检测
10.6.1 ferror函数
10.6.2 clearerr函数
l0.7 综合应用举例
练习题10
第11章 C程序应用实例
11.1 用于描述数据结构的案例——链表
11.1.1 数据结构概述
11.1.2 链表的操作
11.1.3 链表的应用示例
11.2 系统功能调用
11.2.1 ROM—BIOS系统调用
11.2.2 DOS系统调用
11.3 端口控制
11.4 数值计算
11.5 图形程序设计
11.5.1 图形控制函数
11.5.2 基本作图函数
11.5.3 填充图形函数
11.5.4 视口、文字输出及屏幕图形的保存与恢复
11.5.5 简单的图形制作实例
11.6 C语言与汇编语言混合编程
11.6.1 在C程序中嵌入汇编语言代码
11.6.2 在C程序中调用汇编语言子程序
11.6.3 在汇编语言程序中调用C语言程序
附录A 基本ASCII码表
附录B C语言中的关键字
附录C C库函数
附录D C99标准
主要参考文献