分享
 
 
 

零基础学C语言(附盘)(零基础学编程)(附赠CD光盘1张)

零基础学C语言(附盘)(零基础学编程)(附赠CD光盘1张)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  參考價格: 点此进入淘宝搜索页搜索
  分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,C语言及其相关,
  品牌: 康莉

基本信息·出版社:机械工业出版社

·页码:378 页

·出版日期:2009年

·ISBN:711126603X

·条形码:9787111266037

·包装版本:1版

·装帧:平装

·开本:16

·正文语种:中文

·丛书名:零基础学编程

·附带品描述:附赠CD光盘1张

产品信息有问题吗?请帮我们更新产品信息。

内容简介《零基础学C语言》的特点是内容全面、翔实,通俗易懂,循序渐进地介绍了C语言各方面的知识,重点突出。《零基础学C语言》含有大量实例,代码短小精炼,紧扣所讲要点的本质,以加深读者的印象,同时结合笔者多年使用C语言的经验,阐述了很多代码编写技巧,读者可将代码复制到自己的机器上进行实验,自行实践和演练。C语言是编程方式灵活多样、功能强大、应用广泛的一种程序设计语言。从程序设计语言的发展历程来看,尽管后来出现了以C++、Java和C#等为代表的新语言,但C语言的基础地位不可撼动。C语言的核心是结构化的编程思想,《零基础学C语言》一共分为四篇,循序渐进地讲述了C语言的语法规则和编程思想,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构和算法都进行了详细的阐述,并通过实例对具体知识点进行了详细的讲解。

作者简介康莉,毕业于西安交通大学管理学院,获得管理科学与工程专业硕士学位。研究方向是信息管理与电子商务。1997年7月至今,任职于陕西省行政学院计算机系,主讲数据库、C语言,管理信息系统、计算机应用基础等。有丰富的开发经验,参与开发过多个网络应用系统。近几年发表的论文有《非线性理论在电子商务中的应用》、《软件维护管理研究现状的缺陷分析》、《计算机考试系统的设计与实现》、《基于数据挖掘技术的电子政务》等。在2007年学院评估工作中,参与撰写“计算机基础课教学改革”一文,荣获学院高等职业教育教学改革理论研讨会一等奖。

编辑推荐《零基础学C语言》适合C语言的初级、中级读者阅读,并可作为开发人员的参考手册。

循序渐进,全面掌握:从入门到提高,从语法、语义到数据结构,一点一滴吃透C语言

实例丰富,迅速上手:提供133个例和1个综合案例讲解,实例可轻松移植,易于掌握

示例简洁,紧扣主题:每个示例程序短小精炼,可以很好地层示所讲知识要点

要点突出,贴心提示:对不好理解的技术点或容易出错的地方给出特别提示,加深读者理解

编程经验,心得体会:给出编者多年开发经验的精心总结,让读者少走弯路

目录

写给未来的程序员

前言

第一篇 C语言基础

第1章 踏上征程前的思想动员/1

1.1 为什么选择C语言/1

1.2 如何学好C语言/2

1.3 语言概述/3

1.3.1 什么是语言/3

1.3.2 什么是机器语言/3

1.3.3 什么是汇编语言/4

1.3.4 面向过程的语言/5

1.3.5 什么是C语言/5

1.4 程序开发周期/5

1.4.1 编辑C源代码/6

1.4.2 编译C源代码/6

1.4.3 连接目标文件/7

1.4.4 编译连接过程示例/7

1.4.5 运行程序/8

1.5 VC++、C++、C和TC—认识开发环境和语言的区别/8

1.6 小结/11

第2章 跟我写Hello World/12

2.1 自己动手创建程序/12

2.2 认识LCC-Win32开发环境/12

2.2.1 为什么选择LCC-Win32/13

2.2.2 启动LCC-Win32/13

2.2.3 新建Hello World工程/13

2.2.4 定义新工程/14

2.2.5 添加源代码到工程/15

