零点起飞学C语言

零点起飞学C语言"

作者:康莉、杨国祥、项延铁等
ISBN:9787302318033
定价:¥55
字数:千字
页数:
出版时间:2013.07.01
开本:
版次:1-2
装帧:
出版社:清华大学出版社
简介

本书结合大量实例,由浅入深、循序渐进地介绍了C语言程序设计。本书立足于C语言入门基础知识,对C语言的产生、C语言基础、如何将C语言应用于实际开发等内容进行了细致入微的讲解,这必将使每一个阅读本书的读者少走弯路,快速上手,建立用C语言进行程序设计的信心。本书特意提供了典型习题及教学PPT,以方便教学。另外,本书配备了大量配套教学视频,帮助读者更好地学习。这些视频和书中的实例源代码一起收录于本书的配书光盘中。

  本书共14章,分3篇。第1篇详细介绍了如何在Visual Studio 2010下编译、调试及运行C语言程序,还重点介绍了C语言的各种基础知识,涵盖的内容有C语言概述、C语言数据及数据运算、C语言变量、选择结构、循环结构、数组、函数和指针等。第2篇C语言编程进阶介绍了扩展C语言的基本数据类型及数据结构、预编译指令、对外部数据——文件进行访问等内容。第3篇通过一个教务管理系统开发案例,带领读者体验实际的C语言项目开发,从而提升读者的实战水平。

  本书适合C语言入门与提高人员阅读,也可作为大中专院校及职业院校C程序设计课程的教材。另外,本书也可供程序员和编程爱好者作为实际工作中的参考书籍。

前言

前    言

  随着信息时代的到来,计算机技术发展的越来越快,计算机开发语言也是百家争鸣,出现了C、C++、Java、C#、PHP、Perl、Python等开发语言。这些计算机开发语言各有各的特色,也在不同的领域发挥着自己的特长。本书所介绍的C语言虽然没有这些语言华丽的外表,却有着超凡的功能与强项。1973年K.Thompson和D.Ritchie合作,利用C语言改写了UNIX,奠定了操作系统的基础。各种工作站系统大都采用UNIX和Linux,C语言是它们的标准系统开发语言,尤其是随着嵌入式领域的发展,给C语言带了更多的生机。

  C语言是计算机编程人员应具备的基本语言,特别是从事驱动研发、系统研发及嵌入式研发的工程师,C语言是必不可少的。即使今后从事的研发工作不直接使用C语言,但学习C语言对以后学习其他编程语言也有莫大的帮助。

  笔者结合自己多年的研发经验及研发心得体会,编写了本书。本书结合当前流行的面试题及经典的算法应用制作了大量的实例,由浅入深地讲解了C语言的各方面知识及学习中的重点和难点,并在最后演示了如何实用C语言开发一个实用的“教学管理系统”,让读者在实战中体会C语言的强大。本书内容丰富,讲解系统,图文并茂,讲解时理论与实例相互渗透,力图以最直观的方式让读者学习各个知识点,是一本简单易懂,易学易用的书。另外,作者还专门为本书录制了大量的配套多媒体教学视频,便于读者更加高效、直观地学习。本书还提供了大量的练习题和教学PPT,以方便教学。

  学习完本书后,读者结合其他知识可以具备独立的程序开发能力,能够成为C语言的驾驭者。

本书有何特色

  1.配多媒体教学视频

  本书提供大量的配套多媒体教学视频,对书中的重点内容及示例进行了详细讲解,并演示了运行效果。读者可以和图书结合起来高效、直观地学习,效果好。

  2.门槛低,零编程基础的读者也可以快速掌握

  本书从C语言的基础讲起,即使没有程序开发经验也可以进行学习。只要读者对操作系统使用熟练,具备一定的英语及计算机基础知识即可。

  3.全书系统地介绍了C语言及多种编程技术

  本书系统地介绍了C语言的各个知识点,包括C语言的数据类型、程序设计结构、函数、数组、字符串、指针、结构体、共用体、枚举和文件操作等知识点,并介绍了链表数据结构及一些常见的算法,使读者对C语言开发有一个全面的学习和认识。

  4.讲解由浅入深,循序渐进

  本书的编排采用循序渐进的方式,内容梯度从易到难,讲解由浅入深,适合各个层次的读者阅读,并均有所获。

  5.写作细致,图表丰富

  本书在内容编排、概念表述、语法讲解、示例讲解、源代注释等方面都很细致。对于理解有难度的知识点用大量图表进行了直观演示和讲解。

  6.贯穿大量的开发实例和技巧

  本书在讲解知识点时贯穿了大量短小精悍的典型实例,并给出了大量的开发技巧,力求让读者获得真正实用的知识。

  7.通过综合实例提高读者的C语言实操能力

  在本书的最后一章通过一个“教学管理系统”,系统地整理了C语言的各个知识点,并演示了C语言的实用技巧。

  8.提供教学PPT,方便老师教学

  本书适合大中专院校和职业学校作为职业技能可能的教学用书,所以专门制作了教学PPT,以方便各院校的老师教学时使用。

