21天学通C语言6.0

百科
21天学通C语言6.0

21天学通C语言6.0

《21天学通C语言6.0》是2009年电子工业出版社出版的图书,作者是王正仲。本书详细介绍了C语言的基本概念和编程技术。

基本介绍

  • 书名:21天学通C语言6.0
  • 作者:王正仲 等
  • ISBN:9787121079023
  • 类别:计算机/程式设计>>C语言
  • 页数:416页
  • 定价:¥49.80元(含DVD光碟1张)
  • 出版社: 电子工业出版社
  • 出版时间: 2009-1-1
  • 开本: 16开

编辑推荐

本书是C语言的入门教程,针对没有程式设计基础的读者,详细介绍了C语言的基本概念和编程技术。本书分为8篇共21章内容,本书适合没有编程基础的C语言初学者作为入门教程,也可作为大、中专院校师生和培训班的教材,对于C语言开发的爱好者,本书也有较大的参考价值。

宣传语

 基础知识核心技术典型实例综合练习项目案例
 202个典型实例、1个项目案例、296个练习题
 一线开发人员全程贴心讲解,上手毫不费力
 21小时多媒体语音视频教学
 本书原始码 + 本书电子教案(PPT)
 1000余页编程参考宝典电子书(免费赠送)

内容简介

第一篇为C语言入门篇,该篇介绍了C语言程式的特点及编程的準备。第二篇为C语言基础篇,该篇介绍了常量与变数、整型、字元型与浮点型和表达式与操作符等内容。第三篇为结构编程篇,该篇通过两章的篇幅讲解了选择结构和循环结构两种常用的程式结构。第四篇为数组和字元串篇,该篇通过两章的篇幅分别讲解了C语言中数组和字元串的套用。第五篇为函式篇,该篇主要内容包括函式、函式与档案、函式中的变数和字元串处理函式等。第六篇为指针篇,该篇通过两章的篇幅介绍了指针的重要概念和套用。第七篇为高级套用篇,该篇内容主要包括堆管理、位运算操作符、结构体、共用体、枚举和位域,以及预处理等。第八篇为综合案例篇,该篇以图书管理系统开发为例,详细介绍了C语言和档案处理开发的过程。
本书附赠DVD光碟1张,内容包括超大容量手把手视频、电子教案(PPT)、编程参考宝典电子书、原始码及各章习题答案。
本书特点
千里之行,始于足下!
——老子
为什幺要写这样一本书
C语言作为一门基础语言,从其诞生以来就受到编程爱好者的广泛关注并作为应用程式开发中的一把利器。同时,也被认为是最适合编程爱好者步入编程殿堂的一门程式语言。市面上关于学习C语言的书非常丰富,很多书都是大而全,但这类书籍很难做到从初学者的角度来讲解和介绍C语言的基本概念和编程技术。所以初学者阅读后都有种无从下手的感觉。
为了让初次接触C语言编程的爱好者能够快速而轻鬆地学会C语言编程,笔者总结自己学习C语言的经验,并结合多年的开发经验,编写了这本C语言基础教程。在本书中,笔者将从基本概念入手,循序渐进地将C语言编程技术展现在读者面前,让读者快速掌握C语言编程的基本概念及编程技术。
本书有何色
1.细緻体贴的讲解
为了让读者更快地上手,本书特别设计了适合初学者的学习方式,用準确的语言总结概念#用直观的图示演示过程#用详细的注释解释代码#用形象的比方帮助记忆。
1)知识点介绍 準确、清晰是其显着特点,一般放在每一节开始位置,让零基础的读者了解相关概念,顺利入门。
2)範例 书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,放在每节知识点介绍之后。
3)範例代码 与範例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程式,均在每行代码前设定编号便于学习。
4)运行结果 对範例给出运行结果和对应图示,帮助读者更直观地理解範例代码。
5)代码解析 将範例代码中的关键代码行逐一解释,有助于读者掌握相关概念和知识。
6)综合练习 为了便于读者巩固所学内容,本书每章中均提供了综合练习,并给出了操作提示和结果,配合读者自己动手实践。
7)习题 每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握,题目的提示或答案放在光碟中。
8)贴心的提示 为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士,体例约定如下:
— 提示:通常是一些贴心的提醒,让读者加深印象或提供建议,或者解决问题的方法。
— 注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。
— 警告:对操作不当或理解偏差将会造成的灾难性后果做警示,以加深读者印象。
经作者多年的培训和授课证明,以上讲解方式是最适合初学者学习的方式,读者按照这种方式,会非常轻鬆、顺利地掌握本书知识。
在本书中,大部分的内容是基于Turbo C 2.0编译器实现的,但是为了适应最新的C99语言标準,本书部分章节是基于Visual C++编译器实现的(两者主要的差别在于记忆体空间不同)。使用Visual C++编译器的章节是第3~5章,第8~9以及14~19章。
2.实用超值的DVD光碟
为了帮助读者比较直观地学习,本书附赠DVD光碟,内容包括多媒体视频、电子教案(PPT)、编程参考宝典电子书、各章习题答案和实例原始码等。
多媒体视频
赠送1GB,长达21小时手把手教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示,手把手教会读者使用。
电子教案(PPT)
本书可以作为高校相关课程的教材或课外辅导书,所以笔者特别为本书製作了电子教案(PPT),以方便老师教学使用。
编程参考宝典电子书
为方便广大读者学习,特别製作了编程开发参考电子书,供读者查阅和参考。
3.提供完善的技术支持
4.丰富的额外素材下载
推荐的学习计画
本书作者在长期从事相关培训或教学实践过程中,归纳了最适合初学者的学习模式,并参考了多位专家的意见,为读者总结了合理的学习时间分配方式,
本书适合哪些读者阅读
本书非常适合以下人员阅读:
— 从未接触过C语言的自学人员;
— 有一定C语言基础,但还需要进一步学习的人员;
— 其他编程爱好者。
本书作者
2009年1月