2.2.6 编译器设置/15

2.2.7 连接器设置/15

2.2.8 调试器设置/16

2.2.9 开始编辑代码/16

2.3 编译运行—欣赏您的杰作/17

2.4 查看代码如何一步一步被执行—调试排错(debug)/18

2.4.1 debug一词的由来/18

2.4.2 设置断点/19

2.4.3 调试运行/19

2.5 小结/20

第3章 分解Hello World—最简单C程序的组成/21

3.1 C程序概貌/21

3.2 程序员的解释—注释/21

3.3 从哪里开始,到哪里结束—main函数/23

3.4 如何在屏幕上显示文字—函数调用/24

3.5 编译器如何认识printf函数—#include预处理器指示符/25

3.5.1 函数声明及其作用/25

3.5.2 试验寻找#include的作用/26

3.5.3 #include的作用/27

3.6 计算1+1—有些小作为的程序/27

3.7 数据从哪里来,又到哪里去—变量/28

3.7.1 变量在内存中的表现形式/28

3.7.2 编译器使用变量符号表/29

3.7.3 变量及其使用/30

3.8 自己设计C函数/31

3.8.1 在main函数中计算3个整数的平均数/31

3.8.2 在main函数中分3次计算3个整数的平均数/32

3.8.3 自编函数实现计算3个整数的平均数/32

3.8.4 如何自编写函数/33

3.8.5 试验观察总结函数声明和函数定义的意义/34

3.9 语句构成程序/35

3.10 向好程序员看齐—代码风格/36

3.11 小结/36

第4章 如何存储和获取数据—变量及数据类型/37

4.1 二进制、八进制、十六进制/37

4.2 计算机中如何表示数据—字节和位/38

4.3 内存是存储数据的“房间”—认识计算机内存/39

4.4 数据类型/40

4.4.1 整数类型/41

4.4.2 整数的正负—有符号和无符号/42

4.4.3 实数类型/44

4.4.4 字符类型/45

4.4.5 数据类型总结/45

4.5 常量/46

4.5.1 直接常量(字面常量)和符号常量/46

4.5.2 符号常量的优点/48

4.5.3 字面常量的书写格式/48

4.5.4 转义字符/50

4.5.5 字符串/51

4.6 变量/52

4.6.1 变量的声明/52

4.6.2 变量声明的意义/53

4.6.3 标识符和关键字/54

4.6.4 变量在内存中占据的空间和变量的值/56

4.6.5 变量赋初值/59

4.7 几个与变量相关的经典算法/60

4.7.1 累加和累乘/60

4.7.2 交换两个变量的值/62

4.8 小结/63

第5章 用屏幕和键盘交互—简单的输出和输入/64

5.1 输入—处理—输出:这就是程序/64

5.2 向屏幕输出—printf函数详解/64

5.2.1 printf函数的一般形式/65

5.2.2 格式字符串的一般形式/67

5.2.3 %d—十进制形式输出带符号整数/67

5.2.4 %最小宽度d格式符/68

5.2.5 %ld格式符—以长整型方式输出/68

5.2.6 %o格式符—以八进制形式输出整数/69

5.2.7 %x格式符—以十六进制的形式输出整数/69

5.2.8 %u格式符—以十进制形式输出unsigned型数据/70

5.2.9 %c格式符/70

5.2.10 %s格式符—输出字符串/71

5.2.11 %f格式符—输出实型数据/74

5.2.12 %e格式符—以指数形式输出实数/75

5.2.13 %g格式符—自动选择%f或者%e形式输出/76

5.2.14 printf函数小结/76

5.3 字符输出putchar和字符串输出puts/76

5.3.1 putchar函数(字符输出函数)/77

5.3.2 puts函数(字符串输出函数)/78

5.4 接收键盘输入—scanf函数详解/79

5.4.1 一般形式/80

5.4.2 scanf函数的工作原理/80

5.4.3 多数据输入分隔规则/82