本书内容安排

  第1篇  C语言编程基础(第1~9章)

  本篇主要内容包括:C语言的发展和演变、C语言开发环境的搭建、常量、变量、变量的生存期和作用域、变量的存储与变量的作用域、各种基本数据类型、运算符及表达式、数据类型转换、数据输入输出、程序设计的选择结构、循环结构、数组、函数、指针等知识点。通过本篇的学习,读者可以掌握C语言编程的基础知识。

  第2篇  C语言编程进阶(第10~13章)

  本篇主要内容包括:结构体数据类型、共用体、枚举、动态内存分配、链表、位运算、预编译处理及文件的各种操作。通过学完本篇内容,读者可以进一步深入掌握C语言开发技术,让自己的C语言开发水平更上一个台阶。

  第3篇  实例篇(第14章)

  本篇通过演示一个教务管理系统的详细开发过程,带领读者体验实际的C语言项目开发过程,从而提升读者的实战水平。通过本篇的学习,读者可以全面应用前面所学的知识进行C语言开发,达到可以独立开发应用程序的水平。

本书光盘内容

* 本书配套多媒体教学视频;

* 本书实例涉及的源代码;

* 附赠的C语言进阶教学视频及源代码。

本书读者对象

* C语言入门人员;

* C语言专业程序员;

* 嵌入式软件程序员;

* 驱动开发程序员;

* 程序设计爱好者;

* 程序设计培训机构人员;

* 大中专院校的学生。

本书阅读建议

* 建议没有基础的读者,从前至后顺次阅读,尽量不要跳跃。

* 书中的实例和示例建议读者都要亲自上机动手实践,学习效果更好。

* 课后习题都动手做一做,以检查自己对本章内容的掌握程度,如果不能顺利完成,建议回过头来重新学习一下本章内容。

* 学习每章内容时,建议读者先仔细阅读书中的讲解,然后再结合本章教学视频,学习效果更佳。

本书作者

  本书主要由康莉、杨国祥和南阳理工学院的项延铁编写。其中,第1~5章由康莉编写,第6~8章由杨国祥编写,第9~14章由项延铁编写。其他参与编写和资料整理的人员有毕梦飞、蔡成立、陈涛、陈晓莉、陈燕、崔栋栋、冯国良、高岱明、黄成、黄会、纪奎秀、江莹、靳华、李凌、李胜君、李雅娟、刘大林、刘惠萍、刘水珍、马月桂、闵智和、秦兰、汪文君、文龙、陈冠军、张昆。

  阅读本书的过程中,若有任何疑问,可以发邮件到bookservice2008@163.com,或者到www.wanjuanchina.net的图书论坛上留言,以获得帮助。

  

  编著者 

  

  ??

  

  ??

  

  ??

  

  ??

  

零点起飞学C语言

  

前    言

  

·II·

  

  

·III·

  

  

  

  

  

  

目录

目    录

第1篇  C语言编程基础

第1章  走进C语言( 教学视频:46分钟) 2

1.1  计算机程序设计语言 2

1.1.1  计算机程序设计语言的发展 2

1.1.2  C语言的由来 3

1.1.3  C语言的优势 3

1.2  计算机程序设计 4

1.2.1  什么是计算机程序设计 5

1.2.2  计算机程序设计中的算法 5

1.2.3  常见程序设计的3种基本结构 9

1.2.4  什么是结构化程序设计方法 11

1.3  C语言程序设计的特点 13

1.3.1  C语言程序设计的第一个实例 13

1.3.2  C语言程序设计的结构特点 14

1.3.3  C语言的标识符及关键字 15

1.4  编译、连接C语言程序 17

1.5  如何编译、运行C语言程序 19

1.5.1  使用Visual C++ 2010开发C语言程序 19

1.5.2  使用Visual C++ 2010编译C语言程序 22

1.6  小结 24

1.7  习题 25

第2章  C语言数据及数据运算( 教学视频:46分钟) 26

2.1  C语言中的常量 26

2.1.1  定义C语言常量 26

2.1.2  什么是符号常量 27

2.2  C语言中的变量 27

