计算机程序c语言教材,C语言程序设计(高等学校计算机基础教育教材精选)

第1章 C语言概述1

1.1 程序与程序设计语言1

1.1.1 程序1

1.1.2 程序设计语言1

1.2 C语言简介5

1.2.1 C语言的发展概况5

1.2.2 C语言的特点5

1.2.3 怎样学好C语言6

1.3 C语言程序的基本结构6

1.3.1 C语言程序的一般形式6

1.3.2 简单的C语言程序7

1.3.3 C语言程序的编写要求9

1.3.4 C语言程序的执行过程9

1.4 C语言程序的开发环境10

1.4.1 Microsoft Visual C++ 6.0介绍10

1.4.2 Turbo C 2.0介绍15

1.5 结构化程序设计算法17

1.5.1 算法概述17

1.5.2 算法的表示18

习题19

第2章 数据与运算20

2.1 C语言的数据类型20

2.1.1 数据类型概述20

2.1.2 整型21

2.1.3 实型23

2.1.4 字符型24

2.2 标识符、常量与变量25

2.2.1 标识符25

2.2.2 常量26

2.2.3 变量27

2.3 运算符与表达式29

2.3.1 算术运算符和算术表达式30

2.3.2 赋值运算符和赋值表达式32

2.3.3 逗号运算符和逗号表达式33

2.3.4 关系运算符和关系表达式34

2.3.5 逻辑运算符和逻辑表达式35

2.3.6 条件运算符和条件表达式35

2.3.7 位运算符和位运算表达式35

2.4 数据类型转换37

2.4.1 类型自动转换37

2.4.2 赋值转换38

2.4.3 强制类型转换38

2.5 程序举例39

习题41

C语言程序设计目录

第3章 C程序的基本控制结构42

3.1 顺序结构42

3.1.1 C程序的语句42

3.1.2 赋值语句43

3.1.3 数据输出函数44

3.1.4 数据输入函数47

3.1.5 标准库函数51

3.1.6 顺序结构程序举例52

3.2 选择结构55

3.2.1 关系运算55

3.2.2 逻辑运算56

3.2.3 if语句57

3.2.4 switch语句64

3.2.5 选择结构程序举例66

3.3 循环结构70

3.3.1 while语句71

3.3.2 do-while语句71

3.3.3 for 语句72

3.3.4 循环的嵌套74

3.3.5 结束循环的语句75

3.3.6 循环结构程序举例76

习题78

学习记录80

中 级 篇第4章 数组82

4.1 一维数组82

4.1.1 一维数组的定义82

4.1.2 一维数组的引用83

4.1.3 一维数组初始化84

4.1.4 一维数组程序举例85

4.2 二维数组87

4.2.1 二维数组的定义87

4.2.2 二维数组的引用88

4.2.3 二维数组初始化89

4.2.4 二维数组程序举例90

4.3 字符数组92

4.3.1 字符数组的定义92

4.3.2 字符数组初始化93

4.3.3 字符数组的引用94

4.3.4 字符串94

4.3.5 字符数组的输入输出95

4.3.6 字符串处理函数96

4.3.7 字符数组程序举例100

习题101

第5章 函数102

5.1 函数的概念102

5.2 定义函数的一般形式103

5.3 函数的值和函数参数105

5.3.1 实际参数和形式参数105

5.3.2 函数的返回值106

5.4 函数的调用形式108

5.4.1 调用函数的一般形式108

5.4.2 调用函数的方式109

5.4.3 对被调用函数的原型声明109

5.5 函数的嵌套调用111

5.6 函数的递归调用113

5.7 数组作为函数参数114

5.7.1 数组元素作实参114

5.7.2 函数的形参和实参为数组名115

5.7.3 函数参数为二维数组名117

5.8 全局变量与局部变量119

5.8.1 局部变量119

5.8.2 全局变量120

5.9 变量的存储类别122

5.9.1 静态存储方式与动态存储方式122

5.9.2 自动型变量auto122

5.9.3 静态型变量static123

5.9.4 寄存器型变量register124

5.9.5 外部参照型变量extern125

5.9.6 用static声明外部变量127

5.10 外部函数与内部函数128

5.10.1 内部函数(又称静态函数)128

5.10.2 外部函数128

5.11 编译预处理129

5.11.1 宏定义129

5.11.2 文件包含132

5.11.3 条件编译133

习题135

学习记录137

高 级 篇第6章 指针140

6.1 指针的基本概念140

6.1.1 指针的概念140

6.2 指针变量的定义与引用141