5.4.4 格式字符/83

5.4.5 scanf使用方法说明/84

5.4.6 使用scanf函数的注意事项/87

5.5 字符输入函数getchar/89

5.6 输入输出程序举例/89

5.7 小结/92

第6章 程序的基本构成—运算符和表达式/93

6.1 认识C中的运算符和表达式/93

6.1.1 认识运算符和表达式/93

6.1.2 操作数、运算符和表达式/94

6.1.3 C运算符简介/94

6.2 算术运算符和算术表达式/95

6.2.1 基本的算术运算符/95

6.2.2 ++自增、——自减运算符/96

6.2.3 算术表达式和运算符的优先级及结合性/99

6.3 逗号运算符和逗号表达式/100

6.3.1 逗号表达式的一般形式/100

6.3.2 逗号表达式的优先级和结合性/100

6.4 关系运算符和关系表达式/102

6.4.1 关系运算符的种类/102

6.4.2 关系表达式的一般形式/102

6.5 逻辑运算符和逻辑表达式/103

6.5.1 逻辑运算符/103

6.5.2 逻辑真值表/104

6.6 赋值运算符和赋值表达式/105

6.6.1 赋值表达式/105

6.6.2 复合赋值运算符/105

6.6.3 类型转换/106

6.6.4 左值与程序实体/106

6.7 强制类型转换和自动类型转换/107

6.7.1 强制类型转换/107

6.7.2 自动类型转换/108

6.7.3 函数调用时的转换/109

6.8 运算符的优先级/109

6.8.1 优先级、结合性汇总/110

6.8.2 短路表达式/110

6.8.3 sizeof运算符与sizeof表达式/111

6.9 小结/111

第7章 程序的最小独立单元—语句/112

7.1 5种语句类型/112

7.1.1 表达式语句/112

7.1.2 函数调用语句/113

7.1.3 空语句/113

7.1.4 复合语句(块语句)/113

7.1.5 流程控制语句/114

7.2 结构化程序设计/114

7.2.1 什么是算法/114

7.2.2 算法的表示/114

7.2.3 算法的伪代码表示/115

7.2.4 算法的流程图表示/115

7.2.5 3种控制结构/115

7.2.6 算法示例/116

7.3 小结/117

第8章 条件判断—分支结构/118

8.1 简单的条件判断—if语句/118

8.1.1 判断表达式/118

8.1.2 花括号和if结构体/119

8.2 两条岔路的选择—if else结构/120

8.2.1 关键在else/120

8.2.2 if else结构体/121

8.3 多分支语句和分支语句嵌套/122

8.3.1 多分支/122

8.3.2 多分支if结构/124

8.3.3 分支语句嵌套/125

8.4 开关语句—switch结构/126

8.4.1 一般形式/126

8.4.2 为什么叫开关语句/128

8.4.3 default语句/130

8.4.4 if结构和switch结构之比较/130

8.5 小结/130

第9章 一遍又一遍—循环结构/131

9.1 构造循环/131

9.1.1 循环的条件/131

9.1.2 当型循环和直到型循环/132

9.2 简洁循环语句—while和do while结构/132

9.2.1 语法规则/133

9.2.2 代码块/133

9.3 最常用的循环语句—for结构/134

9.3.1 基本形式/134

9.3.2 表达式省略/136

9.3.3 循环终止和步长/137

9.4 循环嵌套/137

9.4.1 嵌套示例/137

9.4.2 嵌套的效率/138

9.5 与循环密切相关的流程转向控制语句/139

9.5.1 跳出循环—break/139

9.5.2 重来一次—continue/140

9.5.3 随心所欲—goto/140

9.6 小结/141

第二篇 一窥C语言门庭

第10章 写程序就是写函数—函数入门/143

10.1 什么是函数—根据输入进行处理返回输出/143

10.1.1 分割/143

10.1.2 库函数和自定义函数/144

10.2 自定义函数/144

10.2.1 定义的语法/144