2.2.1  C语言变量的定义 27

2.2.2  C语言变量的命名 28

2.2.3  C语言变量赋值 28

2.2.4  C语言变量的作用域 29

2.2.5  C语言变量的extern声明方式 30

2.3  C语言的数据类型 31

2.3.1  整型数据 31

2.3.2  实型数据 33

2.3.3  字符型数据 35

2.4  C语言的运算符及表达式 37

2.4.1  什么是运算符和表达式 37

2.4.2  赋值相关的运算符及表达式 38

2.4.3  算术运算相关的运算符及表达式 39

2.4.4  关系运算相关的运算符及表达式 40

2.4.5  逻辑运算相关的运算符及表达式 41

2.4.6  条件运算相关的运算符及表达式 43

2.4.7  逗号运算符及逗号表达式 43

2.4.8  C语言的运算符优先级 44

2.5  数据类型转换 44

2.5.1  不同数据类型间的隐式转换 45

2.5.2  不同数据类型间的显式转换 45

2.6  如何输入数据 47

2.6.1  一般数据的格式化输入 47

2.6.2  字符数据输入 49

2.7  如何输出数据 51

2.7.1  一般数据的格式化输出 51

2.7.2  字符数据的输出 54

2.8  数据运算及数据输入、输出程序实例 54

2.9  小结 55

2.10  本章习题 56

第3章  C语言的变量( 教学视频:44分钟) 57

3.1  变量的生存期和作用域 57

3.1.1  变量的生存期 57

3.1.2  变量的作用域 59

3.2  局部变量与全局变量 60

3.2.1  局部变量 60

3.2.2  全局变量 62

3.2.3  变量的屏蔽效果 64

3.3  变量的存储与变量的作用域 65

3.3.1  变量的存储 65

3.3.2  自动型变量 66

3.3.3  静态变量 67

3.3.4  外部变量 70

3.3.5  寄存器变量 71

3.3.6  变量存储类型 72

3.4  变量使用实例 73

3.5  小结 74

3.6  本章习题 74

第4章  C语言程序设计的选择结构( 教学视频:59分钟) 76

4.1  什么是选择结构 76

4.2  if实现的选择结构 76

4.2.1  if是什么 77

4.2.2  if结构的使用实例 78

4.3  if-else实现的选择结构 79

4.3.1  if-else是什么 79

4.3.2  if-else结构的使用实例 80

4.4  多重if实现的选择结构 81

4.4.1  什么是多重if 81

4.4.2  多重if结构的使用实例 82

4.5  if嵌套实现的选择结构 83

4.5.1  什么是if嵌套结构 83

4.5.2  else该和哪个if匹配 84

4.5.3  if嵌套结构的使用实例 84

4.6  switch实现的选择结构设计 85

4.6.1  什么是switch 85

4.6.2  使用switch应注意什么 87

4.6.3  switch是如何执行的 87

4.6.4  switch结构的使用实例 87

4.7  switch与多重if的异同 90

4.8  选择结构程序设计实例 92

4.9  小结 95

4.10  本章习题 95

第5章  C语言程序设计的循环结构( 教学视频:66分钟) 97

5.1  什么是循环结构 97

5.2  如何使用while循环 98

5.2.1  while循环的基本语法 98

5.2.2  while循环的使用实例 99

5.3  如何使用do-while循环 101

5.3.1  do-while循环的基本语法 101

5.3.2  do-while循环的使用实例 102

5.4  如何使用for循环 104

5.4.1  for循环的基本语法 104

5.4.2  使用for循环时应该注意什么 105

5.4.3  for循环使用实例 106

5.5  实现多重循环的嵌套 108

5.5.1  如何实现循环嵌套 108

5.5.2  循环嵌套使用实例 109

5.6  如何选择循环结构 110

5.7  打破循环的跳转语句 112

5.7.1  break跳转语句 112

5.7.2  continue跳转语句 113

5.7.3  goto跳转语句 114

5.8  循环结构程序设计实例 115

5.9  小结 117

5.10  本章习题 118

第6章  简单数据结构——数组( 教学视频:67分钟) 119

6.1  什么是数组 119

6.2  一维数组及其使用方法 120

6.2.1  如何定义一维数组 120

6.2.2  如何存储一维数组 120

6.2.3  如何初始化一维数组 121

6.2.4  如何引用一维数组的元素 121

6.2.5  一维数组使用实例 122

6.3  二维数组及其使用方法 123

6.3.1  如何定义二维数组 123

6.3.2  如何存储二维数组 124

6.3.3  如何初始化二维数组 124

