《普通高等教育电气信息类规划教材:C语言程序设计》的最大特点是重视程序设计素质的培养。内容上以零程序设计为起点,采用VC++作为编译环境,强调案例式教学,着重于基础知识和能力的学习,特别是编程思维的引导和练习。
所有程序都按照结构化程序设计方法采用缩格方式编写。在内容安排上,作者匠心独运,体现了教学循序渐进,由浅入深的过程,很方便读者自学。
《普通高等教育电气信息类规划教材:C语言程序设计》内容包括:C语言与程序设计、数据和运算、基本程序设计、数组和字符串、指针、函数、C程序的模块化设计、构造数据类型、位运算、文件、C语言的其他应用及附录。
《普通高等教育电气信息类规划教材:C语言程序设计》可作为高等院校各专业、计算机水平考试、各类成人教育的教材,也可作为有关技术人员的参考用书。
计算机程序设计能力已成为各个行业技术人员所必备的基本功。作为一门优秀的面向过程的结构化程序设计高级语言,C语言的独特优势,使其成为国内外各高等院校开设的重要基础课程。
出版说明
前言
第1章 C语言与程序设计
1.1 语言和编程
1.2 算法、C语言和程序设计
1.2.1 算法和算法设计
1.2.2 C语言及其特点
1.2.3 用C语言编写程序实现算法
1.2.4 算法的3大要素
1.3 C程序的形式要点
1.4 C程序的开发过程
1.5 习题
第2章 数据和运算
2.1 C语言的基本数据类型
2.1.1 基本数据类型的类型名
2.1.2 类型修饰符
2.2 常量与变量
2.2.1 常量
2.2.2 变量及其数据类型
2.3 简单的输入输出
2.3.1 字符型数据的输入输出函数
2.3.2 简单的格式化输入输出函数
2.4 C语言的运算符和表达式
2.4.1 C运算符和表达式简介
2.4.2 算术运算符与算术表达式
2.4.3 赋值运算和赋值表达式
2.4.4 关系运算和关系表达式
2.4.5 逻辑运算和逻辑表达式
2.4.6 条件运算和条件表达式
2.4.7 逗号运算和逗号表达式
2.5 运算符的优先级和结合性
2.6 不同数据类型数据间的转换
2.6.1 表达式中的类型转换
2.6.2 强制类型转换
2.7 容易混淆或出错的C运算
2.8 习题
第3章 基本程序设计
3.1 C语句概述
3.1.1 C语言的基本语句
3.1.2 3种基本结构和流程控制语句
3.2 选择结构程序设计
3.2.1 if语句的3种形式
3.2.2 switch语句
3.2.3 程序举例
3.3 循环结构程序设计
3.3.1 for语句
3.3.2 while循环语句
3.3.3 do_while语句
3.3.4 循环的嵌套和break语句、continue语句
3.3.5 循环程序举例
3.4 goto语句和标号语句
3.4.1 goto语句和标号语句的使用
3.4.2 goto语句的副作用
3.5 综合示例
3.6 习题
第4章 数组和字符串
4.1 一维数组
4.1.1 一维数组的定义
4.1.2 一维数组的初始化
4.1.3 程序举例
4.2 字符数组和字符串
4.2.1 字符串及字符数组的定义
4.2.2 字符数组的初始化
4.2.3 字符数组的输入输出
4.2.4 字符串函数
4.2.5 字符数组和字符串应用举例
4.3 二维数组
4.3.1 二维数组的定义
4.3.2 二维数组的初始化
4.3.3 二维数组程序举例
4.4 多维数组
4.5 数组越界问题
4.6 综合示例
4.7 习题
第5章 指针
5.1 指针的概念
5.1.1 地址和指针
5.1.2 指针与指针变量
5.2 指针的定义和指针的初始化
5.2.1 指针变量的定义
5.2.2 指针的初始化
5.3 指针的运算
5.3.1 指针的算术运算
5.3.2 指针的关系运算
5.3.3 指针的赋值运算
5.4 指针和一维数组
5.4.1 建立指针与一维数组的联系
5.4.2 数组元素的引用
5.4.3 指针运算的副作用
5.5 字符指针和字符串
5.5.1 通过字符指针输出和引用字符串
5.5.2 用字符指针输入字符串
5.5.3 用字符指针处理字符串
5.6 二维数组与多维数组的指针表示法
5.6.1 二维数组的地址
5.6.2 指向多维数组元素的指针应用举例
5.7 指针数组和多级指针
5.7.1 指针数组的概念
5.7.2 字符指针数组和多个字符串的处理
5.8 多级指针
5.9 带参数的main函数
5.10 综合示例
5.11 习题
第6章 函数
6.1 C库函数
6.1.1 库函数及其使用
6.1.2 格式输入输出函数
6.2 函数的定义、声明与调用
6.2.1 函数的定义
6.2.2 函数的声明
6.2.3 函数的调用
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.1 内部变量、外部变量和变量的作用域
6.7.2 变量的存储类型和变量的生存周期
6.7.3 变量的存储属性小结
6.8 动态存储分配
6.8.1 申请动态内存
6.8.2 动态内存的重新分配
6.9 综合示例
6.10 习题
第7章 C程序的模块化设计
7.1 程序的模块化与模块化程序设计
7.1.1 概述
7.1.2 C语言模块化程序设计
7.1.3 源文件之间的接口
7.1.4 分割编译
7.2 VC++和Turbo C的程序模块化组织
7.2.1 Visual C++6.0的程序模块化组织
7.2.2 Turbo C的程序模块化组织
7.3 编译预处理
7.3.1 宏定义
7.3.2 文件包含
7.3.3 条件编译
7.4 综合示例
7.5 习题
第8章 构造数据类型
8.1 结构体数据
8.1.1 使用结构体类型要解决的问题
8.1.2 结构体类型的定义
8.1.3 结构体类型变量的定义和初始化
8.1.4 结构体类型变量的引用
8.1.5 结构体数组及指向结构体的指针
8.1.6 结构体与函数
8.2 结构体综合示例
8.3 共用体数据类型
8.3.1 共用体的定义
8.3.2 共用体的引用
8.4 枚举数据类型
8.4.1 枚举类型的定义
8.4.2 枚举类型的引用
8.5 用typedef定义类型名称
8.6 习题
第9章 位运算
9.1 位运算符
9.1.1 “按位与”运算符
9.1.2 “按位或”运算符
9.1.3 “按位异或”运算符
9.1.4 “按位取反”运算符
9.1.5 “位左移”运算符
9.1.6 “位右移”运算符
9.1.7 不同长度的数据进行位运算
9.2 位段
9.3 位运算举例
9.4 习题
第10章 文件
10.1 文件概述
10.1.1 C语言操作文件
10.1.2 文件类型指针
10.2 文件的打开与关闭
10.2.1 文件的打开
10.2.2 文件的关闭
10.3 文件的读写操作
10.3.1 字符读写函数fputc和fgetc
10.3.2 数据块读写函数fwrite和fread
10.3.3 格式化文件读写函数fprinff和fseanf
10.3.4 flputs函数和fgets函数
10.4 文件的定位
10.4.1 rewind函数
10.4.2 fseek函数
10.4.3 hell函数
10.5 出错检测
10.5.1 ferror函数
10.5.2 clearerr函数
10.6 综合示例
10.7 习题
第11章 C语言的其他应用
11.1 系统调用
11.1.1 ROM-BIOS系统调用
11.1.2 DOS系统调用
11.2 端口控制
11.3 C语言在单片机中的应用
11.3.1 Cx51支持的基本数据类型
11.3.2 单片机特殊功能寄存器(SFR)及其Cx51定义
11.3.3 中断服务函数和寄存器组定义
11.3.4 8051单片机C51编程举例
11.4 数值计算
11.5 C语言与汇编语言
11.5.1 C语言中嵌入汇编语言的目的
11.5.2 C程序中内嵌汇编指令行
11.5.3 C程序调用汇编子程序框架
11.5.4 参数传递和值的返回
附录
附录A 基本ASCII码表
附录B C语言中的关键字
附录C C库函数
附录D C99标准
参考文献