10.2.2 函数定义范例/145

10.2.3 不要重复定义/146

10.3 函数调用与返回/146

10.3.1 形参和实参/146

10.3.2 传址调用/147

10.3.3 函数返回/149

10.4 告诉编译器有这么一个函数—函数原型声明/149

10.4.1 函数声明的语法/150

10.4.2 声明不同于定义/151

10.4.3 标准库函数的声明/152

10.5 面向过程的程序结构/152

10.5.1 模块化/152

10.5.2 函数的调用过程—模块的配合/152

10.5.3 一个入口一个出口/153

10.5.4 自顶向下,逐步求精/153

10.5.5 封装和可重用/153

10.5.6 高内聚,低耦合/154

10.6 小结/154

第11章 同一类型多个元素的集合—简单数组/155

11.1 什么是数组/155

11.1.1 数组是一大片连续内存空间/155

11.1.2 数组元素的访问/156

11.2 一维数组/156

11.2.1 一维数组的声明/156

11.2.2 一维数组元素的访问/156

11.2.3 数组的初始化/157

11.2.4 不合法的数组操作/158

11.3 二维数组/159

11.3.1 二维数组的声明/159

11.3.2 二维数组的初始化/159

11.3.3 二维数组应用举例/160

11.4 更高维的数组/161

11.4.1 高维数组的声明和元素访问/161

11.4.2 初始化/161

11.4.3 多维数组在内存中是如何排列元素的/162

11.5 小结/163

第12章 C语言难点—指针初探/164

12.1 计算机中的内存/164

12.1.1 内存地址/164

12.1.2 内存中保存的内容/164

12.1.3 地址就是指针/165

12.2 指针的定义/165

12.2.1 指针变量的声明/165

12.2.2 指针变量的初始化/166

12.2.3 指针变量的值/166

12.2.4 取地址操作符&/166

12.2.5 指针变量占据一定的内存空间/166

12.2.6 指向指针的指针/167

12.3 使用指针/168

12.3.1 运算符*/168

12.3.2 指针的类型和指针所指向的类型/169

12.3.3 同类型指针的赋值/169

12.3.4 指针的类型和指针所指向的类型不同/170

12.4 指针的运算/172

12.4.1 算术运算之“指针+整数”或“指针-整数”/172

12.4.2 指针-指针/173

12.4.3 指针的大小比较/174

12.5 指针表达式与左值/174

12.5.1 指针与整型/175

12.5.2 指针与左值/175

12.5.3 指针与const/175

12.6 动态内存分配/176

12.6.1 动态分配的好处/177

12.6.2 malloc与free函数/177

12.6.3 calloc与free函数/178

12.6.4 free函数与指针/179

12.6.5 内存泄漏/180

12.6.6 释放已经释放了的内存会出问题/180

12.7 小结/180

第13章 字符串及字符串操作/181

13.1 C风格字符串/181

13.1.1 C风格字符串的声明/181

13.1.2 C风格字符串在内存中的表示/181

13.2 字符数组的输入输出/182

13.2.1 字符数组可以进行整体输入输出/182

13.2.2 使用gets函数读入整行输入/183

13.2.3 访问字符数组中某个元素/184

13.2.4 更便捷的输出—使用puts函数/184

13.3 字符串处理函数/185

13.3.1 理解:数组名是常指针/185

13.3.2 strlen函数与size_t/187

13.3.3 字符串复制函数strcpy/188

13.3.4 字符串比较函数strcmp/189

13.3.5 字符串连接函数strcat/190

13.3.6 全转换为大写形式/190

13.3.7 链式操作/191

13.4 小结/192

第14章 结构体、共用体、枚举和typedef/193

14.1 结构体/193

14.1.1 结构体的定义/193

14.1.2 声明结构体变量/194

14.1.3 初始化结构变量/194

14.1.4 访问结构体成员/194

14.1.5 结构体定义的位置/195

14.1.6 结构体变量赋值/196