6.3.4  如何引用二维数组的元素 125

6.3.5  二维数组使用实例 126

6.4  多维数组及其使用方法 127

6.4.1  如何定义多维数组 127

6.4.2  如何存储多维数组 127

6.4.3  如何初始化多维数组 128

6.4.4  如何引用多维数组的元素 128

6.5  字符数组与字符串 129

6.5.1  如何定义字符数组 129

6.5.2  如何初始化字符数组 129

6.5.3  如何引用字符数组 130

6.5.4  如何输入字符串 131

6.5.5  如何输出字符串 133

6.5.6  字符串处理的库函数 134

6.5.7  字符串使用实例 142

6.6  数组应用实例 143

6.7  小结 146

6.8  本章习题 147

第7章  初识C语言函数( 教学视频:38分钟) 148

7.1  什么是函数 148

7.2  如何定义函数 149

7.2.1  无参函数的定义形式 149

7.2.2  有参函数的定义形式 150

7.2.3  空函数 151

7.3  函数的交互接口 151

7.3.1  函数的数据出入口——形参和实参 151

7.3.2  函数参数使用时应注意什么 152

7.3.3  函数的数据出口——返回值 153

7.4  调用——访问函数的方法 155

7.4.1  如何调用函数 155

7.4.2  何时、何处会调用函数 156

7.4.3  调用函数时应注意些什么 158

7.4.4  函数的声明 158

7.5  如何在函数之间传递参数 159

7.5.1  用传值方式进行参数传递 160

7.5.2  用传地址方式进行参数传递 161

7.6  小结 162

7.7  本章习题 162

第8章  深入学习C语言函数( 教学视频:56分钟) 164

8.1  C语言的入口函数main() 164

8.1.1  如何定义main()函数 164

8.1.2  不同返回类型的main()函数 165

8.1.3  main()函数的参数 166

8.2  函数的数组类型参数 167

8.2.1  数组元素作为函数实参 167

8.2.2  数组名作为函数参数 168

8.2.3  多维数组作为函数参数 170

8.3  函数的嵌套调用 172

8.3.1  什么是函数的嵌套调用 172

8.3.2  函数嵌套调用实例 172

8.4  函数的递归调用 173

8.4.1  什么是函数的递归调用 173

8.4.2  函数递归调用实例 175

8.5  外部函数与内部函数 177

8.5.1  什么是外部函数 177

8.5.2  什么是内部函数 178

8.6  函数调用应用实例 179

8.7  小结 182

8.8  本章习题 183

第9章  指针( 教学视频:71分钟) 184

9.1  为何引入指针 184

9.1.1  以直接方式访问内存 184

9.1.2  以间接方式访问内存 185

9.2  如何定义及引用指针 186

9.2.1  什么是指针 186

9.2.2  如何定义指针变量 186

9.2.3  指针相关的运算符 187

9.2.4  指针的引用 187

9.3  指针相关的运算 190

9.3.1  指针相关的赋值运算 191

9.3.2  指针相关的算术运算 192

9.3.3  指针相关的关系运算 193

9.4  数组与指针 194

9.4.1  数组元素的指针 195

9.4.2  以指针方式引用数组元素 195

9.4.3  数组指针作为函数参数 199

9.4.4  指向多维数组的指针变量 202

9.5  指针类型数组 205

9.5.1  什么是指针数组 205

9.5.2  指针数组使用实例 206

9.6  指针与字符串 207

9.6.1  指向字符的指针 207

9.6.2  字符指针使用实例 209

9.6.3  函数的字符串指针类型参数 210

9.6.4  字符串指针和字符数组的异同 214

9.7  函数与指针 216

9.7.1  函数指针 216

9.7.2  函数指针作为函数的参数 218

9.8  指针的指针 219

9.8.1  如何定义指针的指针 219

9.8.2  如何使用指针的指针 220

9.9  指针应用实例 222

9.10  小结 224

9.11  本章习题 225

第2篇  C语言编程进阶

第10章  构造数据类型及其应用( 教学视频:61分钟) 228

10.1  结构体数据类型 228

10.1.1  什么是结构体 228

10.1.2  如何定义结构体 229

10.2  结构体类型变量 230

10.2.1  如何定义结构体变量 230

10.2.2  如何引用结构体变量 232

10.2.3  如何初始化结构体变量 234

10.3  结构体数组 236

10.3.1  如何定义结构体数组 236

10.3.2  如何初始化结构体数组 238

10.3.3  如何引用结构体数组 239

10.4  结构体指针 242

10.4.1  结构体类型变量的指针 242

10.4.2  结构体类型数组指针 243

