书籍详情
C程序设计(第2版)
作者:田淑清[等]编著
出版社:电子工业出版社
出版时间:2003-08-01
ISBN:9787505389960
定价:¥24.00
购买这本书可以去
内容简介
本书分三部分讲解,首先介绍了三种数据类型的输入和输出,使之尽快用C语言编程上机实践。而后介绍函数初步知识,并运用函数来完成各种练习。第二部分引进了指针及数组,并进一步讨论了各种复杂的数据结构,列举了最常见的一些算法。第三部分介绍了用户标识符的作用域、编译预处理、在终端上按格式进行输入和输出等。本书是高等学校电子信息类专业的教学用书。通过本书的学习,学生能够应用C语言进行初步的程序设计。本书分为三个部分。第一部分介绍了三种数据类型的输入和输出,使之尽快用C语言编程上机实践。而后介绍函数初步知识,并运用函数来完成各种练习。第二部分引进了指针及数组,并进一步讨论了各种复杂的数据结构,列举了最常见的一些算法。第三部分介绍了用户标识符的作用域、编译预处理、在终端上按格式进行输入和输出等。书可作为大专院校电子信息类专业的教材,也可供其他相关专业学生及自学者参考。
作者简介
暂缺《C程序设计(第2版)》作者简介
目录
第1章 C 程序设计的初步知识
1.1 简单 C 程序的组成和格式
1.2 十进制整型数和实型数
1.2.1 常量
1.2.2 十进制整型常量
1.2.3 浮点常量
1.2.4 用定义一个符号名的方法来代表一个常量
1.3 标识符
1.3.1 关键字
1.3.2 预定义标识符
1.3.3 用户标识符
1.4 整型变量和实型变量
1.4.1 变量
1.4.2 整型变量
1.4.3 浮点型变量
1.4.4 给变量置初值
1.4.5 定义不可变的变量
1.5 可进行算术运算的表达式
1.5.1 基本的算术运算符
1.5.2 运算符的优先级与结合性和算术表达式
1.5.3 强制类型转换表达式
1.6 赋值表达式
1.6.1 赋值运算符和赋值表达式
1.6.2 复合的赋值表达式
1.6.3 赋值运算中的类型转换
1.7 自加、自减运算符和逗号运算符
1.7.1 自加运算符(++)和自减运算符(--)
1.7.2 逗号运算符和逗号表达式
习题
第2章 简单的C语句及其顺序程序结构
2.1 赋值语句
2.2 整型数和实型数的简单输入和输出语句
2.2.1 调用 printf 函数输出数据到终端
2.2.2 调用 scanf 函数从终端键盘输入数据
2.3 复合语句和空语句
2.3.1 复合语句
2.3.2 空语句
习题
第3章 分支结构
3.1 关系运算和逻辑运算
3.1.1 C 语言中的逻辑值
3.1.2 关系运算符和关系表达式
3.1.3 逻辑运算符和逻辑表达式
3.2 用if 语句构成的分支结构
3.2.1 if 语句
3.2.2 嵌套的 if 语句
3.3 由条件表达式构成的分支结构
3.4 由switch 语句和 break 语句构成的分支结构
3.4.1 switch 语句
3.4.2 switch 语句的执行过程
3.4.3 在 switch 语句体中使用 break 语句
习题
第4章 循环结构4
4.1 用for语句构成的循环结构
4.1.1 for 循环的一般形式
4.1.2 for 循环的执行过程
4.1.3 有关 for 语句的说明
4.2 用while 语句构成的循环结构
4.2.1 while 循环的一般形式
4.2.2 while 循环的执行过程
4.3 用do-while语句构成的循环结构
4.3.1 do-while 循环的一般形式
4.3.2 do-while 循环的执行过程
4.4 循环结构的嵌套
4.5 几种循环结构的比较
4.6 break 和 continue 语句在循环体中的作用
4.6.1 break 语句
4.6.2 continue 语句
4.7 语句标号和 goto 语句
4.7.1 语句标号
4.7.2 goto 语句
4.8 程序举例
习题
第5章 函数的初步知识
5.1 库函数
5.2 函数的定义和返回值
5.2.1 函数定义的语法
5.2.2 函数的返回值
5.3 函数的调用
5.3.1 函数的两种调用方式
5.3.2 函数调用时的语法要求
5.4 调用函数和被调用函数之间的数据传递
5.5 函数原型的说明
5.5.1 函数原型的说明语句
5.5.2 函数原型说明语句的位置
5.6 程序举例
习题
第6章 算法和结构化程序设计
6.1 程序和程序设计
6.1.1 程序
6.1.2 程序设计
6.2 算法
6.3 结构化程序设计和模块化结构
6.3.1 结构化程序
6.3.2 模块化结构
6.4 怎样评价一个程序
习题
第7章 字符数据和字符数据处理
7.1 字符常量
7.1.1 常规字符常量
7.1.2 转义字符常量
7.1.3 可对字符量进行的运算
7.2 字符变量
7.3 字符的输入和输出
7.3.1 调用 printf 和 scanf 函数
7.3.2 调用 putchar 和 getchar 函数
7.3.3 调用 getche 和 putche 函数
7.3.4 调用 getch 和 putch 函数
7.4 程序举例
习题
第8章 地址和指针
8.1 什么是地址?什么是指针?
8.2 指针变量的定义和指针变量的基类型
8.3 给指针变量赋值
8.3.1 使指针指向一个对象
8.3.2 给指针变量赋“空”值
8.4 对指针变量的操作
8.4.1 通过指针或地址来引用一个存储单元
8.4.2 移动指针
8.4.3 指针比较
8.5 函数之间地址值的传递
8.5.1 地址或指针变量作为实参
8.5.2 在被调用函数中直接改变调用函数中的变量的值
8.5.3 函数返回地址值
习题
第9章 一维数组
9.1 一维数组的定义和一维数组元素的引用
9.1.1 一维数组的定义
9.1.2 一维数组元素的引用
9.1.3 一维数组的初始化
9.1.4 通过赋初值定义数组的大小
9.2 一维数组的应用举例(一)
9.3 一维数组和指针
9.3.1 一维数组和数组元素的地址
9.3.2 通过数组的首地址引用数组元素
9.3.3 通过指针来引用一维数组元素
9.3.4 用指针带下标的形式引用一维数组元素
9.4 一维数组名或数组元素作实参
9.4.1 数组元素作实参
9.4.2 数组名作实参
9.4.3 数组元素地址作为实参
9.5 一维数组应用举例(二)
习题
第10章 二维数组
10.1 二维数组的定义和二维数组元素的引用
10.1.1 二维数组的定义
10.1.2 二维数组元素的引用
10.1.3 二维数组的初始化
10.1.4 通过赋初值定义二维数组的大小
10.2 二维数组的应用举例(一)
10.3 二维数组和指针
10.3.1 二维数组和数组元素的地址
10.3.2 通过地址来引用二维数组元素
10.3.3 通过建立指针数组来引用二维数组元素
10.3.4 通过建立行指针来引用二维数组元素
10.4 通过建立指针数组和一维数组来构造二维数组
10.5 二维数组名和指针数组作为实参
10.5.1 二维数组名作为实参
10.5.2 指针数组作为实参
10.6 二维数组应用举例(二)
习题
第11章 字符串
11.1 用一维字符数组来存放字符串
11.1.1 通过赋初值的方式给一维字符数组赋字符串
11.1.2 在 C 程序执行过程中给一维字符数组赋字符串
11.2 使用指针指向一个字符串
11.2.1 通过赋初值的方式使指针指向字符串
11.2.2 通过赋值运算使指针指向字符串
11.2.3 用字符数组作为字符串和用指针指向的字符串之间的区别
11.3 字符串的输入和输出
11.3.1 输入和输出字符串时的必要条件
11.3.2 逐个字符输入和输出
11.3.3 用格式说明符“%s”进行整串输入和输出
11.3.4 调用 gets和puts 函数在终端按行输入输出字符
11.4 字符串数组
11.5 用于字符串处理的函数
11.6 程序举例
习题
第12章 对函数的进一步讨论
12.1 传给 main ( ) 函数的参数
12.2 通过实参向函数传递函数名或指向函数的指针
12.3 函数的递归调用
习题
第13章 C语言中用户标识符的作用域和存储类
13.1 内部变量、外部变量和存储分类
13.1.1 用户标识符的作用域
13.1.2 内部变量、外部变量和存储分类
13.2 内部变量及其作用域和生存期
13.2.1 auto 变量
13.2.2 register 变量
13.2.3 静态存储类的内部变量
13.3 外部变量及其作用域和生存期
13.3.1 外部变量的作用域和生存期
13.3.2 在同一编译单位内使用extern说明符
13.3.3 在不同编译单位内使用extern说明符
13.3.4 静态外部变量
13.4 函数的存储分类
13.4.1 用 extern 说明函数
13.4.2 用 static 说明函数
13.5 在 Turbo C 集成环境下连接多个编译单位的方法
习题S
第14章 编译预处理
14.1 宏替换S
14.1.1 不带参数的宏定义
14.1.2 带参数的宏定义
14.1.3 终止宏定义
14.2 文件包含
14.3 条件编译
14.4 #line 行
习题
第15章 动态存储分配
15.1 malloc 函数和 free 函数
15.2 calloc 函数
15.3 realloc 函数
习题
第16章 结构体类型和用户定义类型
16.1 用 typedef 说明一种新类型名
16.2 结构体类型
16.3 结构体类型的说明
16.4 结构体类型的变量、数组和指针的定义
16.5 给结构体变量、数组赋初值
16.6 引用结构体类型变量中的数据
16.7 通过结构体组成较复杂的存储结构
16.8 函数之间结构体变量的数据传递
16.8.1 向函数传递结构体变量的成员
16.8.2 向函数传递结构体变量
16.8.3 传递结构体的地址
16.8.4 函数值为结构体类型
16.8.5 函数的返回值可以是指向结构体变量的指针类型
16.9 利用结构体变量构成链表
16.9.1 结构体中含有可以指向本结构体的指针成员
16.9.2 动态链表的概念
16.9.3 单向链表
16.9.4 单向环形链表
16.9.5 双向链表
习题
第17章 C 语言中的整型数和整型变量
17.1 十进制数和二、八、十六进制数之间的转换
17.1.1 十进制数和二进制数之间的转换
17.1.2 十进制数和八进制数之间的转换
17.1.3 十进制数和十六进制数之间的转换
17.1.4 二进制数与八进制数、十六进制数间的转换
17.2 整数在内存中的存储形式
17.2.1 正整数
17.2.2 负整数
17.2.3 无符号整数
17.3 C 语言中的整数类型
17.4 C 语言中的整数类型之间的转换
习题
第18章 共用体、位段结构和枚举类型
18.1 共用体
18.1.1 共用体类型的说明和变量定义
18.1.2 共用体变量的引用
18.1.3 共用体应用举例
18.2 位段结构
18.3 枚举类型
习题
第19章 位运算
19.1 位运算符和位运算
19.1.1 位运算符
19.1.2 位运算符的运算功能
19.2 位运算的简单应用
习题
第20章 在终端上按格式进行数据的输入和输出
20.1 调用 printf( ) 在终端上按格式进行数据的输出
20.1.1 printf( ) 函数的一般调用形式
20.1.2 printf ( ) 函数中常用的格式说明
20.1.3 调用 printf ( 函数时的注意事项
20.2 调用 scanf( ) 在终端上按格式进行数据的输入
20.2.1 scanf( ) 函数的一般调用形式
20.2.2 scanf ( ) 函数中常用的格式说明
20.2.3 通过 scanf 函数从键盘输入数据
习题
第21章 文件
21.1 文件的概念
21.2 文件指针
21.3 打开文件
21.4 关闭文件
21.5 getc(fgetc)函数和putc(fputc)函数
21.6 判文件结束函数 feof
21.7 fscanf 函数和fprintf函数
21.8 fgets函数和fputs函数
21.9 fread函数和fwrite函数
21.10 文件定位函数
21.10.1 fseek函数
21.10.2 ftell函数
21.10.3 rewind 函数
习题
附录
附录A C 语言的关键字
附录B 双目算术运算中两边运算量类型转换规律
附录C 运算符的优先级和结合性
附录D 常用字符与 ASC II代码对照表
附录E Turbo C 2.0 常用库函数
附录F 简单的上机操作和程序的调试
参考文献
1.1 简单 C 程序的组成和格式
1.2 十进制整型数和实型数
1.2.1 常量
1.2.2 十进制整型常量
1.2.3 浮点常量
1.2.4 用定义一个符号名的方法来代表一个常量
1.3 标识符
1.3.1 关键字
1.3.2 预定义标识符
1.3.3 用户标识符
1.4 整型变量和实型变量
1.4.1 变量
1.4.2 整型变量
1.4.3 浮点型变量
1.4.4 给变量置初值
1.4.5 定义不可变的变量
1.5 可进行算术运算的表达式
1.5.1 基本的算术运算符
1.5.2 运算符的优先级与结合性和算术表达式
1.5.3 强制类型转换表达式
1.6 赋值表达式
1.6.1 赋值运算符和赋值表达式
1.6.2 复合的赋值表达式
1.6.3 赋值运算中的类型转换
1.7 自加、自减运算符和逗号运算符
1.7.1 自加运算符(++)和自减运算符(--)
1.7.2 逗号运算符和逗号表达式
习题
第2章 简单的C语句及其顺序程序结构
2.1 赋值语句
2.2 整型数和实型数的简单输入和输出语句
2.2.1 调用 printf 函数输出数据到终端
2.2.2 调用 scanf 函数从终端键盘输入数据
2.3 复合语句和空语句
2.3.1 复合语句
2.3.2 空语句
习题
第3章 分支结构
3.1 关系运算和逻辑运算
3.1.1 C 语言中的逻辑值
3.1.2 关系运算符和关系表达式
3.1.3 逻辑运算符和逻辑表达式
3.2 用if 语句构成的分支结构
3.2.1 if 语句
3.2.2 嵌套的 if 语句
3.3 由条件表达式构成的分支结构
3.4 由switch 语句和 break 语句构成的分支结构
3.4.1 switch 语句
3.4.2 switch 语句的执行过程
3.4.3 在 switch 语句体中使用 break 语句
习题
第4章 循环结构4
4.1 用for语句构成的循环结构
4.1.1 for 循环的一般形式
4.1.2 for 循环的执行过程
4.1.3 有关 for 语句的说明
4.2 用while 语句构成的循环结构
4.2.1 while 循环的一般形式
4.2.2 while 循环的执行过程
4.3 用do-while语句构成的循环结构
4.3.1 do-while 循环的一般形式
4.3.2 do-while 循环的执行过程
4.4 循环结构的嵌套
4.5 几种循环结构的比较
4.6 break 和 continue 语句在循环体中的作用
4.6.1 break 语句
4.6.2 continue 语句
4.7 语句标号和 goto 语句
4.7.1 语句标号
4.7.2 goto 语句
4.8 程序举例
习题
第5章 函数的初步知识
5.1 库函数
5.2 函数的定义和返回值
5.2.1 函数定义的语法
5.2.2 函数的返回值
5.3 函数的调用
5.3.1 函数的两种调用方式
5.3.2 函数调用时的语法要求
5.4 调用函数和被调用函数之间的数据传递
5.5 函数原型的说明
5.5.1 函数原型的说明语句
5.5.2 函数原型说明语句的位置
5.6 程序举例
习题
第6章 算法和结构化程序设计
6.1 程序和程序设计
6.1.1 程序
6.1.2 程序设计
6.2 算法
6.3 结构化程序设计和模块化结构
6.3.1 结构化程序
6.3.2 模块化结构
6.4 怎样评价一个程序
习题
第7章 字符数据和字符数据处理
7.1 字符常量
7.1.1 常规字符常量
7.1.2 转义字符常量
7.1.3 可对字符量进行的运算
7.2 字符变量
7.3 字符的输入和输出
7.3.1 调用 printf 和 scanf 函数
7.3.2 调用 putchar 和 getchar 函数
7.3.3 调用 getche 和 putche 函数
7.3.4 调用 getch 和 putch 函数
7.4 程序举例
习题
第8章 地址和指针
8.1 什么是地址?什么是指针?
8.2 指针变量的定义和指针变量的基类型
8.3 给指针变量赋值
8.3.1 使指针指向一个对象
8.3.2 给指针变量赋“空”值
8.4 对指针变量的操作
8.4.1 通过指针或地址来引用一个存储单元
8.4.2 移动指针
8.4.3 指针比较
8.5 函数之间地址值的传递
8.5.1 地址或指针变量作为实参
8.5.2 在被调用函数中直接改变调用函数中的变量的值
8.5.3 函数返回地址值
习题
第9章 一维数组
9.1 一维数组的定义和一维数组元素的引用
9.1.1 一维数组的定义
9.1.2 一维数组元素的引用
9.1.3 一维数组的初始化
9.1.4 通过赋初值定义数组的大小
9.2 一维数组的应用举例(一)
9.3 一维数组和指针
9.3.1 一维数组和数组元素的地址
9.3.2 通过数组的首地址引用数组元素
9.3.3 通过指针来引用一维数组元素
9.3.4 用指针带下标的形式引用一维数组元素
9.4 一维数组名或数组元素作实参
9.4.1 数组元素作实参
9.4.2 数组名作实参
9.4.3 数组元素地址作为实参
9.5 一维数组应用举例(二)
习题
第10章 二维数组
10.1 二维数组的定义和二维数组元素的引用
10.1.1 二维数组的定义
10.1.2 二维数组元素的引用
10.1.3 二维数组的初始化
10.1.4 通过赋初值定义二维数组的大小
10.2 二维数组的应用举例(一)
10.3 二维数组和指针
10.3.1 二维数组和数组元素的地址
10.3.2 通过地址来引用二维数组元素
10.3.3 通过建立指针数组来引用二维数组元素
10.3.4 通过建立行指针来引用二维数组元素
10.4 通过建立指针数组和一维数组来构造二维数组
10.5 二维数组名和指针数组作为实参
10.5.1 二维数组名作为实参
10.5.2 指针数组作为实参
10.6 二维数组应用举例(二)
习题
第11章 字符串
11.1 用一维字符数组来存放字符串
11.1.1 通过赋初值的方式给一维字符数组赋字符串
11.1.2 在 C 程序执行过程中给一维字符数组赋字符串
11.2 使用指针指向一个字符串
11.2.1 通过赋初值的方式使指针指向字符串
11.2.2 通过赋值运算使指针指向字符串
11.2.3 用字符数组作为字符串和用指针指向的字符串之间的区别
11.3 字符串的输入和输出
11.3.1 输入和输出字符串时的必要条件
11.3.2 逐个字符输入和输出
11.3.3 用格式说明符“%s”进行整串输入和输出
11.3.4 调用 gets和puts 函数在终端按行输入输出字符
11.4 字符串数组
11.5 用于字符串处理的函数
11.6 程序举例
习题
第12章 对函数的进一步讨论
12.1 传给 main ( ) 函数的参数
12.2 通过实参向函数传递函数名或指向函数的指针
12.3 函数的递归调用
习题
第13章 C语言中用户标识符的作用域和存储类
13.1 内部变量、外部变量和存储分类
13.1.1 用户标识符的作用域
13.1.2 内部变量、外部变量和存储分类
13.2 内部变量及其作用域和生存期
13.2.1 auto 变量
13.2.2 register 变量
13.2.3 静态存储类的内部变量
13.3 外部变量及其作用域和生存期
13.3.1 外部变量的作用域和生存期
13.3.2 在同一编译单位内使用extern说明符
13.3.3 在不同编译单位内使用extern说明符
13.3.4 静态外部变量
13.4 函数的存储分类
13.4.1 用 extern 说明函数
13.4.2 用 static 说明函数
13.5 在 Turbo C 集成环境下连接多个编译单位的方法
习题S
第14章 编译预处理
14.1 宏替换S
14.1.1 不带参数的宏定义
14.1.2 带参数的宏定义
14.1.3 终止宏定义
14.2 文件包含
14.3 条件编译
14.4 #line 行
习题
第15章 动态存储分配
15.1 malloc 函数和 free 函数
15.2 calloc 函数
15.3 realloc 函数
习题
第16章 结构体类型和用户定义类型
16.1 用 typedef 说明一种新类型名
16.2 结构体类型
16.3 结构体类型的说明
16.4 结构体类型的变量、数组和指针的定义
16.5 给结构体变量、数组赋初值
16.6 引用结构体类型变量中的数据
16.7 通过结构体组成较复杂的存储结构
16.8 函数之间结构体变量的数据传递
16.8.1 向函数传递结构体变量的成员
16.8.2 向函数传递结构体变量
16.8.3 传递结构体的地址
16.8.4 函数值为结构体类型
16.8.5 函数的返回值可以是指向结构体变量的指针类型
16.9 利用结构体变量构成链表
16.9.1 结构体中含有可以指向本结构体的指针成员
16.9.2 动态链表的概念
16.9.3 单向链表
16.9.4 单向环形链表
16.9.5 双向链表
习题
第17章 C 语言中的整型数和整型变量
17.1 十进制数和二、八、十六进制数之间的转换
17.1.1 十进制数和二进制数之间的转换
17.1.2 十进制数和八进制数之间的转换
17.1.3 十进制数和十六进制数之间的转换
17.1.4 二进制数与八进制数、十六进制数间的转换
17.2 整数在内存中的存储形式
17.2.1 正整数
17.2.2 负整数
17.2.3 无符号整数
17.3 C 语言中的整数类型
17.4 C 语言中的整数类型之间的转换
习题
第18章 共用体、位段结构和枚举类型
18.1 共用体
18.1.1 共用体类型的说明和变量定义
18.1.2 共用体变量的引用
18.1.3 共用体应用举例
18.2 位段结构
18.3 枚举类型
习题
第19章 位运算
19.1 位运算符和位运算
19.1.1 位运算符
19.1.2 位运算符的运算功能
19.2 位运算的简单应用
习题
第20章 在终端上按格式进行数据的输入和输出
20.1 调用 printf( ) 在终端上按格式进行数据的输出
20.1.1 printf( ) 函数的一般调用形式
20.1.2 printf ( ) 函数中常用的格式说明
20.1.3 调用 printf ( 函数时的注意事项
20.2 调用 scanf( ) 在终端上按格式进行数据的输入
20.2.1 scanf( ) 函数的一般调用形式
20.2.2 scanf ( ) 函数中常用的格式说明
20.2.3 通过 scanf 函数从键盘输入数据
习题
第21章 文件
21.1 文件的概念
21.2 文件指针
21.3 打开文件
21.4 关闭文件
21.5 getc(fgetc)函数和putc(fputc)函数
21.6 判文件结束函数 feof
21.7 fscanf 函数和fprintf函数
21.8 fgets函数和fputs函数
21.9 fread函数和fwrite函数
21.10 文件定位函数
21.10.1 fseek函数
21.10.2 ftell函数
21.10.3 rewind 函数
习题
附录
附录A C 语言的关键字
附录B 双目算术运算中两边运算量类型转换规律
附录C 运算符的优先级和结合性
附录D 常用字符与 ASC II代码对照表
附录E Turbo C 2.0 常用库函数
附录F 简单的上机操作和程序的调试
参考文献
猜您喜欢