14.2 特殊结构体/196

14.2.1 结构体嵌套/197

14.2.2 匿名结构体/200

14.3 共用体/200

14.3.1 什么是共用体/200

14.3.2 共用体的定义/200

14.3.3 声明共用体变量/201

14.3.4 共用体变量的初始化/201

14.3.5 共用体成员访问/201

14.3.6 共用体赋值/202

14.4 结构体和共用体的内存差异/202

14.4.1 结构体变量和共用体变量内存形式的不同/203

14.4.2 结构体变量的内存大小/203

14.4.3 字节对齐/204

14.4.4 最宽基本类型/204

14.4.5 共用体的大小/206

14.5 枚举类型/206

14.5.1 枚举类型的定义/206

14.5.2 声明枚举变量/207

14.5.3 枚举常量是什么/207

14.6 给类型取个别名—typedef/208

14.6.1 typedef基本用法/208

14.6.2 #define用法/208

14.7 小结/208

第15章 如何节省内存—位运算/209

15.1 什么是位运算/209

15.1.1 开灯关灯/209

15.1.2 改变状态/209

15.2 位逻辑运算符/210

15.2.1 位取反操作/210

15.2.2 位与运算/210

15.2.3 位或运算/210

15.2.4 位异或/210

15.2.5 实例分析/211

15.3 移位运算/212

15.3.1 基本形式/212

15.3.2 移位举例/212

15.4 小结/213

第三篇 C语言进阶

第16章 存储不仅仅局限于内存—文件/215

16.1 什么是文件/215

16.1.1 文件/215

16.1.2 流/216

16.1.3 重定向/216

16.1.4 文件的处理形式—缓冲区和非缓冲区/216

16.1.5 文件的存储形式—文本形式和二进制形式/217

16.2 C语言如何使用文件/217

16.2.1 文件型指针/217

16.2.2 文件操作的步骤/218

16.3 文件的打开与关闭/218

16.3.1 打开文件—fopen/218

16.3.2 打开是否成功/219

16.3.3 关闭文件—fclose/219

16.4 文件的读写/220

16.4.1 读写的相对参照/220

16.4.2 如何判断文件已经结束/220

16.4.3 字符读写函数—fgetc和fputc/220

16.4.4 字符串读写函数—fgets和fputs/222

16.4.5 块读写函数—fread和fwrite/224

16.4.6 格式化文件输入输出—fprintf与fscanf/227

16.5 文件的定位/229

16.5.1 移到开头—rewind/229

16.5.2 得到当前位置—ftell/229

16.5.3 移动指针—fseek/229

16.6 小结/230

第17章 灵活却难以理解—指针进阶/232

17.1 指针与数组/232

17.1.1 数组名指针/232

17.1.2 使用数组名常指针表示数组元素/233

17.1.3 指向数组元素的指针变量/233

17.1.4 指向数组的指针变量/234

17.1.5 指针数组/235

17.2 指针、结构体和结构体数组/236

17.2.1 两种访问形式/236

17.2.2 声明创建一个结构数组/236

17.2.3 结构数组的初始化/236

17.2.4 结构数组的使用/238

17.2.5 指向结构数组的指针/238

17.3 函数指针/239

17.3.1 函数名指针/239

17.3.2 指向函数的指针/240

17.3.3 函数指针类型/241

17.3.4 函数指针作函数参数/242

17.3.5 函数指针数组/243

17.3.6 指向函数指针的指针/244

17.4 小结/245

第18章 更深入的理解—函数进阶/247

18.1 参数传递的副本机制/247

18.1.1 传值调用的副本机制/247

18.1.2 传址调用的副本机制/248

18.2 函数返回值的副本机制/250

18.2.1 return局部变量为什么合法/251

18.2.2 返回指针申请动态内存/251

18.2.3 不要返回指向栈内存的指针/252

18.2.4 返回指向只读存储区的指针/253

18.3 函数与结构体/253