10.5  结构体变量与函数 245

10.5.1  结构体变量作为函数参数 245

10.5.2  结构体变量作函数的返回值 247

10.6  内存的动态存储分配技术 249

10.6.1  内存的动态存储分配 249

10.6.2  链表 249

10.6.3  动态存储分配函数 251

10.6.4  创建链表 254

10.6.5  查询链表 256

10.6.6  链表结点的插入 257

10.6.7  链表结点的删除 258

10.7  结构体应用实例 260

10.8  共用体 264

10.8.1  什么是共用体 264

10.8.2  如何声明共用体 264

10.8.3  如何引用共用体变量成员 266

10.8.4  共用体的使用注意事项 268

10.9  枚举 269

10.9.1  如何定义枚举类型 270

10.9.2  如何声明枚举类型变量 270

10.9.3  如何引用枚举类型变量 271

10.9.4  枚举类型的实用注意事项 272

10.10  自定义类型 274

10.11  小结 275

10.12  本章习题 276

第11章  C语言的最小数据单位——位( 教学视频:34分钟) 278

11.1  位运算基础 278

11.1.1  位与字节 278

11.1.2  原码 279

11.1.3  反码 279

11.1.4  补码 280

11.2  位运算 281

11.2.1  按位与运算 281

11.2.2  按位或运算 282

11.2.3  按位异或运算 283

11.2.4  按位取反运算 284

11.2.5  左移运算 285

11.2.6  右移运算 285

11.3  位运算实例 286

11.3.1  取一个二进制整数最右端第m位开始的n位 286

11.3.2  输出正整数的二进制形式 287

11.4  位段 288

11.4.1  位段基础知识 288

11.4.2  位段的引用 290

11.5  小结 291

11.6  本章习题 292

第12章  预处理( 教学视频:35分钟) 294

12.1  文件包含 294

12.1.1  文件包含宏基础 294

12.1.2  如何实用文件包含宏 295

12.1.3  文件包含宏的使用注意事项 296

12.2  宏定义 296

12.2.1  定义符号常量 297

12.2.2  定义不带参数 297

12.2.3  定义带参数的宏 299

12.2.4  带参数的宏注意事项 300

12.2.5  带参数的宏与函数的区别 301

12.2.6  宏定义的使用注意事项 301

12.3  条件编译 302

12.3.1  #ifdef形式的条件编译 303

12.3.2  #ifndef形式的条件编译 303

12.3.3  #if形式的条件编译 303

12.4  小结 304

12.5  本章习题 304

第13章  文件操作( 教学视频:48分钟) 306

13.1  文件操作基础 306

13.1.1  文件基础知识 306

13.1.2  文件指针 308

13.1.3  文件处理步骤 309

13.2  文件的打开和关闭 309

13.2.1  文件的打开 310

13.2.2  文件的关闭 311

13.3  文件的读写 312

13.3.1  字符的输入、输出 312

13.3.2  字符串的输入、输出 315

13.3.3  格式化数据的输入、输出文件 318

13.3.4  数据块的输入、输出文件 320

13.3.5  文件状态检查 322

13.4  文件定位 324

13.4.1  移动位置指针到文件头 324

13.4.2  随机移动文件位置指针 325

13.5  小结 327

13.6  本章习题 327

第3篇  实  例  篇

第14章  教务管理系统( 教学视频:55分钟) 330

14.1  教务管理系统主要数据结构设计 330

14.1.1  分析数据库中的表 330

14.1.2  数据库功能模块划分 331

14.1.3  需要的内存文件与头文件 332

14.2  程序界面设计 334

14.3  各个模块的实现 337

14.3.1  学生记录文件建立 337

14.3.2  学生成绩记录的录入 339

14.3.3  计算本学期课程平均成绩 341

14.3.4  成绩排序 342

14.3.5  分类统计成绩分布情况 343

14.3.6  成绩的输出 346

14.3.7  学生记录的保存 347

14.3.8  学生的查找操作 348

14.3.9  学生记录的追加 350

14.3.10  删除数据库中指定的学生记录 352

14.3.11  学生数据的修改 354

14.3.12  课程信息表的建立 355

14.3.13  安排课程的授课顺序 357

14.3.14  安排教学计划 359

14.3.15  教务管理系统实现 360

14.4  小结 364

  

  

  ??

  

  ??

  

  ??

  

  ??

  

零点起飞学C语言

  

目    录

  

·XIV·

  

  

·XIII·

  

  

  

  

  

  

作者简介

编辑推荐

作者寄语

电子资料

www.luweidong.cn

下一个