6.2.1 指针变量的定义与初始化141

6.2.2 指针变量的赋值141

6.2.3 指针的运算及引用142

6.2.4 指针作为函数参数145

6.2.5 多级指针的概念146

6.3 指针与数组146

6.3.1 指针与一维数组146

6.3.2 指针与二维数组148

6.3.3 数组指针作函数的参数151

6.4 指向字符串的指针变量156

6.4.1 字符串的表示形式156

6.4.2 字符串作函数参数159

6.4.3 字符指针变量与字符数组的区别160

6.5 指针数组160

6.5.1 指针数组的一般定义形式160

6.5.2 指针数组的应用162

6.6 指针数组作main函数的形参164

6.6.1 带参数的main函数的一般形式164

6.6.2 命令行参数的应用165

6.7 指向指针的指针变量166

6.7.1 指向指针的指针变量的一般定义形式166

6.7.2 指向指针的指针变量的应用166

6.8 指向函数的指针变量168

6.8.1 指向函数的指针变量的一般定义形式168

6.8.2 利用函数指针变量调用函数169

6.8.3 指向函数的指针变量作为函数参数170

6.9 返回指针的函数172

6.9.1 返回指针的函数的定义形式172

6.9.2 返回指针的函数的应用172

6.10 指向void的指针变量173

6.11 指针程序举例174

6.12 指针的数据类型和指针运算的小结182

6.12.1 指针的数据类型的小结182

6.12.2 指针运算的小结182

习题184

第7章 结构体与共用体186

7.1 结构体186

7.1.1 结构体类型和结构体变量186

7.1.2 结构体类型的定义187

7.1.3 结构变量的定义187

7.2 结构体变量成员的引用方法190

7.2.1 结构体变量的引用190

7.2.2 结构体变量的赋值191

7.3 结构体变量的初始化191

7.4 结构体数组192

7.4.1 结构体数组的定义和初始化192

7.5 结构体指针194

7.5.1 结构体指针定义194

7.5.2 指向结构体数组的指针195

7.5.3 结构体在函数传递中的应用196

7.6 动态存储分配197

7.7 用结构体和指针处理链表199

7.7.1 链表的概念199

7.7.2 建立链表200

7.7.3 输出链表202

7.7.4 对链表的插入操作202

7.7.5 对链表的删除操作203

7.8 共用体208

7.8.1 共用体概念208

7.8.2 共用体类型的定义208

7.8.3 共用体变量的定义209

7.8.4 共用体变量成员的引用方法210

7.9 枚举类型211

7.9.1 枚举类型的定义211

7.9.2 枚举变量的说明211

7.9.3 枚举变量的赋值和使用212

7.10 类型定义符typedef213

7.10.1 典型用法214

7.10.2 典型类型的别名定义形式215

习题215

第8章 文件217

8.1 文件概述217

8.1.1 文件的基本知识217

8.1.2 文件类型指针218

8.2 文件的打开与关闭219

8.2.1 打开文件(fopen函数)219

8.2.2 关闭文件(fclose函数)220

8.3 文件的读写221

8.3.1 字符的输入输出221

8.3.2 字符串的输入输出223

8.3.3 文件的格式化输入输出(fprintf函数和fscanf函数)224

8.3.4 文件的数据块输入输出(fread函数和fwrite函数)224

8.4 文件的定位226

8.4.1 rewind函数226

8.4.2 fseek函数227

8.4.3 文件程序举例228

8.5 位运算与位运算符229

8.5.1 按位与运算符(&) 229

8.5.2 按位或运算符(|) 230

8.5.3 按位取反运算符(~) 230

8.5.4 按位异或运算符(^) 231