18.3.1 结构体变量的传值和传址调用/253

18.3.2 结构体变量的成员作为函数参数/254

18.3.3 返回结构体的函数/255

18.3.4 返回结构体指针的函数/256

18.4 函数与数组/256

18.4.1 数组元素作为函数参数/257

18.4.2 数组名作为函数参数/257

18.4.3 多维数组名作为函数参数/259

18.4.4 数组名作为函数参数时的退化/260

18.5 递归/261

18.5.1 递归流程/261

18.5.2 递归两要素/262

18.5.3 效率与可读性/262

18.6 带参数的主函数/262

18.7 小结/263

第19章 生存期、作用域与可见域/264

19.1 内存分配/264

19.1.1 内存分区/264

19.1.2 变量的存储类别/265

19.1.3 生存期/265

19.1.4 作用域与可见域/265

19.2 auto变量/266

19.2.1 定义格式/266

19.2.2 作用域和生存期/266

19.2.3 屏蔽/267

19.2.4 重复定义/268

19.2.5 初始化/269

19.3 register变量/269

19.3.1 定义格式/269

19.3.2 使用举例/269

19.4 extern变量/270

19.4.1 全局变量定义/270

19.4.2 全局变量声明/271

19.4.3 可见域/272

19.4.4 屏蔽/273

19.4.5 利与弊/275

19.5 static变量/275

19.5.1 定义格式/275

19.5.2 静态局部变量/276

19.5.3 静态全局变量/277

19.5.4 extern变量和static变量的初始化/278

19.6 函数的作用域与可见域/278

19.6.1 内部函数/278

19.6.2 外部函数/279

19.7 结构体定义的作用域与可见域/280

19.7.1 定义位置与可见域/280

19.7.2 允许重复定义/280

19.8 小结/281

第20章 编译及预处理/282

20.1 编译流程/282

20.1.1 编辑/282

20.1.2 预处理/282

20.1.3 编译/283

20.1.4 连接/283

20.2 程序错误/283

20.2.1 错误分类/284

20.2.2 编译错误/284

20.2.3 连接错误/284

20.2.4 逻辑错误/284

20.2.5 排错/285

20.3 预处理命令之宏定义/285

20.3.1 宏定义/285

20.3.2 不带参数的宏定义/285

20.3.3 带参数的宏定义/287

20.3.4 #define定义常量与const常量/289

20.3.5 文件包含/290

20.3.6 条件编译/291

20.4 小结/292

第21章 数据结构/293

21.1 链表/293

21.1.1 链表的结构/293

21.1.2 创建链表并遍历输出/294

21.1.3 链表的插入/296

21.1.4 链表结点的删除/299

21.1.5 链表的逆置/301

21.1.6 链表的销毁/302

21.1.7 综合实例/303

21.1.8 循环链表/308

21.1.9 双链表/308

21.2 栈和队列/312

21.2.1 栈的定义/312

21.2.2 栈的分类/312

21.2.3 栈的操作/312

21.2.4 函数与栈/315

21.2.5 队列/315

21.3 小结/318

第四篇 C语言程序设计实例

第22章 C语言程序课程设计:游戏/319

22.1 黑白棋/319

22.1.1 程序功能要求/319

22.1.2 输入输出样例/319

22.1.3 程序分析/319

22.1.4 程序初始化/320

22.1.5 初始化图形设备/321

22.1.6 绘制棋盘/321

22.1.7 交替绘制黑白棋/322

22.1.8 游戏(同时判断是否有一方胜利)/322

22.1.9 小结/336

22.2 五子棋/337

22.2.1 程序功能要求/337

22.2.2 输入输出样例/337

22.2.3 程序分析/337

22.2.4 主函数程序设计/339

22.2.5 系统初始化/340

22.2.6 移动棋子模块/340

22.2.7 程序胜负判定/344

22.2.8 小结/348

22.3 扫雷游戏/348

22.3.1 程序功能要求/348