目 录

第一篇 C语言入门篇
第1章 C语言与程式概述(精彩视频:36分钟) 1
1.1 C语言历史 1
1.1.1 C语言的诞生 1
1.1.2 C语言的标準化 2
1.1.3 C语言的特点 2
1.1.4 Hello, world! 3
1.2 数据结构与算法 4
1.2.1 数据结构 4
1.2.2 算法简介 6
1.3 程式设计 7
1.3.1 结构化程式设计 7
1.3.2 三种基本结构 7
1.3.3 算法描述方法 9
1.4 综合练习 11
1.5 小结 13
1.6 习题 13
第2章 C语言编程準备(精彩视频:21分钟) 15
2.1 C程式介绍 15
2.1.1 两个简单的C程式 15
2.1.2 C程式的一些特点 17
2.1.3 标识符与关键字 17
2.1.4 编译、连结和运行 18
2.2 在不同的开发环境中开发C程式 19
2.2.1 Turbo C 19
2.2.2 Visual C++ 2005 21
2.2.3 GCC 3.2.2 23
2.3 综合练习 24
2.4 小结 24
2.5 习题 25
第二篇 C语言基础篇
第3章 常量与变数(精彩视频:39分钟) 26
3.1 常量与变数 26
3.1.1 常量 26
3.1.2 变数 27
3.2 变数的使用 28
3.2.1 声明变数 28
3.2.2 定义变数 29
3.2.3 使用extern声明变数 29
3.2.4 赋值和初始化 30
3.2.5 地址操作符和指针操作符 32
3.3 格式化输入输出 33
3.3.1 printf函式 33
3.3.2 scanf函式 34
3.4 数据类型 35
3.5 综合练习 35
3.6 小结 36
3.7 习题 37
第4章 整型、字元型与浮点型(精彩视频:89分钟) 38
4.1 整型数据类型 38
4.1.1 位元组长度 38
4.1.2 修饰符signed和unsigned 39
4.1.3 整型常量 39
4.1.4 整型变数 40
4.1.5 整型的存储方式 41
4.1.6 整型的数值範围 42
4.2 字元型数据类型 45
4.2.1 位元组长度 45
4.2.2 字元常量 46
4.2.3 字元变数 48
4.2.4 字元型的存储方式 49
4.3 浮点型数据类型 49
4.3.1 位元组长度 49
4.3.2 浮点型常量 50
4.3.3 浮点型变数 50
4.3.4 浮点型的精度 50
4.3.5 浮点型的数值範围 51
4.3.6 浮点型的存储方式 53
4.4 使用typedef定义类型 55
4.4.1 typedef的标準形式 55
4.4.2 合理使用typedef 56
4.5 限定词const与volatile 57
4.5.1 使用const 57
4.5.2 使用volatile 58
4.6 综合练习 59
4.7 小结 60
4.8 习题 60
第5章 表达式与操作符(精彩视频:167分钟) 62
5.1 表达式和语句 62
5.1.1 表达式 62
5.1.2 语句 64
5.1.3 複合语句 64
5.1.4 C语言操作符 66
5.2 赋值操作符与赋值表达式 67
5.2.1 赋值操作符 67
5.2.2 赋值操作符的结合性 68
5.2.3 左值和右值 68
5.2.4 赋值表达式中的类型转换 69
5.2.5 类型转换操作符 71
5.3 运算操作符与运算表达式 72
5.3.1 运算操作符 72
5.3.2 符号操作符 74
5.3.3 优先权与结合性 75
5.3.4 数值运算中的类型转换 77
5.3.5 複合的赋值操作符 78
5.4 自增、自减操作符 80
5.4.1 自增操作符 80
5.4.2 自减操作符 82
5.4.3 优先权与结合性 83
5.4.4 词法分析:贪婪法 84
5.4.5 自增、自减操作符的副作用 86
5.5 关係操作符与关係表达式 87
5.5.1 使用关係操作符 87
5.5.2 关係表达式的值 89
5.5.3 优先权与结合性 90
5.6 逻辑操作符与逻辑表达式 91
5.6.1 使用逻辑操作符 91
5.6.2 逻辑表达式的值 92
5.6.3 优先权和结合性 93
5.6.4 化简逻辑表达式 94
5.7 逗号操作符与逗号表达式 94
5.7.1 使用逗号操作符 94
5.7.2 逗号表达式的值 95
5.8 操作符优先权和结合性 96
5.8.1 优先权和结合性 96
5.8.2 使用小括弧 98
5.8.3 减少语句的副作用 99
5.9 综合练习 101
5.10 小结 102
5.11 习题 102
第三篇 结构编程篇
第6章 选择结构(精彩视频:66分钟) 104
6.1 if语句 104
6.1.1 使用if语句 104
6.1.2 else和if的配对使用 107
6.1.3 选择结构中的不平等分支 108
6.1.4 判断表达式中的=与== 109
6.2 switch语句 110
6.2.1 使用switch语句 111
6.2.2 break语句 111
6.2.3 else if语句和switch语句 114
6.2.4 switch中的标号 115
6.2.5 使用具名常量组成标号 116
6.3 条件操作符与条件表达式 118
6.3.1 使用条件操作符 118
6.3.2 条件表达式与if-else 118
6.3.3 条件表达式中的类型转换 119
6.3.4 条件表达式的嵌套 120
6.4 逻辑表达式的隐式选择 120
6.4.1 逻辑表达式的特点 120
6.4.2 隐式选择的作用 121
6.4.3 巧用隐式选择 122
6.5 综合练习 123
6.6 小结 124
6.7 习题 124
第7章 循环结构(精彩视频:86分钟) 126
7.1 for语句 126
7.1.1 使用for语句 126
7.1.2 for头中的三个表达式 126
7.1.3 for头中的逗号表达式 128
7.1.4 for语句的嵌套 129
7.1.5 for语句使用举例 129
7.2 while语句 131
7.2.1 使用while语句 131
7.2.2 while语句与for语句 132
7.2.3 while语句使用举例 133
7.3 do-while语句 135
7.3.1 使用do-while语句 135
7.3.2 do-while语句与while语句 135
7.3.3 do-while语句使用举例 136
7.4 continue语句与break语句 138
7.4.1 使用continue语句 138
7.4.2 continue语句与if语句 140
7.4.3 循环结构中的break语句 140
7.4.4 使用break语句终止多层循环 142
7.5 goto语句 143
7.5.1 goto语句的标準形式 143
7.5.2 搭配使用goto语句与if语句 144
7.5.3 慎用goto语句 145
7.6 基本结构的嵌套使用 147
7.6.1 if-while与while-if 147
7.6.2 使用选择结构包含循环结构 148
7.7 综合练习 149
7.8 小结 150
7.9 习题 150
第四篇 数组和字元串篇
第8章 数组(精彩视频:79分钟) 152
8.1 一维数组 152
8.1.1 定义一维数组 152
8.1.2 访问一维数组 153
8.1.3 未初始化的一维数组 154
8.1.4 初始化数组 155
8.1.5 数组元素地址 157
8.1.6 数组越界 158
8.1.7 一维数组使用举例 159
8.2 二维数组 162
8.2.1 定义二维数组 162
8.2.2 访问二维数组 163
8.2.3 二维数组的存储方式 164
8.2.4 初始化二维数组 164
8.2.5 二维数组使用举例 165
8.3 多维数组 167
8.3.1 定义多维数组 167
8.3.2 多维数组使用举例 167
8.4 综合练习 168
8.5 小结 169
8.6 习题 169
第9章 字元串(精彩视频:68分钟) 171
9.1 字元数组 171
9.1.1 定义和赋值字元数组 171
9.1.2 字元数组的初始化 173
9.1.3 二维字元数组 173
9.1.4 字元数组使用举例 175
9.2 字元串常量与字元串变数 178
9.2.1 字元串常量 178
9.2.2 字元串变数 180
9.2.3 格式化输出字元串 180
9.2.4 字元终止符的作用 181
9.2.5 格式化输入字元串 182
9.3 字元串套用举例 182
9.3.1 使用strlen函式 182
9.3.2 统计单词数 183
9.3.3 颠倒单词顺序 185
9.3.4 颠倒单词顺序——改进 186
9.4 综合练习 188
9.5 小结 189
9.6 习题 189
第五篇 函式篇
第10章 函式(精彩视频:63分钟) 191
10.1 什幺是函式 191
10.1.1 模组化编程 191
10.1.2 定义函式 194
10.1.3 调用函式 194
10.1.4 函式使用举例 196
10.1.5 範例的改进 197
10.2 函式声明 198
10.2.1 声明的形式 199
10.2.2 声明与定义 199
10.3 函式值与形参列表 200
10.3.1 函式值类型 200
10.3.2 形参列表 202
10.3.3 函式值 203
10.3.4 使用const形参 206
10.4 函式体 208
10.4.1 定义变数 208
10.4.2 检查形参 209
10.4.3 return语句 209
10.5 main函式 211
10.5.1 main函式的声明 211
10.5.2 函式值类型 211
10.5.3 向main函式传递参数 212
10.6 综合练习 215
10.7 小结 216
10.8 习题 216
第11章 函式与档案(精彩视频:47分钟) 218
11.1 多档案的程式 218
11.1.1 源档案和头档案 218
11.1.2 C工程的组织结构 219
11.1.3 一个简单的多档案工程 220
11.2 创建和运行多档案工程 222
11.2.1 Turbo C 222
11.2.2 Visual C++ 2005 223
11.2.3 GCC 3.2.2 223
11.3 函式的调用 223
11.3.1 嵌套调用 223
11.3.2 递归调用 225
11.3.3 递归调用使用举例 226
11.4 内部函式与外部函式 230
11.4.1 外部函式 230
11.4.2 内部函式 231
11.4.3 套用举例 231
11.5 综合练习 233
11.6 小结 234
11.7 习题 234
第12章 函式中的变数(精彩视频:60分钟) 236
12.1 生存期和作用域 236
12.1.1 生存期 236
12.1.2 作用域 237
12.2 局部变数和全局变数 239
12.2.1 局部变数 239
12.2.2 全局变数 240
12.2.3 初始化全局变数 242
12.2.4 合理使用全局变数 243
12.2.5 同名变数和变数禁止 244
12.3 变数的存储类别 247
12.3.1 记忆体存储区 247
12.3.2 auto变数 247
12.3.3 static局部变数 248
12.3.4 register变数 250
12.3.5 extern变数 251
12.3.6 static全局变数 251
12.4 综合练习 252
12.5 小结 253
12.6 习题 253
第13章 字元串处理函式(精彩视频:38分钟) 255
13.1 输入和输出函式 255
13.1.1 putchar函式和getchar函式 255
13.1.2 puts函式和gets函式 256
13.2 複製和拼接 257
13.2.1 strcpy函式 257
13.2.2 strncpy函式 258
13.2.3 strcat函式和strncat函式 260
13.3 比较和转换 261
13.3.1 strncmp函式和strcmp函式 261
13.3.2 strupr函式和strlwr函式 263
13.4 综合练习 264
13.5 小结 264
13.6 习题 265
第六篇 指针篇
第14章 指针(精彩视频:60分钟) 266
14.1 什幺是指针 266
14.1.1 访问记忆体的两种方式 266
14.1.2 指针的概念 267
14.1.3 指针变数的定义 267
14.2 指针的使用 268
14.2.1 指针变数的一次赋值 268
14.2.2 指针变数的多次赋值 270
14.2.3 将指针变数赋值为整数 272
14.2.4 初始化指针变数 273
14.2.5 使用const声明指针变数 273
14.3 指针与函式 274
14.3.1 指针形参 274
14.3.2 指针型函式值 276
14.3.3 函式型指针 277
14.4 void型指针 279
14.4.1 void型指针的含义 279
14.4.2 void指针型形参 279
14.4.3 void指针型函式值 280
14.5 综合练习 280
14.6 小结 281
14.7 习题 281
第15章 再论指针(精彩视频:68分钟) 283
15.1 指针与数组 283
15.1.1 指向数组元素的指针 283
15.1.2 使用指针访问数组 283
15.1.3 数组元素型指针和数组变数 285
15.1.4 声明数组形参的三种方式 287
15.1.5 使用三种声明方式 288
15.1.6 调用含数组形参的函式 288
15.2 指针与二维数组 289
15.2.1 二维数组的地址 289
15.2.2 指针法访问二维数组 292
15.2.3 二维数组形参 293
15.3 指针与字元 297
15.3.1 字元指针 297
15.3.2 使用字元指针 299
15.3.3 字元串数组和字元指针数组 301
15.4 综合练习 302
15.5 小结 303
15.6 习题 303
第七篇 高级套用篇
第16章 堆管理(精彩视频:24分钟) 305
16.1 分配和释放 305
16.1.1 malloc函式和memset函式 305
16.1.2 free函式 306
16.2 其他分配函式 307
16.2.1 calloc函式 307
16.2.2 realloc函式 308
16.3 动态数组的实现 310
16.4 综合练习 311
16.5 小结 312
16.6 习题 312
第17章 位运算操作符(精彩视频:50分钟) 313
17.1 位运算 313
17.1.1 位元组与位 313
17.1.2 补码 313
17.2 位运算操作符 314
17.2.1 取反操作符(~) 314
17.2.2 位或操作符(|) 315
17.2.3 位与操作符(&) 317
17.2.4 异或操作符(^) 320
17.2.5 右移操作符(>>) 322
17.2.6 左移操作符(<<) 323
17.2.7 位运算赋值操作符 325
17.3 位运算操作符使用举例 325
17.3.1 循环移位 325
17.3.2 使用子网掩码 327
17.4 综合练习 328
17.5 小结 328
17.6 习题 328
第18章 结构体(精彩视频:46分钟) 330
18.1 结构体 330
18.1.1 结构体类型的概念 330
18.1.2 定义结构体变数 331
18.1.3 结构体的位元组长度 332
18.2 结构体的使用 334
18.2.1 访问结构体成员 334
18.2.2 初始化结构体变数 335
18.2.3 浅複製和深複製 337
18.3 结构体数组 339
18.3.1 定义结构体数组 339
18.3.2 初始化结构体数组 340
18.3.3 结构体数组使用举例 341
18.4 结构体指针 342
18.4.1 指向结构体变数的指针 342
18.4.2 指向堆空间的结构体指针 343
18.4.3 指向结构体数组元素的指针 344
18.5 综合练习 345
18.6 小结 346
18.7 习题 347
第19章 共用体、枚举和位域(精彩视频:33分钟) 348
19.1 共用体 348
19.1.1 共用体类型 348
19.1.2 共用体变数 349
19.2 枚举 351
19.2.1 定义枚举类型 351
19.2.2 枚举类型的使用 352
19.3 位域 354
19.3.1 位域的概念 354
19.3.2 位域的字长 355
19.3.3 位域成员的记忆体分布 356
19.4 综合练习 358
19.5 小结 360
19.6 习题 360
第20章 预处理(精彩视频:61分钟) 362
20.1 宏定义 362
20.2 宏对象 363
20.2.1 使用宏对象 363
20.2.2 代替常用字元串 364
20.2.3 说明形参属性 366
20.2.4 宏定义的作用域 367
20.2.5 标準宏对象 368
20.3 宏函式 368
20.3.1 使用宏函式 368
20.3.2 宏函式与函式 369
20.4 条件编译 370
20.4.1 #ifdef命令 371
20.4.2 #ifndef命令 373
20.4.3 #if命令 374
20.4.4 defined宏函式 375
20.5 档案包含 375
20.5.1 使用档案包含 375
20.5.2 重複包含和循环包含 377
20.6 综合练习 377
20.7 小结 378
20.8 习题 378
第八篇 综合案例篇
第21章 图书管理系统开发实例(精彩视频:46分钟) 380
21.1 需求分析 380
21.2 系统设计 380
21.2.1 系统架构 380
21.2.2 数据结构 381
21.3 main模组 382
21.4 用户界面模组 383
21.4.1 程式流程 383
21.4.2 代码实现 383
21.4.3 编写menu_main函式:列印主界面和第一级选单 384
21.4.4 编写menu_choice函式 385
21.4.5 编写menu_add函式:列印增加书籍的二级选单 385
21.4.6 编写menu_delete函式:输出删除书籍的二级选单 386
21.4.7 编写menu_search函式:输出搜寻书籍的二级选单 388
21.4.8 编写menu_reload函式:输出载入书籍数据的二级选单 388
21.4.9 编写menu_exit函式:退出所有二级选单 388
21.5 日誌模组 388
21.5.1 打开和关闭档案 389
21.5.2 档案的格式化读写 389
21.5.3 打开和关闭日誌档案 390
21.5.4 log_error函式和log_activity函式 390
21.6 数据管理模组 391
21.6.1 处理TimeInfor数据 391
21.6.2 处理BookInfor数据 392
21.6.3 增加书籍 393
21.6.4 删除书籍 394
21.6.5 查询书籍 395
21.6.6 从档案导入数据 395
21.7 小结 396
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com