当前位置:首页 > 百科 > 正文

从零开始学C语言

《从零开始学C语言(第2版)(含DVD光盘1张)》是在2014年10月电子工业出版社出版的图书,作者是戴晟晖 冯志强。

  • 书名 从零开始学C语言(第2版)(含DVD光盘1张)
  • 作者 戴晟晖 冯志强
  • 出版社 电子工业出版社
  • 出版时间 2014年10月
  • 页数 320 页

内容介绍

  为了使初学者都更好地掌握这门高级语言--C 语言,本书系统地介绍了程序设计的基本理论编程技术。每一个知识点都作为一个独立的章节进行详细的讲解,目的在于让读者在学习C 语言的过程中,能循序渐进、由浅入深。

  《从零开始学C语言(第2版)》共4 篇分为18 章,内容包括C 语言入门基础,C 语言程序,常量,变量与标识符,数据类型,运算符及其表达式,输入与输出,顺序结构与选择结构,循环结构程序设计,结构语句的转移,数组,函数,指针,结构体,共用体和文件等内容。最后的实例篇,运用C 语言建立一个学生成绩管理系统,通过对该系统的界面设计、功能分析、模块描述,使读者对C 语言程序设计有一个更加系统细充、深刻的理解。

  《从零开始学C语言(第2版)》配DVD 光盘1 张,内容为本书的实例文件和作饭未初赶大热有消社等者专门为本书录制的全程多媒体语音教学视频。

  《从零开始学C语言(第2版)》内容全面,论述翔实,适合C 语言的初学者,也可作为大、中专院校师生的培训教材。对于C 语言爱好者,《从零开始树胡条顾学C语言(第2版)》也有很大的参考价值。

从零开始学编程

  从零开始学C语言(轴育电评真验第2版)(含DVD光盘1张)

  戴晟晖 冯志强 等 编著

  ISBN 978-7-121-24305-9

  2014年10月出版

  定价:49.80元

  320页

  16开

内容提来自

  为了使初学者都更好地掌握这门高级语言--C 语言,本书系统地介绍了程序设计的基本理论与编程技术。每一个知识点都作为一个独立的章节进行详细的讲解,目的在于让读者在学习C 语言的过程中,能循序渐进、由浅360百科入深。

  《从零开始学C语言(第2版)》共4 篇分为18 章,内容包括C 语言入门基础,C 语言程序,常量,变量与标识符,数据类型,运算符及其表达式,输入与输出,顺序结构与选择结构,循环干事短式台第病思我结构程序设计,结构语句的转移,数组,函数,指针,结构体,共用体和文件等内容。最后的实例篇,运用C 语言建立一个学生成绩管理系统,通过对该系统的界面设计、功能分析、模块描述,使读者对C 语言程序设计有一个更加系统、深刻的理解。

  《从零开始学C庆段划史营决罗婷什亚广语言(第2版)》配DVD 光盘1 张,内容为本书的实例文件和作者专门为本书承事克录制的全程多媒体语斗出台江真胞坐丝谓音教学视频。

  《灯围绍委伯直入满渐客特从零开始学C语言(第2版)》内容全面,论述翔实,适合C 语言的初学者,也可作为大、中专院校师生的培训教材。对于C 语言爱好者,《从零开始学C语言(第2版)》也有很大的参考价值。