22.3.2 输入输出样例/348

22.3.3 程序分析/348

22.3.4 程序设计/351

22.3.5 初始化图形设备/353

22.3.6 事件处理模块/355

22.3.7 游戏处理部分/360

22.3.8 小结/363

22.4 速算24/363

22.4.1 程序功能要求/363

22.4.2 输入输出样例/363

22.4.3 程序分析/364

22.4.4 程序设计/365

22.4.5 扑克牌处理部分/367

22.4.6 程序运算部分/369

22.4.7 小结/371

22.5 病毒检测与清除/371

22.5.1 程序功能要求/371

22.5.2 程序分析/372

22.5.3 程序设计/372

22.5.4 小结/376

附录 ASCII编码表/377

……[看更多目录]

序言C语言自1972年诞生于贝尔实验室以来,以其灵活和实用的特点得到了广大用户的喜爱,迅速发展成一种应用广泛的高级语言。从网站后台到底层操作系统,从多媒体应用到大型网络游戏,均可使用C语言来开发。在工业领域,C语言也是首选的系统语言。各种操作系统,如Unix、Linux和Windows等的内核都是采用C语言和汇编语言编写的。

创新推动着软件开发的不断进步,在C语言之后,各种新的语言相继诞生,如C++、Java、C#等,但C语言的基础地位不可撼动,因为C比较贴近操作系统,尤其在Linux操作系统下,C开发一直都是主流。

本书特点

笔者精心编写了本书,以通俗的语言深入浅出地带领读者全面学习C语言。清晰的结构、丰富的图例、简单易懂却又一针见血点破本质的示例代码使得读者能轻松迈进C语言的大门。

本书从最简单的“Hello World”程序写起,逐步深化细化,系统全面地介绍了C语言各个方面的知识。书中每个知识和技术要点都给予了翔实的例程及代码分析,代码力求短小精悍,直击要点。在知识点讲解的同时辅以笔者多年的C语言编程经验,以加深读者的理解。

本书的特点主要体现在以下几个方面。

q 本书的内容安排采用循序渐进的方式,每章主题鲜明、要点突出,适合初级、中级读者逐步掌握C语言的语法规则和编程思想。

q 范例丰富,关键知识点都辅以范例帮助读者理解。范例程序简洁,不是简单的代码罗列,而是采用短小精炼的代码紧扣所讲的技术细节,并配以详细的代码解释和说明,使读者印象鲜明,理解透彻。

q 范例可移植性强,与编译环境和平台无关,读者可轻易将代码复制到自己的机器上进行实验,自行实践和演练,直观体会所学要点,感受C语言的无限魅力。本书中的所有例子、源代码都附在随书光盘中,方便读者使用。

q 结构清晰,内容全面,兼顾了C语言的几乎所有特性。

q 大量使用了图例、表格等,帮助读者对知识点建立直观印象。

q 结合笔者多年的C语言编程和系统开发经验,本书特别标注出易出错的技术点或初学者易误解的细节,读者在学习中可少走弯路,加快学习进度。

q 本书介绍了数据结构和算法的基础知识,阐述了结构化程序设计的思想,探讨了高质量编程的内容,为读者以后进一步深入学习软件开发打下基础。

q 注重使读者对技术点本质的理解,对诸如“编译器如何为程序实体分配内存”、“函数调用细节”等做了很多独创性的介绍。

本书内容

本书分为四篇,共22章。第一篇从C语言的基础知识讲起,使读者对C语言的语法和编程机制有个初步的了解。第二篇讲述如何将这些基本知识组织起来构成完整的C语言程序。第三篇是进阶内容,讨论了一些深层次的技术细节和理解困难、易出错的要点。第四篇给出C程序设计的综合实例。

第一篇C语言基础(第1章~第9章)。