8.5.5 左移运算符(8.5.6 右移运算符(>>) 232

8.5.7 位运算赋值运算符233

8.5.8 位运算程序举例233

习题234

学习记录236

拓 展 篇第9章 C语言图形编程238

9.1 文本窗口238

9.1.1 文本窗口简介238

9.1.2 文本窗口编程举例240

9.2 图形编程241

9.2.1 图形编程方法241

9.2.2 图形编程应用举例244

9.3 综合案例248

9.3.1 草原风光248

9.3.2 梦中家乡248

9.3.3 文明城市249

9.3.4 足球比赛249

第10章 UNIX/Linux下C语言编程入门250

10.1 UNIX/Linux简介250

10.1.1 UNIX/Linux发展及特点250

10.1.2 基于Red Hat Linux的实验环境251

10.2 源程序编辑253

10.2.1 vi的工作状态及常用命令253

10.2.2 vi基本操作253

10.3 编译与调试254

10.3.1 使用GCC编译254

10.3.2 使用gdb调试256

10.4 操作举例257

10.4.1 基本操作举例257

10.4.2 高级操作举例258

学习记录261

附录A ASCII字符编码表262

附录B 运算符优先级和结合性264

附录C C语言语法概要266

附录D VC++ 6.0菜单中英文对照270

参考文献275

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 C程序设计筑基..........................................................................................................1 1.1 二进制基础.................................................................................................................1 1.1.1 为什么采用二进制.........................................................................................1 1.1.2 二进制、十六进制和八进制...........................................................................2 1.1.3 原码、反码与补码...........................................................................................4 1.1.4 模216原则.......................................................................................................7 1.1.5 浮点小数的二进制表示.................................................................................8 1.2 程序员眼中的计算机.................................................................................................9 1.2.1 数据在计算机中的存储形式.........................................................................9 1.2.2 计算机的运行方式与特点...........................................................................11 1.3 程序设计的方法......................................................................................................13 1.3.1 程序设计的两大要素...........................................................................13 1.3.2 算法的描述.......................................................................................15 1.3.3 流程的跟踪执行...........................................................................18 1.4 C程序初步......................................................................................................19 1.4.1 计算机语言分类...........................................................................19 1.4.2 C语言简史及特点.................................................................................20 1.4.3 C程序示例及组成...........................................................................21 1.5 C程序解题分析.................................................................................................25 1.5.1 详解判断素数程序.......................................................................................25 1.5.2 综合示例......................................................................................................32 1.5.3 C程序书写风格...........................................................................................34 1.6 编程学习方法总结...................................................................................................36 第二章 上机指导与解题分析..............................................................................................39 2.1 上机编程环境...........................................................................................................39 2.2 Turbo C集成开发环境............................................................................….............40 2.2.1 Turbo C集成开发环境介绍.........................................................................40 2.2.2 文本编辑..................................................................….............................42 2.2.3 编译和连接..........................................….....................................…............44 2.2.4 程序运行与调试..................................….....................................…............46 2.2.5 Turbo C环境设置..............................….....................................…............50 2.3 常见的变量类型、运算符及输入出格式.....…........................................…............50 2.4 程序举例.............................................…...................………..........….....…............52 2.5 Turbo C上机实验...............................….....…..……............…....….......…............59 第三章 基本数据类型、运算符与输入输出函数...….....…..…….…....…......…............67 3.1 基本数据类型...….....…..……………….....…....…..…....….......….......………....67 3.2 常量……………………..……………….............…...…..…....…….......………....67 3.2.1 整型常量…….…….……………........…....…..….........….......………....67 3.2.2 实型常量…..………………………….............…..….....….......………....68 3.2.3 字符常量…..…………………………….............…....….....…....…...…....68 3.2.4 字符串常量…..………………………….............…....….....…....…...…....69 3.2.5 符号常量…..…………………………….............…....….....…....…...…....69 3.3 变量…..…………………………………...........…………....….....….......……...70 3.3.1 C标识符……………………...........…………..........….......…….……...70 3.3.2 整型变量………………….....…......…………..........….......…………...70 3.3.3 实型变量….....……………………......…………..........….......………...71 3.3.4 字符型变量………………………………………......….....…………….71 3.3.5 变量的初始化………………...…......…………..........….......…………...72 3.4 C语言的运算符和表达式……………...........…………....…......….......……....72 3.4.1 算术运算符和算术表达式..………………….…....….....….......……...73 3.4.2 赋值运算符和赋值表达式………..……..……….…....….....…...……....74 3.4.3 关系运算符和关系表达式………….........…….…....….....….....……….74 3.4.4 逻辑运算符和逻辑表达式………....…...……….…....….....…...……....75 3.4.5 条件运算符和条件表达式………...........……….…....….....…...……....76 3.4.6 逗号运算符和逗号表达式………...........……….…....….....…...……....78 3.4.7 指针运算符………....………...……........……….…....….....…...……....78 3.4.8 sizeof运算符…………..………….........……….…....….....…...……....79 3.4.9 不同类型数据之间的转换………...........……….…....….....…...……....79 3.4.10 C运算符优先级和结合性………….......……….…....….....…...……....80 3.5 输入输出函数……………………………........…………....…......….......……....80 3.5.1 格式化输入输出函数..……………………….…....….....….......……...81 3.5.2 字符输入输出函数………..……………..……….…....….....…...……....84 第四章 语句与程序控制结构……………………………..........……….….........……....89 4.1 语句总述…………………………………….......…….…......….....….....….....…89 4.1.1 说明语句、表达式语句和空语句……………..........…….........………....89 4.1.2 控制语句………………………….........………....….....….....………....89 4.1.3 复合语句……….….……………….......……………....….....….......…....89 4.2 顺序结构…………………………………………......………......….......………..90 4.3 选择结构………….…………………………...........………....….....….......…....91 4.3.1 if语句…………….………….…..........…….…….....….......………..91 4.3.2 switch语句…………...........……………….……....….....….......………..95 4.4 循环结构…………………………………….......…….…......….....….....….....…100 4.4.1 while语句……………………………………..........…...........………....100 4.4.2 do-while语句…………………….........………....….....….....………....102 4.4.3 for语句……….….………………........……………....….....….......…....103 4.4.4 break语句……….….……………........……………....….....….......…....105 4.4.5 continue语句……….….…......……....……………....….....….......…....107 4.4.6 goto语句…………………….…..........……………....….....….......…....108 4.4.7 多重循环………………….….…..........……………....….....….......…....109 4.5 程序举例……….….………………..........…………………....…..............….......111 第五章 数组和字符串…..………………......……………...…………....…........……....117 5.1 一维数组…..………..…………....…........…………………...…........………....117 5.1.1 一维数组的定义和引用..………..…...........…………....…......………..117 5.1.2 一维数组初始化…..…………..…..…...........…………....…....………..118 5.1.3 程序举例…..………..…..…..…..……........…………....…......………....120 5.2 二维数组…………….........…..…..………………………………....…......…....127 5.2.1 二维数组的定义和引用…………..…...………………....…....………....127 5.2.2 二维数组初始化……………..…..………………………....…......…....128 5.2.3 程序举例…………………..………………………………………..…….129 5.3 字符串处理…………..…..…..…..…..….........……………………...…......…....133 5.3.1 字符数组与字符串………..…..…..…..……......………….…....…..…....133 5.3.2 字符串的输入和输出…………….......…..…...……………......…..…....133 5.3.3 字符串处理函数….………….....…………………………....…....……...136 5.3.4 程序举例…….........……..…..………………………....…...…...……...138 第六章 函数..…..……....…......……………………………...………….………………...144 6.1 模块化程序设计思想…….........…………………..…………....…......………..144 6.2 模块设计举例.........……………………………………………..…….......……...144 6.3 函数概念….........……………………………………….……....…......………..145 6.3.1 函数定义….........……………………………..…..……....…......……...145 6.3.2 函数说明和函数调用……………………….…….……....….....………..146 6.3.3 形参与实参...………………………………..…….……....….....……...149 6.3.4 函数返回值.......……………………………..…..……....…......………..150 6.3.5 传值与传址...………………………………..…….……....….....……...151 6.3.6 数组作为函数的参数的例子……………………….……....….....……...152 6.4 函数的嵌套........……………………………....…......…………………………...153 6.5 函数的递归………..…..………….…………...….......………………………...155 6.6 变量作用域和存储类别………..…..………………….…………………………160 6.6.1 局部变量和全局变量…….……….....…………………….……………..160 6.6.2 变量存储类别…..…..……....…......……………………….……………..161 6.7 使用库函数………..…..…………………………...……………………………162 6.8 程序举例………..…..……………………………………………...……………165 第七章 指针..…..……....…......……………………...………….………………...170 7.1 指针概念..…..……....…......………………………………….……………...170 7.2 指针变量的定义和使用..………….....…......………….……….………....172 7.3 指针与一维数组……......…......………………….……………………..….....175 7.3.1 一维数组的内存安排…......…………......….….…...…………..………..175 7.3.2 指向数组的指针运算...…………...…………….……….…………..…...176 7.3.3 下标法与指针法表示的等价性…….....…...…………………….………...178 7.3.4 程序举例……………….……………….………..…..……….……….....179 7.4 指针与函数……......…......…………….…………………………………..….....181 7.4.1 指针作为函数参数…......…………......….….……...…………..………..181 7.4.2 指针做为函数返回类型...…………...………….……….…………..…...184 7.4.3 动态内存分配与释放函数…….....…...…………......………….………...185 7.4.4 函数指针……………….……………….………..…..……….……….....187 7.5 指针数组、多级指针与指向一维数组的指针………….……………………..….....189 7.5.1 指针数组与多级指针…......…………......….….…...…………..………..189 7.5.2 二维数组与指向一维数组的指针...………….……….…………..…...191 7.5.3 二维数据的构造举例…….....…...……………......………….………...193 7.6 指针与字符串……......…......…………….…………………………………..….....194 7.6.1 字符串的内存安排…......…………......….….……...…………..………..194 7.6.2 字符串处理程序举例...…………...………….………….…………..…...196 7.6.3 多字符串的表示与处理…….....…...……………......………….………...198 7.6.4 程序举例……………….……………….………..…..……….……….....202 7.6.5 命令行参数…………….……………….………..…..……….……….....207 第八章 结构体、联合与枚举..……………......……………...…………....…........……....211 8.1 概述…..………………………....……........…………………...…........………....211 8.2 结构体类型定义………….........…..………………………………....…......…....211 8.3 结构体变量………….........………………………………………....…......…....212 8.3.1 结构体变量的定义…………………...………………....…....………....212 8.3.2 结构体变量的引用…………..…….………………………....…......…....214 8.3.3 结构体变量初始化………..……………………………………..……….215 8.4 结构体数组…………..…..…..…..…..……......……………………...…......…....216 8.4.1 结构体数组的定义………..…..……..……......………….…....…..…....216 8.4.2 结构体数组初始化与引用…………….......…..……………......…..…....217 8.4.3 结构体数组的输入和输出.………….....…………………....…....……...217 8.5 指向结构体类型数据的指针……..…..……....……………………...…......…....218 8.5.1 定义和初始化………..…..…..…..……………..………….…....…..…....219 8.5.2 用结构体指针引用结构体成员…………….......…………......…..…....219 8.5.3 指向结构体数组的指针.………….....…………………....……………...219 8.6 结构体与函数…………..…..…..…..…..…......……………………...…......…....221 8.6.1 向函数传递结构信息………..…..…..…..……………….…....…..…....221 8.6.2 结构体指针作为函数返回值…………….......…..…………......…..…....223 8.7 单链表……..……………………………........……………………...…......…....225 8.7.1 概述………..…..…..…..……………………......………….…....…..…....225 8.7.2 结点定义…………….......…………………………………......…..…....226 8.7.3 建立链表.………….....……………………………………....…....……...226 8.7.4 输出链表.………….....……………………………………....…....……...233 8.7.5 插入结点.………….....……………………………………....…....……...234 8.7.6 删除结点.………….....……………………………………....…....……...236 8.7.7 程序举例.………….....……………………………………....…....……...238 8.7.8 其他链表结构………….....…………………....………………….……...242 8.8 联合与枚举……..…..………………………....……………………...…......…....244 8.8.1 联合类型………..…..…..…………………......………….…....…..…....244 8.8.2 枚举类型…………….......…………………………………......…..…....246 8.8.3 复杂类型举例………….....………………………………....…....……...248 8.9 用typedef定义类型……..…..…........……………………………...…......…....250 第九章 文件…..…………………………......……………...…………....…........……....252 9.1 文件概述…..………..……………..…........…………………...…........………....252 9.2 文件打开和关闭..……….………………………......…………....…......………..252 9.3 文本文件的输入与输出….........…..………………………………....…......…....255 9.3.1 读写一个字符的函数…………..……………………....…....………....255 9.3.2 字符串读写函数…………..…..…………………………....…......…....256 9.3.3 格式化读写函数……………..…………....……………………...……...258 9.4 二进制文件的输入与输出…..…..…...….........……………………...…......…....261 9.5 其他文件库函数…..…..…...…................………........……………...…......…....264 9.5.1 文件的定位函数……….....…..…..…..……......………….…....…..…....264 9.5.2 出错监测函数…………….......…..…...………………………......……...265 第十章 预处理和位运算..…………………....……………...…………....…........……....267 10.1 预处理…..……………………..……........…………………...…........………....267 10.1.1 概述………..…..…..………………………......………….…....…..…....267 10.1.2 宏定义……..…..…..…..…………………......………….…....…..…....267 10.1.3 文件包含…..…..…..…..…………………......………….…....…..…....270 10.1.4 条件编译…..…..………..…………………......………….…....…..…....271 10.2 位运算………….........…..………………………………………....…......…....272 附录Ⅰ 常用ASCII码对照表…………………………………………………………….278 附录Ⅱ C语言的关键字表…......…………………...…………….…….….………….....279 附录Ⅲ C语言的运算符表.......…………………………...…………….……..……..…..280 附录Ⅳ C常用的库函数…......…....…………..……………………...….….…..…….....281 参考资料…......…....…………..…..…..…..…..…..…………………...….….…..…….....284
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值