《C语言程式设计与项目实践》是2011年电子工业出版社出版的图书,作者是郭旭文。
本书讲解知识全面、重点突出,其中覆盖了基于VisualC++6.0环境的C开发中的各个方面,通过本书可以使C语言的初学者和大中专学生轻鬆入门,并且全面了解C语言的套用方向和重点掌握重点内容,从而为进一步学习C语言提供坚实基础。本书内容包括C语言开发环境,数据类型,运算符,控制语句,输入与输出,数组,函式,指针,结构体与共用体,鍊表,编译预处理,档案,字元串处理,调试,软体测试,常用算法,以及C语言实际套用和工程套用等。
基本介绍
- 书名:C语言程式设计与项目实践
- 作者:郭旭文
- 出版社:电子工业出版社
- 出版时间:2011年6月1日
图书信息
书 名: C语言程式设计与项目实践
作 者:郭旭文
出版社: 电子工业出版社
出版时间: 2011年6月1日
ISBN: 9787121137570
开本: 16开
定价: 65.00元
内容简介
本书讲解知识全面、重点突出,其中覆盖了基于VisualC++6.0环境的C开发中的各个方面,通过本书可以使C语言的初学者和大中专学生轻鬆入门,并且全面了解C语言的套用方向和重点掌握重点内容,从而为进一步学习C语言提供坚实基础。本书内容包括C语言开发环境,数据类型,运算符,控制语句,输入与输出,数组,函式,指针,结构体与共用体,鍊表,编译预处理,档案,字元串处理,调试,软体测试,常用算法,以及C语言实际套用和工程套用等,最后通过各种实际套用的例子讲解如何使用C语言解决生活中的问题以及如何使用C语言进行工程项目开发。
图书目录
第1章 C语言开发环境简介1
1.1 C语言发展历史 1
1.2 C语言的特点2
1.3 C语言的广泛套用 3
1.4 Visual C++ 6.0开发环境概述 4
1.4.1 Visual C++ 6.0 开发环境安装4
1.4.2 Visual C++ 6.0 开发环境介绍8
1.5 Visual C++6.0下创建开发项目 10
1.5.1 Visual C++ 6.0下创建工程项目10
1.5.2 Visual C++ 6.0 下C原始码创建12
实训1.1——一个经典的C语言程式15
1.6 疑难解答和上机题 16
1.6.1 疑难解答16
1.6.2 上机题18
第2章 基本数据类型19
2.1 数据类型概述 19
2.2 进制换算 20
2.2.1 进位计数制概述20
2.2.2 二进制与其他进制转换20
2.2.3 八进制与其他进制转换22
2.2.4 十六进制与其他进制转换23
2.2.5 十进制与二进制的转换24
2.2.6 机器数及其在记忆体中存储格式25
2.3 常量 26
2.3.1 整型常量26
2.3.2 实型常量27
2.3.3 字元常量28
2.3.4 字元串常量29
2.4 变数 30
2.4.1 变数与记忆体结构30
2.4.2 变数的定义31
2.4.3 整型变数33
2.4.4 实型变数34
2.4.5 字元变数35
2.5 枚举 36
2.5.1 枚举的定义36
2.5.2 枚举变数的定义与使用36
2.6 疑难解答和上机题 38
2.6.1 疑难解答38
2.6.2 上机题40
第3章 运算符和表达式43
3.1 运算符与表达式的分类 43
3.1.1 运算符的分类43
3.1.2 表达式的分类45
3.2 运算符的优先权与结合性 46
3.3 赋值运算符与赋值表达式 48
3.4 算术运算符与算术表达式 50
3.4.1 算术运算符与数据类型50
实训3.1——计算圆柱体体积51
3.4.2 模除运算符52
3.4.3 自增自减运算符53
3.5 关係运算符与关係表达式 56
3.6 逻辑运算符与逻辑表达式 57
3.6.1 逻辑与(&&)57
3.6.2 逻辑或(||)58
3.6.3 逻辑非(!)59
实训3.2——判断闰年60
3.7 位运算符 61
实训3.3——交换两变数的值63
3.8 条件运算符 66
实训3.4——分段函式计算66
3.9 sizeof运算符 67
3.10 强制类型转换 68
3.11 疑难解答和上机题 70
3.11.1 疑难解答70
3.11.2 上机题72
第4章 C语言标準输入与输出73
4.1 C语言标準库函式概述 73
4.2 格式输出函式printf 74
4.2.1 标準格式输出74
4.2.2 格式输出控制78
4.3 格式输入函式scanf 80
4.3.1 标準格式输入80
4.3.2 格式输入控制84
4.4 字元输入输出函式 85
4.4.1 putchar函式85
4.4.2 getchar函式85
实训4.1——输出及格率86
4.5 疑难解答和上机题 87
4.5.1 疑难解答87
4.5.2 上机题90
第5章 分支结构程式设计91
5.1 结构化程式设计思想 91
5.2 简单的if语句 92
5.2.1 if语句的定义92
5.2.2 合理设计if语句93
实训5.1——求一元二次方程的实根解94
5.3 多分支if语句 96
5.3.1 if-else语句的结构96
5.3.2 if-else语句的套用97
5.3.3 if-else-if语句的结构及套用99
5.4 嵌套if-else语句 101
5.4.1 嵌套if-else语句的定义101
5.4.2 嵌套if-else语句的套用103
实训5.2——求一元二次方程的複数根解105
5.5 switch语句 108
5.5.1 switch语句的定义108
5.5.2 break语句110
5.5.3 switch语句的执行与套用110
实训5.3——使用switch语句实现四则运算111
5.6 嵌套switch语句 113
5.6.1 嵌套switch语句的定义113
5.6.2 嵌套switch语句的执行与套用114
5.7 疑难解答和上机题 116
5.7.1 疑难解答116
5.7.2 上机题117
第6章 循环结构程式设计119
6.1 循环语句的提出 119
6.2 for循环语句 120
6.2.1 for语句的定义120
6.2.2 for语句的执行120
6.2.3 for语句的套用121
6.3 for循环嵌套语句 124
6.3.1 for循环嵌套语句的定义与执行124
6.3.2 for循环嵌套语句的套用125
实训6.1——列印九九乘法表126
实训6.2——列印三位数水仙花数127
6.4 while循环语句 130
6.4.1 while循环语句的定义130
6.4.2 while循环语句的套用130
实训6.3——记录键盘输入字元数132
6.5 do…while循环语句 134
6.5.1 do…while循环语句的定义134
6.5.2 do…while循环语句的套用134
6.6 goto语句 137
6.7 break语句和continue语句 138
6.7.1 break语句138
6.7.2 continue语句139
6.8 疑难解答和上机题 140
6.8.1 疑难解答140
6.8.2 上机题143
第7章 数组145
7.1 一维数组 145
7.1.1 一维数组的定义145
7.1.2 一维数组赋值与引用147
7.1.3 一维数组的套用151
实训7.1——数列排序152
7.2 二维数组 154
7.2.1 二维数组的定义154
7.2.2 二维数组的赋值与引用155
7.2.3 二维数组的套用158
实训7.2——学员平均成绩计算159
实训7.3——输出杨辉三角161
7.3 字元数组 163
7.3.1 字元数组的定义163
7.3.2 字元数组的赋值与引用164
7.3.3 字元数组与字元串166
7.3.4 二维字元数组168
7.4 疑难解答和上机题 170
7.4.1 疑难解答170
7.4.2 上机题172
第8章 函式173
8.1 函式的定义 173
8.1.1 函式的分类173
8.1.2 函式的定义174
8.2 函式的调用与声明 176
8.2.1 函式的调用176
实训8.1——计算数学分段函式179
8.2.2 函式的声明181
实训8.2——近似计算圆周率pi184
8.2.3 函式的参数187
8.3 局部变数与全局变数 189
8.3.1 局部变数189
8.3.2 全局变数191
8.4函式的嵌套调用和递归 193
实训8.3——汉诺塔程式设计194
8.5 数组作函式参数 197
8.6 疑难解答和上机题 199
8.6.1 疑难解答199
8.6.2 上机题200
第9章 指针203
9.1 指针的引入 203
9.1.1 指针的定义203
9.1.2 指针的引用204
9.2 指针和地址 206
9.2.1 指针和地址的关係206
9.2.2 指针和地址的区别210
9.2.3 void指针和空指针212
9.3 指针与数组 214
9.3.1 指针与数组首地址214
9.3.2 指针与数组名的区别215
实训9.1——指针转换数组中字母大小写217
9.4 指针与函式 220
9.4.1 指针作函式参数 220
9.4.2 函式返回指针224
9.4.3 指向函式的指针225
9.5 指针与字元串 227
9.5.1 指针与字元串的关係227
9.5.2 指针引用字元串229
9.6 指针与二维数组 231
9.6.1 指针和二维数组的关係231
9.6.2 指针数组235
实训9.2——输出main函式参数值237
9.7 记忆体分配 239
9.7.1 指针与记忆体分配240
9.7.2 malloc函式240
9.7.3 memset函式243
9.7.4 free函式244
实训9.3——指针实现简单月曆计算245
9.8 疑难解答与上机题 247
9.8.1 疑难解答247
9.8.2 上机题249
第10章 结构体与共用体251
10.1 结构体的定义 251
10.2 结构体变数 253
10.2.1 结构体变数的定义253
10.2.2 结构体变数的初始化254
10.2.3 结构体变数的引用255
10.2.4 结构体数组257
实训10.1——身份证信息录入258
10.2.5 结构体的嵌套261
10.3 结构体指针 262
10.3.1 结构体指针的定义262
10.3.2 结构体指针引用结构体成员263
10.3.3 指向结构体数组的结构体指针265
10.4 结构体变数的记忆体分配 266
10.4.1 动态分配结构体记忆体266
10.4.2 结构体在记忆体中的存储结构270
10.5 结构体指针作函式参数 272
10.5.1 结构体指针作函式参数的定义272
10.5.2 结构体指针作函式参数的套用273
10.6 共用体的定义 275
10.6.1 共用体的定义275
10.6.2 共用体变数的定义与套用275
10.7 共用体的记忆体结构 277
实训10.2——教师学生信息卡设计278
10.8 疑难解答和上机题 281
10.8.1 疑难解答281
10.8.2 上机题283
第11章 鍊表285
11.1 什幺是鍊表 285
11.2 结构体实现单鍊表 286
11.2.1 单鍊表结点的结构体实现286
11.2.2 单鍊表的结构体实现287
11.3 结构体实现双向鍊表 291
11.3.1 双向鍊表结点的结构体实现291
11.3.2 双向鍊表结点的记忆体分配295
11.4 鍊表结点的插入与删除 296
11.4.1 单鍊表结点的插入296
11.4.2 双向鍊表结点的插入297
11.4.3 单鍊表结点的删除298
11.4.4 双向鍊表结点的删除299
实训11.1——新员工录入员工信息表300
11.5 疑难解答和上机题 303
11.5.1 疑难解答303
11.5.2 上机题304
第12章 编译预处理305
12.1 宏定义 305
12.1.1 什幺是宏定义305
12.1.2 宏定义的套用308
实训12.1——程式不同Log的列印311
12.1.3 宏定义的终止312
12.2 档案包含 313
12.2.1 头档案包含313
实训12.2——银行卡信息录入314
12.2.2 头档案中的函式声明317
12.3 条件编译 318
12.3.1 #if…#else和#endif命令318
12.3.2 #ifdef…#endif和#ifndef…#endif命令321
12.4 疑难解答和上机题 323
12.4.1 疑难解答323
12.4.2 上机题324
第13章 档案327
13.1 档案和档案指针 327
13.1.1 流和档案327
13.1.2 档案指针328
13.2 档案的打开和关闭 329
13.2.1 档案的打开329
13.2.2 档案的关闭332
13.3 档案的读写 333
13.3.1 字元处理函式fgetc和fputc 334
实训13.1——建立readme档案336
13.3.2 字元串处理函式fgets和fputs 339
13.3.3 数据段处理函式fread和fwrite 343
实训13.2——项目信息录入与输出344
13.3.4 标準格式读写函式fprintf和fscanf 350
13.4 档案的定位 352
13.5 疑难解答和上机题 353
13.5.1 疑难解答353
13.5.2 上机题354
第14章 C语言标準数学库函式357
14.1 平方根计算函式sqrt 357
14.2 求指数函式exp和pow 358
14.2.1 指数函式exp 359
14.2.2 指数函式pow 360
14.3 取对数函式log和log10 361
14.3.1 自然对数函式log 361
14.3.2 10为底的对数函式log10362
14.4 绝对值函式abs和fabs 364
14.4.1 绝对值函式abs 364
14.4.2 绝对值函式fabs 365
14.5 三角函式 366
14.5.1 正弦函式sin和asin 366
14.5.2 其他三角函式367
14.6 取整函式floor和ceil 369
14.6.1 取整函式floor 369
14.6.2 取整函式ceil 371
14.7 疑难解答和上机题 372
14.7.1 疑难解答372
14.7.2 上机题373
第15章 字元串处理375
15.1 字元串拷贝函式strcpy 375
15.1.1 库函式strcpy 375
15.1.2 自定义函式strcpy 377
15.2 字元串连结与比较函式strcat和strcmp 378
15.2.1 字元串连结函式strcat 378
15.2.2 字元串比较函式strcmp 379
15.3 字元串长度与查找函式strlen和strchr 381
15.3.1 字元串长度计算函式strlen 381
15.3.2 字元串查找函式strchr 382
15.4 字元串输入输出函式gets和puts 384
15.4.1 字元串输入函式gets 384
15.4.1 字元串输出函式puts 385
15.5 其他字元串处理函式 386
15.5.1 特定字元串比较函式strcmp 386
15.5.2 字元串重设函式strnset 387
15.5.3 字元串子串查找函式strstr 388
实训15.1——文章中字元串查找与替换389
15.6 疑难解答和上机题 392
15.6.1 疑难解答392
15.6.2 上机题394
第16章 C语言调试397
16.1 C语言开发入门 397
16.1.1 注释的编写397
16.1.2 代码风格400
16.2 C语言单步调试与跟蹤 404
16.3 C语言断点调试与跟蹤 406
16.3.1 设定调试断点406
16.3.2 断点调试409
16.4 查看动态记忆体 412
实训16.1——代码风格设计415
16.5 疑难解答和上机题 418
16.5.1 疑难解答418
16.5.2 上机题419
第17章 软体测试421
17.1 软体测试概述 421
17.1.1 什幺是软体测试421
17.1.2 软体测试模型、分类和流程422
17.2 搭建软体测试环境 424
17.2.1 分析被测软体424
17.2.2 搭建软体测试环境425
17.3 软体测试过程 427
17.3.1 函式级软体测试427
17.3.2 模组级软体测试434
17.4 疑难解答和上机题 436
17.4.1 疑难解答436
17.4.2 上机题437
第18章 C语言常用算法439
18.1 什幺是算法 439
18.2 排序算法 440
18.2.1 起泡排序440
18.2.2 选择排序445
18.2.3 合併排序450
18.2.4 快速排序451
18.3 查找算法 453
18.3.1 顺序查找算法454
18.3.2 折半查找算法456
18.4 二叉树 457
18.4.1 二叉树的结构457
18.4.2 C语言实现简单的二叉树458
18.4.3 二叉树的简单操作462
实训18.1——合併两个有序数组467
18.5 疑难解答和上机题 471
18.5.1 疑难解答471
18.5.2 上机题472
第19章 C语言套用实例475
19.1 C语言巧解问题实例 475
19.1.1 求1到1000之内的素数475
19.1.2 巧解古代百钱买百鸡问题477
19.1.3 巧解换钱币问题478
19.1.4 求1-20000之间的平方迴文数479
19.1.5 验证卡布列克常数480
19.2 C语言套用实例——计算数学公式 483
19.2.1 C语言实现三角函式sinx逼近483
19.2.2 C语言实现三角函式cosx逼近484
19.2.3 C语言计算排列组合485
19.3 C语言编写万年曆 486
19.3.1 万年曆的实现流程486
19.3.2 万年曆程式设计流程488
19.3.3 万年曆程式编写489
19.3.4 结果验证与代码完善494
19.4 疑难解答和上机题 494
19.4.1 疑难解答494
19.4.2 上机题496