本篇讲述了C语言的基础知识,包括C语言介绍、C语言程序开发步骤、不同的开发环境、C语言程序的组成、变量及数据类型、输入与输出、运算符和表达式、语句、分支、循环等。读者通过本篇可对C语言程序有个初步而全面的认识,了解C语言的由来及其强大的功用,熟悉C语言程序的结构,知道如何声明变量,如何组织语句。学完本篇,读者便可自行书写简单的C语言程序,这9章的知识是进一步学习的基础。

第二篇一窥C语言门庭(第10章~第15章)。

C语言博大精深,掌握了第一篇中的基础知识可以说只到了大门口。本篇从C语言的核心—函数讲起,介绍了数组、指针、字符串和结构体相关的内容。学完本篇才算迈进了C语言的大门。

第三篇C语言进阶主题(第16章~第21章)。

第二篇中从较为独立的角度讲述了函数、数组和指针和结构体的知识,在实际应用中,这些要素彼此交叉,应用组合千变万化,这也是C语言灵活性的具体体现。本篇安排两章分别介绍了指针和函数的技术细节,对初学者来说,理解起来可能略有难度,但这是通往高层次C语言学习的必经之路。此外,本篇还介绍了文件处理、编译及预处理、变量的生存期、作用域、可见域及数据结构方面的内容,本篇将使读者对C语言有更深入的体会和理解。

第四篇讲述了几款游戏的制作过程:黑白棋、五子棋、扫雷、速算24。

本书由浅入深,由理论到实践,尤其适合初级、中级读者学习和完善自己的知识结构。

本书适合的读者

q C语言的初级、中级读者。

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

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

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

q 使用C语言进行项目开发的人员。

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

本书的作者

本书由康莉、李宽主笔编写,其他参与编写和资料整理的人员有高会东、王建超、邓薇、黄丽莉、吝晓宁、汪洋、白广元、蔡念光、陈辉、冯彬、刘长江、刘明、沙金、张士强、张洪福、多召英、贾旭、江宽、陈科、方成林、班晓娟、方中纯、刘兰军、郑雪峰等。

文摘插图:

零基础学C语言(附盘)(零基础学编程)(附赠CD光盘1张)

执行顺序依次为:语句1,语句2,语句3。

在实际应用中,程序并不一定按书写的顺序来执行,可能希望在某处设置多条路径,由程序选择一条来执行,以人爬山来类比,上山可能有多条路,在分岔口处需要登山者做出选择,如果体力状态不错,可以选坡陡准爬的一条路,如果很疲劳了,可以选平缓容易的路;或者干脆下山,这种选择机制提了解决问题的灵活性。

能否引入一些控制结构,以解决选择和重复执行的问题,“流程控制”应运而生.流程控制语句分为结构化语句和非结构化语句两部分;结构化语句包含条件语句(处理分支情况)和循环语句(处理重复情况)而非结构化语句用于一些特殊的跳转,有一种便捷通道的味道,继续讨论流程控制前,‘先来看一下C语言的结构化和算法。

结构化程序设计的思想是:把一个需要解决的复杂问题分解成若干模块来处理厂每个模块解决一个小问题。.这种分而治之的方法大大降低了程序设计的难度。结构化程序设计的核心问题是算法和控制结构。

所谓算法,指的是解决问题时的一系列方法和步骤。算法的思维体现在生活的各个方面,比如我们要去北京旅游,会问一些问题:“用什么交通工具?”“在哪里中转?”“是否要去奥运现场?”等,这都包含着算法,可见,算法的步骤间有一定的逻辑顺序,按这些顺序执行步骤便可以解决问题,达到目的。这种逻辑顺序,在C语言中体现为控制结构。

抛开那些厚厚的算法教科书,不去谈那些深奥无比的属性,本节讨论与算法使用最为相关的问题:算法如何表示。原则上,自然语言也可用于算法表示,但由于自然语言的多义性,不同的人对同一个版本的描述可能有不同的理解,因此,一般不采用自然语言来描述算法,要求采用一种精确的,无歧义的机制。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
>>返回首頁<<
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有