首页>参考读物>计算机科学与技术>软件与程序设计

从零开始学C程序设计
作者 : 吴惠茹 等编著
出版日期 : 2017-05-11
ISBN : 978-7-111-56470-6
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 344
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

C语言具备高级语言的结构化语法,也有组合语言的高效率表现,还拥有高度可移植性与强大的数据处理能力。本书强调理论与实践并重,按照C语言的功能循序渐进、由浅入深的讲解,利用16章介绍C语言的重点内容。
本书首先介绍C语言的基础语法,包括如何进行C语言程序的编写、编译、执行和除错,通过对变量、常数、数据类型的学习,进而了解各种运算符和流程控制指令;然后介绍C语言的进阶语法,包括数组与字符串的声明与运用、指针的概念与实践,并示范如何自定义函数、参数传递与函数的高级应用,以及预处理器的使用;最后介绍结构数据类型的基本概念、各种文件类型的操作技巧与管理以及从C到C++面向对象程序设计的过渡。

图书前言

在计算机发展的几十年间,众多程序设计语言不断被各个时期的“达人”创造出来,进而不断被淘汰、取代、修订、融合或改头换面。和近年流行的程序设计语言(如Python、C#、Java、C++、PHP、JavaScript等)相比,C语言显得有点“古董”,因为C语言的发展历史最悠久——设计思想萌芽于1970年年初,主体完成于1973年。但C语言在2015年仍然高居全世界所有程序设计语言使用人数的榜首,到2016年才被Java超过而屈居第二。
C语言之所以长久不衰,是因为程序代码简洁高效、编译方式简易、能处理底层的存储器、产生的机器代码简短精悍,而且不需要复杂的系统运行环境便能高效运行。C语言的这些特质深受广大程序员喜爱,并被广泛应用于操作系统和编译器的开发。例如,UNIX和Linux就是基于C语言开发出来的,其他众多系统级的工具和各种高级程序设计语言的编译器或解释器大多也是使用C语言开发的。所以,C语言被称为程序员的第一程序设计语言一点都不为过。
现在学C语言过时吗?作为一门通用计算机程序设计语言,C语言远没有到过时的时候,只要学习C语言时不禁锢于面向过程程序设计思维,从零开始迅速掌握其精髓,而后补充面向对象程序设计的新思想,之后在学习C++、C#、Java或Python语言时就能得心应手。如果从一开始就学习上述4种面向对象的通用程序设计语言,会感到头疼不已。在出版本书的同时,我们还出版了一本《从零开始学C++程序设计》供大家参考。C++语言 = C 语言 + 面向对象的概念,在C#、Java甚至Python中均可看到C++的影子。
本书以教学为背景,分16章说明C语言相关的语法,除了在正文的讲解中穿插大量范例程序的分析外,还在各章末尾辅以课后习题与解答,并提供了丰富的上机程序测试题。本书适合作为大专院校计算机及相关专业的教材,也适合作为程序设计初学者的自学教材,同样可作为有一定编程经验、想快速掌握C语言的程序员的学习参考书。
本书的范例程序有两类:一类是各章正文讲解使用的范例程序,另一类是各章后面“上机程序测验”提供的参考范例程序。读者可以从以下网址免费下载所有范例程序的源代码:
http://pan.baidu.com/s/1nvDbllZ(注意区分数字和字母大小写)
如果下载有问题,请发送电子邮件至booksaga@126.com,邮件主题设置为“求从零开始学C程序代码”。
全书所有范例程序都可以在标准C语言编程环境中编译通过和顺利运行。本书选用免费的Dev C++ 5.11集成开发环境对书中所有范例程序进行编译、修改、调试和测试,确保可以准确无误地运行,读者可以放心参考、使用。另外,附录A包含“C的标准函数库”,以便读者在学习的过程中速查常用的C语言标准函数的用法。附录B包含“C编译程序的介绍与安装”,重点介绍Dev C++集成开发环境的安装步骤和基本使用方法,读者可以在学习本书之前在自己的计算机上安装好Dev C++集成开发环境。
本书主要由吴惠茹编著,卞诚君、王叶、周晓娟、刘雪连、吉媛媛、闫秀华、关静、孟宗斌、魏忠波、王翔、郭丹阳等人也参与了本书的编写与校对工作。虽然本书校稿过程力求无误,但是难免有疏漏之处,还望各位不吝赐教!
最后,祝大家学习顺利,迅速掌握C语言程序设计的精髓,进而成为使用C语言编程的高手,迈出成为合格程序员关键的一步。

编 者
2017年2月

上架指导

计算机\程序设计

作者简介

吴惠茹 等编著:暂无相关简介

图书目录

前言
第1章 C语言的第一堂课 1
1-1 C语言的起源 1
1-2 我的第一个C程序 2
1-2-1 程序代码编写规则 4
1-2-2 编译程序代码 5
1-2-3 运行C程序 5
1-2-4 程序代码的调试 6
1-3 helloworld程序快速解析 7
1-3-1 头文件的作用 7
1-3-2 main()函数简介 8
1-3-3 system()函数的作用 9
1-3-4 注释与缩排 9
1-4 课后练习 10
第2章 变量与常数 13
2-1 认识变量 14
2-1-1 变量命名原则 14
2-1-2 变量的声明 15
2-2 变量的作用域 17
2-2-1 全局变量 18
2-2-2 局部变量 18
2-2-3 区块变量 18
2-3 常数 20
2-4 课后练习 22
第3章 C语言的基本数据类型 24
3-1 认识基本数据类型 24
3-1-1 整数 24
3-1-2 浮点数 27
3-1-3 字符类型 29
3-1-4 转义字符简介 33
3-2 数据类型转换 34
3-2-1 自动类型转换 35
3-2-2 强制类型转换 36
3-3 上机程序测验 37
3-4 课后练习 38
第4章 格式化输入与输出函数 41
4-1 printf()函数 41
4-1-1 格式化字符 43
4-1-2 字段宽度设置功能 45
4-1-3 精度设置功能 47
4-1-4 标志设置功能 50
4-2 scanf()函数 51
4-2-1 格式化字符 52
4-2-2 加上提示字符 54
4-2-3 字段宽度设置功能 56
4-2-4 输入字符串 57
4-3 其他输入/输出函数 59
4-3-1 getchar()函数与putchar()函数 59
4-3-2 getche()函数与getch()函数 60
4-3-3 gets()函数与puts()函数 62
4-4 上机程序测验 63
4-5 课后练习 64
第5章 表达式与运算符 66
5-1 表达式简介 66
5-2 认识运算符 67
5-2-1 赋值运算符 68
5-2-2 算术运算符 69
5-2-3 关系运算符 70
5-2-4 逻辑运算符 71
5-2-5 位运算符 74
5-2-6 递增与递减运算符 79
5-2-7 复合赋值运算符 81
5-3 上机程序测验 82
5-4 课后练习 82
第6章 流程控制与选择性结构 86
6-1 顺序结构 86
6-2 选择结构 87
6-2-1 if 条件语句 88
6-2-2 if-else条件语句 90
6-2-3 条件运算符 94
6-2-4 switch选择语句 95
6-3 上机程序测验 99
6-4 课后练习 100
第7章 循环结构 103
7-1 for循环 104
7-1-1 for循环的使用方式 104
7-1-2 嵌套循环 106
7-2 while 循环 107
7-3 do while循环 110
7-4 循环控制指令 112
7-4-1 break指令 113
7-4-2 continue指令 114
7-4-3 goto指令 115
7-5 上机程序测验 117
7-6 课后练习 118
第8章 数组与字符串 120
8-1 认识C语言的数组 120
8-1-1 一维数组 121
8-1-2 二维数组 126
8-1-3 多维数组 130
8-2 字符串简介 132
8-2-1 字符串的使用 133
8-2-2 字符串数组 134
8-2-3 字符串处理功能 136
8-2-4 字符串处理函数 138
8-3 上机程序测验 140
8-4 课后练习 142
第9章 指针基础入门 146
9-1 认识地址 146
9-1-1 指针的作用 146
9-1-2 变量地址的存取 147
9-1-3 存取数组元素的地址 148
9-1-4 指针变量 149
9-2 多重指针 153
9-2-1 双重指针 153
9-2-2 多重指针 155
9-3 认识指针运算 157
9-3-1 递增与递减运算 157
9-3-2 指针常数与数组 159
9-3-3 指针变量与数组 162
9-4 上机程序测验 162
9-5 课后练习 163
第10章 高级指针处理 166
10-1 指针与字符串 166
10-1-1 使用指针设置字符串 166
10-1-2 指针数组 168
10-2 动态分配 170
10-2-1 动态分配变量 170
10-2-2 动态分配一维数组 172
10-2-3 动态分配字符串 174
10-2-4 动态分配多维数组 175
10-2-5 通用类型指针 180
10-3 上机程序测验 181
10-4 课后练习 182
第11章 函数的基本认识 184
11-1 认识函数 184
11-1-1 模块化设计精神 185
11-1-2 函数的使用 185
11-2 函数的使用 185
11-2-1 函数原型声明简介 185
11-2-2 函数的定义 187
11-2-3 函数的调用 188
11-3 参数传递方式 189
11-3-1 参数的意义 189
11-3-2 传值调用 189
11-3-3 传址调用 192
11-3-4 数组参数的传递 194
11-4 递归的作用 197
11-5 上机程序测验 199
11-6 课后练习 201
第12章 函数的高级应用与宏 203
12-1 命令行参数 203
12-2 指针返回值 205
12-3 函数指针 207
12-4 变量的作用域 208
12-4-1 auto变量 208
12-4-2 register变量 209
12-4-3 static变量 210
12-4-4 extern变量 211
12-5 预处理器 213
12-5-1 宏指令 214
12-5-2 条件编译指令 216
12-5-3 #include指令 218
12-6 上机程序测验 219
12-7 课后练习 220
第 13 章 结构数据类型 223
13-1 结构简介 223
13-1-1 声明结构变量 223
13-1-2 存取结构成员 224
13-1-3 结构指针 226
13-1-4 动态分配结构变量 229
13-1-5 结构数组 231
13-1-6 嵌套结构 233
13-2 链表 235
13-2-1 链表的建立 236
13-2-2 链表程序的实现 236
13-3 函数与结构 241
13-3-1 结构参数与传值调用 241
13-3-2 结构参数与传址调用 241
13-4 上机程序测验 242
13-5 课后练习 244
第 14 章 其他自定义数据类型与项目设计 248
14-1 类型定义指令 248
14-2 枚举指令 251
14-3 联合指令 253
14-4 项目程序简介 255
14-5 上机程序测验 259
14-6 课后练习 260
第15章 文件的输入与输出 261
15-1 缓冲区简介 261
15-1-1 fopen()函数与fclose()函数 262
15-1-2 putc()函数与getc()函数 264
15-1-3 fputs()函数与fgets()函数 266
15-1-4 fprintf()函数与fscanf()函数 268
15-1-5 fwrite()函数与fread()函数 270
15-1-6 fseek函数与rewind()函数 273
15-2 无缓冲区的输入与输出 275
15-2-1 open()函数与close() 函数 276
15-2-2 read()函数与write() 函数 277
15-2-3 lseek()函数 280
15-3 上机程序测验 282
15-4 课后练习 283
第 16 章 C到C++面向对象程序设计 286
16-1 认识面向对象设计 286
16-1-1 封装 287
16-1-2 继承 288
16-1-3 多态 288
16-2 第一个C++程序 288
16-2-1 头文件 289
16-2-2 程序注释 290
16-2-3 命名空间 291
16-2-4 输入输出功能简介 291
16-2-5 浮点数 292
16-2-6 布尔数据类型 294
16-3 C++的函数 295
16-3-1 传引用调用 296
16-3-2 内联函数 297
16-3-3 函数重载 299
16-4 类 301
16-4-1 类的声明 301
16-4-2 访问权限关键字 302
16-4-3 创建类对象 303
16-5 构造函数与析构函数 305
16-5-1 构造函数 305
16-5-2 析构函数 309
16-5-3 作用域解析运算符 310
16-6 上机程序测验 313
16-7 课后练习 314
附录A C的标准函数库 318
A-1 字符串处理函数 318
A-2 字符处理函数 319
A-3 常用数学函数 320
A-4 时间与日期函数 321
A-5 类型转换函数 321
A-6 流程控制函数 321
附录B C编译程序的介绍与安装 323
B-1 C/C++编译程序简介 323
B-1-1 Visual Studio 323
B-1-2 Dev C++ 324
B-1-3 GCC 325
B-2 Dev C++的安装与介绍 325
B-2-1 下载Dev C++ 325
B-2-2 安装Dev C++ 326
B-2-3 程序项目的建立 328

教学资源推荐
作者: George Coulouris, Jean Dollimore, Tim Kindberg
作者: (美)Clovis L.Tondo,Scott E.Gimpel
作者: 【美】梁勇(Y.Daniel Liang) 著
作者: 王立柱 编著
参考读物推荐
作者: (美)Stephen Walther
作者: [英]大卫·格里菲思(David Griffiths),[英]道恩·格里菲思(Dawn Griffiths) 著
作者: 陈春宝 徐筱刚 田建中 著