目录

  第1 篇 C 语言入门

  第1 章 C 语言入门基础另烧还(教学视频:58 分钟) .............. 1

 边题极比停原 1.1 计算机语言的演变................ 1

  1.1.1 机器语言................... 1

  1.1.2 汇编语言................... 1

  1.1.3 高级语言....盐春绝至草构图海............... 1

  1.1.4 面向对象或面向问题的高级语言........... 2

  1.2 数制、数制转换与存储......... 2

  1.2.1 数制....... 2

  1.2.2 数制的转换............... 3

  1.2.3 计算机中数据的存储.......... 4

  1.3 程序设计思想--算法.程注十目........ 5

  1.3.1 算法的概念............... 5

  1.3.2 算法的特点............... 5

  1.3.3 算法的表示方法........ 6

  1.3.4 算法分染况直官审反又倒析............限星写线啊....... 8

  1.4 C 语言的发展简史和特点............... 8

  1.刚位4.1 C 语言的诞生与发展.......... 9

  1.4.2 C 语言的特点.......... 10

  1.5 本章小结......... 11

  1.6 习题..........留六巴........ 11

 增剧洋能久表只 第2 章认识C 语言程序(教学视频:30 分钟) ........... 12

  2.1 C 语言程序的结构特征....... 12

  以系沉喜号激2.2 C 语言程序的书写风格....... 14

  2.3 C 语言婷现蒸伯尽农结种物庆伤程序的开发过程....... 15

  2息美尼联危商如女胶在煤.4 Visual C++集成开发环境.............. 16

  2.4.1 熟悉Visual C++ 6.0 集成开发环境....... 17

  2.4.2 C 语言在Visual C++ 6.0 的开发过程............. 18

  2.5 用Visual C++ 6.0 运行一个C 程序.......... 19

  2.6 本章小结......... 20

  2.7 习题.................. 20

  第2 篇 C 语言基础

  第3 章常量、变量与标识符(教学视频:17 分钟).................21

  3.1 标识符.............21

  3.1.1 标识符的命名.......... 21

  3.1.2 保留字..................... 21

  3.2 常量.................. 22

  3.2.1 直接常量................. 22

  3.2.2 符号常量................. 22

  3.3 变量.................. 23

  3.3.1 变量的定义............. 23

  3.3.2 变量初始化的方法............ 23

  3.4 变量的初始化...................... 24

  3.5 本章小结......... 24

  3.6 习题.................. 24

  第4 章数据类型(教学视频:28 分钟)..............25

  4.1 C 语言中的数据类型........... 25

  4.1.1 基本数据类型.......... 25

  4.1.2 构造数据类型.......... 26

  4.1.3 指针数据类型.......... 26

  4.1.4 空类型..................... 26

  4.2 整型数据......... 26

  4.2.1 整型常量................. 27

  4.2.2 整型变量................. 27

  4.3 实数型数据.................. 28

  4.3.1 实数型常量............. 29

  4.3.2 实数型变量............. 29

  4.4 字符型数据.................. 30

  4.4.1 字符型常量............. 30

  4.4.2 字符型变量............. 31

  4.5 数值型数据间的混合运算............. 33

  4.5.1 自动类型转换.......... 33

  4.5.2 强制类型转换.......... 34

  4.6 本章小结......... 36

  4.7 习题.................. 36

  第5 章运算符及其表达式(教学视频:57 分钟) ........37

  5.1 算术运算符及算术表达式............. 37

  5.1.1 算术运算符............. 37

  5.1.2 算术表达式............. 39

  5.2 赋值运算符及赋值表达式............. 39

  5.2.1 赋值运算符............. 40

  5.2.2 赋值表达式............. 41

  5.3 关系运算符及关系表达式............. 42

  5.3.1 关系运算符............. 42

  5.3.2 关系表达式............. 43

  5.4 逻辑运算符及逻辑表达式............. 44

  5.4.1 逻辑运算符............. 44

  5.4.2 逻辑运算规则......... 45

  5.4.3 逻辑表达式............. 46

  5.5 条件运算符及条件表达式............. 48

  5.5.1 条件运算符............. 48

  5.5.2 条件表达式............. 49

  5.6 逗号运算符及逗号表达式............. 52

  5.6.1 逗号运算符............. 52

  5.6.2 逗号表达式............. 53

  5.7 位运算符......... 54

  5.7.1 位逻辑运算符......... 54

  5.7.2 移位运算符............. 56

  5.7.3 位自反赋值运算符............ 57

  5.8 位运算符......... 58

  5.9 本章小结......... 59

  5.10 习题............... 59

  第6 章输入与输出(教学视频:65 分钟).......... 60

  6.1 C 语句概述.................. 60

  6.1.1 流程控制语句......... 60

  6.1.2 函数调用语句......... 64

  6.1.3 表达式语句............. 64

  6.1.4 空语句..................... 64

  6.1.5 复合语句................. 64

  6.2 输入与输出函数.................. 65

  6.2.1 格式输出函数......... 65

  6.2.2 格式输入函数......... 68

  6.2.3 字符输入与字符输出函数............. 72

  6.3 整型数据的输入与输出....... 74

  6.3.1 整型数据的输出.................. 74

  6.3.2 整型数据的输入.................. 76

  6.4 浮点型数据的输入与输出............. 76

  6.5 本章小结......... 77

  6.6 习题.................. 77

  第7 章顺序结构与选择结构(教学视频:35 分钟).................78

  7.1 顺序结构程序设计.............. 78

  7.2 选择结构程序设计.............. 80

  7.2.1 if 语句..................... 80

  7.2.2 switch 语句.............. 85

  7.3 应用举例......... 88

  7.4 本章小结......... 91

  7.5 习题.................. 91

  第8 章循环结构程序设计(教学视频:54 分钟) ........92

  8.1 while 语句........ 92

  8.2 do…while 语句.................... 94

  8.3 for 语句............ 97

  8.3.1 for 循环结构............ 97

  8.3.2 for 循环语句的嵌套........ 100

  8.4 总结应用....... 102

  8.4.1 几种循环的比较.............. 102

  8.4.2 循环语句的嵌套.............. 103

  8.4.3 应用举例............... 105

  8.5 本章小结....... 108

  8.6 习题............... 108

  第9 章结构语句的转移(教学视频:13 分钟) ..........109

  9.1 break 语句.................. 109

  9.2 跳出循环结构.................... 111

  9.2.1 问题1.................... 111

  9.2.2 问题2.................... 112

  9.3 continue 语句..................... 113

  9.4 goto语句....... 114

  9.5 本章小结....... 115

  9.6 习题............... 115

  第3 篇 C 语言进阶

  第10 章数组(教学视频:78 分钟) .........116

  10.1 数组的概述...................... 116

  10.2 一维数组.................. 117

  10.2.1 一维数组的定义............ 117

  10.2.2 一维数组的初始化........ 118

  10.2.3 一维数组的引用............ 119

  10.2.4 一维数组的程序举例................ 120

  10.3 二维数组.................. 126

  10.3.1 二维数组的定义............ 126

  10.3.2 二维数组的初始化........ 127

  10.3.3 二维数组的引用............ 129

  10.3.4 数组的程序举例............ 131

  10.4 本章小结.................. 133

  10.5 习题............. 133

  第11 章字符数组(教学视频:45 分钟) ......... 134

  11.1 字符数组的定义....................134

  11.2 字符数组的初始化................134

  11.3 字符数组的引用....................135

  11.4 字符数组与字符串的关系..............135

  11.5 字符数组的输入与输出........136

  11.6 字符串处理函数....................137

  11.6.1 输入字符串函数gets .........138

  11.6.2 输出字符串函数puts .........138

  11.6.3 字符串测长度函数strlen ...............138

  11.6.4 字符串比较函数strcmp.................138

  11.6.5 字符串复制函数strcpy和strncpy ........139

  11.6.6 字符串连接函数strcat .......139

  11.7 应用举例............140

  11.8 本章小结............145

  11.9 习题.........145

  第12 章函数(教学视频:43 分钟)......... 146

  12.1 函数的初步认识.............. 146

  12.2 函数定义.................. 148

  12.2.1 无参函数定义.................. 148

  12.2.2 有参函数定义.................. 149

  12.2.3 空函数定义......... 149

  12.3 函数参数及返回值.......... 150

  12.3.1 函数的参数......... 150

  12.3.2 函数的返回值.................. 152

  12.4 函数的参数传递.............. 153

  12.4.1 函数参数的数值传递................ 153

  12.4.2 函数参数的地址传递................ 154

  12.5 应用举例.................. 155

  12.6 本章小结.................. 157

  12.7 习题.............157

  第13 章函数的调用(教学视频:75 分钟)..................158

  13.1 函数调用的一般形式............158

  13.2 函数调用的形式....................159

  13.3 被调用函数的声明与函数原型..................160

  13.4 函数的嵌套调用和递归调用..........163

  13.4.1 函数的嵌套调用.......163

  13.4.2 函数的递归调用.......164

  13.5 变量作用域........165

  13.5.1 变量作用域和生存期.........165

  13.5.2 局部变量和全局变量.........165

  13.5.3 变量存储类别...........168

  13.6 编译预处理........172

  13.6.1 宏定义.......................173

  13.6.2 文件包含处理...........176

  13.6.3 条件编译...................177

  13.7 本章小结............178

  13.8 习题.........178

  第14 章指针操作(教学视频:67 分钟)..........179

  14.1 指针与地址...................... 179

  14.2 指针和指针变量.............. 179

  14.2.1 指针变量的定义............ 180

  14.2.2 指针变量的引用............ 181

  14.2.3 指针的运算......... 183

  14.3 指针和数组...................... 186

  14.3.1 数组的指针和指向数组的指针变量............ 187

  14.3.2 指针数组和指向指针的指针............. 190

  14.3.3 指向字符串的指针........ 193

  14.3.4 数组名作为函数参数................ 194

  14.4 指针和函数...................... 198

  14.4.1 函数的指针和指向函数的指针变量............ 198

  14.4.2 用指向函数的指针作为函数参数............... 199

  14.4.3 指针数组作为函数参数............. 205

  14.4.4 返回指针值的函数........ 206

  14.4.5 字符串指针作为函数参数......... 207

  14.5 本章小结.................. 208

  14.6 习题............. 208

  第15 章结构体(教学视频:77 分钟) ............. 209

  15.1 结构体类型定义.............. 209

  15.1.1 结构体类型的说明........ 209

  15.1.2 结构体类型的定义........ 209

  15.2 结构体变量的定义与引用......... 211

  15.2.1 结构体变量的定义与初始化............. 211

  15.2.2 结构体变量的引用........ 213

  15.3 结构数组.................. 216

  15.3.1 结构数组的定义............ 216

  15.3.2 结构数组的引用............ 217

  15.4 结构体指针...................... 219

  15.4.1 结构体指针变量的定义............ 219

  15.4.2 结构体指针变量的引用............ 220

  15.5 链表............. 223

  15.5.1 链表概述............. 223

  15.5.2 单链表建立......... 225

  15.5.3 单链表简单操作............ 229

  15.6 本章小结.................. 238

  15.7 习题............. 238

  第16 章共用体(教学视频:43 分钟) ............. 239

  16.1 共用体类型定义.............. 239

  16.1.1 定义共用体......... 239

  16.1.2 共用体的存储.................. 240

  16.2 共用体类型变量、数组和指针变量的定义............. 241

  16.2.1 先定义共用体,再定义共用体变量、数组及指针变量........... 241

  16.2.2 定义共用体的同时定义共用体变量、数组及指针变量........... 241

  16.2.3 定义共用体变量、数组及指针变量时省略共用体名............... 242

  16.3 共用体类型变量、数组和指针变量的引用............. 242

  16.4 共用体应用举例.............. 244

  16.5 枚举类型.................. 246

  16.5.1 枚举类型的定义............ 246

  16.5.2 枚举类型变量的赋值和引用............. 247

  16.6 用typedef定义数据类型........... 249

  16.7 本章小结.................. 253

  16.8 习题............. 253

  第17 章文件(教学视频:58 分钟) .........254

  17.1 文件概述.................. 254

  17.1.1 文件名................. 254

  17.1.2 文件的类型......... 255

  17.2 文件类型指针.................. 255

  17.3 文件的打开与关闭........... 257

  17.3.1 文件打开函数fopen()................ 257

  17.3.2 文件关闭函数fclose() ............... 259

  17.4 文件的读写操作.............. 259

  17.4.1 字符读写函数.................. 259

  17.4.2 字符串读写函数............ 262

  17.4.3 数据块读写函数............ 265

  17.4.4 格式数据读写函数........ 268

  17.5 文件的定位...................... 269

  17.5.1 文件头定位函数rewind().......... 269

  17.5.2 文件随机定位函数fseek()......... 270

  17.5.3 测试当前位置函数ftell()........... 271

  17.6 文件的检测...................... 272

  17.6.1 文件末尾检测函数feof()........... 272

  17.6.2 文件读写出错检测函数ferror() ........ 273

  17.6.3 清除文件末尾和出错标志函数clearerr() ................ 274

  17.7 本章小结.................. 274

  17.8 习题.............274

  第4 篇案例实战

  第18 章学生成绩管理系统设计(教学视频:18 分钟).........275

  18.1 学生成绩管理系统功能............. 275

  18.2 功能模块的描述.............. 275

  18.2.1 数据结构............. 275

  18.2.2 main()主函数....... 276

  18.2.3 score *creatlink()创建动态链表......... 276

  18.2.4 void print(score *head)显示学生信息.......... 277

  18.2.5 score *add(score *head,score *stu)向链表中添加学生数据........ 277

  18.2.6 score *search(score *head)查询学生成绩................. 277

  18.2.7 score *dele(score *head)删除数据.................. 278

  18.2.8 score *sortdata(score *head)对数据进行排序........... 278

  18.2.9 save(score *p1)保存数据........... 278

  18.2.10 score *load(score *head)从文件中读取数据.......... 278

  18.2.11 score *statistics(score *head)成绩统计....... 279

  18.2.12 int menu(int k)菜单.................. 279

  18.2.13 用到的头文件和全局变量............... 279

  18.3 程序代码.................. 279

  18.3.1 主函数main()代码........ 279

  18.3.2 创建链表函数creatlink()........... 280

  18.3.3 显示学生信息函数print() ......... 283

  18.3.4 向链表中添加学生数据函数add().............. 283

  18.3.5 查询学生成绩函数search ......... 285

  18.3.6 删除数据函数dele ........ 286

  18.3.7 对数据进行排序函数sortdata()......... 287

  18.3.8 保存数据函数save() ................. 290

  18.3.9 从文件中读取数据函数loadfile() ............... 290

  18.3.10 成绩统计函数statistics() ......... 291

  18.4 程序运行.................. 293

  18.4.1 编辑学生成绩.................. 293

  18.4.2 显示学生成绩.................. 293

  18.4.3 保存学生成绩信息........ 294

  18.4.4 查询学生的成绩............ 294

  18.4.5 添加学生的成绩............ 294

  18.4.6 删除学生的成绩............ 294

  18.4.7 学生成绩排序.................. 295

  18.4.8 从文件中读取学生的成绩......... 295

  18.4.9 统计学生的成绩............ 295

  18.5 本章小结.................. 295

  附录A ASCII 字符集........ 296

  附录B 运算符的优先级与结合性......... 298

  附录C C语言常用库函数.................... 301

  附录D 安装Visual C++ 6.0 集成开发环境....... 304

前言

  近年来,C语言是应用最为广泛的一种高级程序设计语言,它不仅是计算机专业学生的必修课,也是许多非计算机专业学生所青睐的技术学科。C语言程序设计是全国和各省计算机等级考试的重要考试内容。C语言功能丰富,表达能力强,使用灵活方便,程序效率高,是结构化程序设计语言。C语言具有很强的实用性,既可用来编写应用软件,也适合于编写系统软件。

  本书的特点

  C语言是学习其他语言的基础,读者只要掌握C语言,学习其他语言就会很快入门。本书为了使读者能够从C语言的初学者成为编程高手,专门对C语言知识进行研究分析。本书的主要特点如下:

  结构清晰明了。本书共18章,每章都分为若干节,每节一个小知识点,结构层次清晰可见。

  内容全面详细。本书涵盖了C语言中的所有知识,并将C语言各个知识点作为单独章节进行讲解,并举出大量实例。

  讲解由浅入深。向读者介绍C语言的基本理论知识、数据结构和基本的编程规则,让读者对C语言的基本知识及结构化程序设计思想有一个初步的认识;接着对C语言一些复杂的数据结构类型如数组、函数、指针操作、结构体与共用体、文件等进行详细的讲解。

  实例丰富多样。本书所讲的每一个知识点都运用充分的实例进行讲解说明,便于读者掌握。

  知识点介绍准确、清晰是其显著特点,一般放在每一节开始位置,让零基础的读者了解相关概念,顺利入门。

  实例书中出现的完整实例,以章节顺序编号,便于检索和循序渐进地学习、实践,各实例均放在每节知识点介绍之后。

  实例代码与实例编号对应,层次清楚、语句简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。

  运行结果对实例给出运行结果和对应图示,帮助读者更直观地理解实例代码。

  习题每章最后提供专门的测试习题,供读者检验所学知识是否牢固掌握。

  贴心的提示为了便于读者阅读,全书还穿插着一些技巧、提示等小贴士。体例约定如下:

  提示:通常是一些贴心的提醒,让读者加深印象或提供建议,或者解决问题的方法。

  注意:提出学习过程中需要特别注意的一些知识点和内容,或者相关信息。

  警告:对操作不当或理解偏差将会造成的灾难性后果做警示,以加深读者印象。

  经作者多年的培训和授课证明,以上讲解方式是最适合初学者学习的方式,读者按照这种方式,会非常轻松、顺利地掌握本书知识。

  2.实用超值的DVD光盘

  为了帮助读者比较直观地学习,本书附赠DVD光盘,内容包括多媒体视频、电子教案(PPT)和实例源代码等。

  多媒体视频

  配有长达15小时手把手教学视频,讲解关键知识点界面操作和书中的一些综合练习题。作者亲自配音、演示,手把手教会读者使用。

  电子教案(PPT)

  本书可以作为高校相关课程的教材或课外辅导书,所以笔者特别为本书制作了电子教案(PPT),以方便老师教学使用。

  3.提供完善的技术支持

  本书提供了论坛,读者可以在上面提问交流。另外,论坛上还有一些小的教程、视频动画和各种技术文章,可帮助读者提高开发水平。

  适合阅读本书的读者

  C语言的初、中级读者。

  了解C语言,但所学不全面的人员。

  高等理科院校学习C语言课程的学生。

  使用C语言进行毕业设计的学生。

  熟悉其他语言,以此作为参考书的开发人员。

  本书作者

  本书主要由戴晟晖和冯志强编写。其他参与本书编写的人员有曾光、张双、朱照华、黄永湛、张贺军、李勇、关涛、王岩、李晓白、魏星、刘蕾、品峰军、张增强。在此一并表示感谢!

展开全文阅读