好书推荐 好书速递 排行榜 读书文摘

明解C语言:中级篇

明解C语言:中级篇
作者:[日] 柴田望洋
译者:丁灵
出版社:人民邮电出版社
出版年:2017-09
ISBN:9787115464064
行业:计算机
浏览数:83

内容简介

本书延续了《明解C语言:入门篇》图文并茂、示例丰富、讲解细致的风格,在结构上又独树一帜,每章都会带领读者编写一个游戏程序并逐步完善或加以变更,来讲解相关的C语言进阶知识。每章的程序都很简单有趣,而且包含着很多实用性的技巧,例如随机数的生成、数组的应用方法、字符串和指针、命令行参数、文件处理、接收可变参数的函数的生成方法、存储空间的动态分配与释放,等等。此外,还会讲解详细的语法规则、众多库函数的使用方法、算法等知识。

本书适合有一定C语言基础,想要掌握实际编程能力的读者阅读。

......(更多)

作者简介

柴田望洋

日本福冈工业大学信息工程学院副教授。在IT界家喻户晓,编写了一系列极富影响力的计算机教材和参考书,如《明解C++》《明解Java》等。本书荣获日本工学教育协会著作奖。

......(更多)

目录

第1章 猜数游戏  1

1-1 猜数判定  2

通过if语句实现条件分支  2

if语句的嵌套  3

实现多分支的方法  4

1-2 重复到猜对为止  8

通过do语句循环  8

相等运算符和关系运算符  9

通过while语句循环  10

break语句  10

while语句和do语句  11

先判断后循环和先循环后判断  11

1-3 随机设定目标数字  12

rand函数:生成随机数  12

srand函数:设置用于生成随机数的种子  13

随机设定目标数字  15

限制输入次数  17

1-4 保存输入记录  22

数组  22

把输入的值存入数组  24

通过for语句来显示输入记录  26

数组元素的初始化  28

获取数组的元素个数  29

第2章 专注于显示  33

2-1 熟练运用转义字符  34

转义字符  34

\a:警报符  35

\n:换行符  35

\f:换页符  35

\b:退格符  36

\r:回车符  38

\t:水平制表符  39

\v:垂直制表符  39

\'和\":单引号和双引号  40

putchar函数:输出字符  40

\?:问号符  40

\\:反斜杠字符  41

八进制转义字符和十六进制转义字符  41

2-2 操纵时间  42

clock函数:获取程序启动后经过的时间  42

计算处理所需的时间  46

暂停处理一段时间  47

2-3 字幕显示  50

逐个显示并消除字符  50

strlen函数:查询字符串的长度  50

字幕显示(从右往左)  52

字幕显示(从左往右)  53

2-4 格式输入输出  56

把要显示的位数指定为变量  56

显示任意数量的空白字符  57

printf函数:格式输出  60

scanf函数:格式输入  63

第3章 猜拳游戏  69

3-1 猜拳游戏  70

基本设计  70

switch语句  72

表示“手势”的字符串  74

包含汉字的字符串  75

char型  76

显示所有的字符  77

isprint函数:判断显示字符  78

条件运算符和条件表达式  78

字符串的内部  79

通过指针来遍历字符串  80

CHAR_BIT  81

指向字符串的指针数组  81

程序的改良  84

手势的值和手势的判断  86

让计算机“后出”  87

3-2 函数的分割  88

胜负次数  88

函数和标识符的作用域  90

猜赢3次就结束  91

第4章 珠玑妙算  97

4-1 珠玑妙算  98

珠玑妙算  98

出题  99

读取数字串  101

atoi函数/atol函数/atof函数:把字符串转换为数值  102

检查已读取的字符串的有效性  103

字符类别的判断  105

hit和blow的判断  107

第5章 记忆力训练  117

5-1 单纯记忆训练  118

训练记忆4位数  118

整数型的表示范围  119

训练记忆任意位数的数值  120

输入训练等级  121

用字符串表示数值  122

生成作为题目的字符串  122

显示作为题目的字符串  123

strcmp函数:字符串的比较  124

英文字母记忆训练(其一)  125

生成作为题目的字符串  127

英文字母记忆训练(其二)  127

5-2 加一训练  130

加一训练  130

输入等级  132

生成并显示题目  132

消除题目  132

输入答案  133

判断对错  133

保存答对数量  133

显示训练结果  133

用横向图形显示  134

用纵向图形显示  135

把数值存入数组  136

如何存储超过数组元素个数的值(其一)  138

如何存储超过数组元素个数的值(其二)  140

加一训练的改良  142

5-3 存储空间的动态分配与释放  144

声明数组  144

动态存储期  145

存储空间的动态分配与释放  146

指向void型的指针  146

为单个对象分配存储空间  148

为数组对象分配存储空间  151

第6章 日历  161

6-1 今天是几号  162

今天的日期  162

time_t型:日历时间  162

time函数:以日历时间的形式来获取当前时间  163

tm结构体:分解时间  164

localtime函数:把日历时间转换成表示本地时间的分解时间  164

gmtime函数:把日历时间转换成UTC分解时间  166

通过当前时间设定随机数种子  167

asctime函数:把分解时间转换成字符串  167

ctime函数:把日历时间转换成字符串  170

difftime函数:求时间差  171

暂停处理一段时间  173

6-2 求星期  174

mktime函数:把表示本地时间的分解时间转换成日历时间  174

蔡勒公式  175

6-3 日历  178

显示日历  178

求星期  179

闰年的判断  179

月份的天数  179

显示日历的过程  180

横向显示  182

把1个月的日历存入字符串  186

sprintf函数:对字符串进行格式化输出  186

生成空字符串  187

strcpy函数:字符串的复制  188

在第1日左侧设置空白  189

strcat函数:字符串的连接  190

显示字符串  192

年月的计算  193

6-4 命令行参数  194

命令行参数  194

argv指向的实体  196

通过指针以字符串为单位遍历argv  197

通过指针以字符为单位遍历argv  199

不使用argc来遍历  204

启动程序时指定年月的日历  205

第7章 右脑训练  211

7-1 寻找幸运数字  212

复制数组  212

复制数组时跳过一个数组元素  214

寻找幸运数字  216

重新排列数组元素  217

交换两个值  219

7-2 寻找重复数字  222

寻找重复数字  222

键盘输入和操作性能的提升(MS-Windows/MS-DOS)  224

getch函数:获取按下的键  225

putch函数:输出到控制台  225

键盘输入和操作性能的提升(UNIX / Linux / OS X)  226

通用头文件  227

包含头文件保护的头文件的设计  229

替换调用的函数  231

可变参数的声明  232

va_start宏:访问可变参数前的准备  233

va_arg宏:取出可变参数  234

va_end宏:结束对可变参数的访问  235

vprintf函数/ vfprintf函数:输出到流  235

vsprintf函数:输出到字符串  237

改良后的程序  238

7-3 三字母词联想训练  241

瞬间判断力的养成  241

生成题目  242

第8章 打字练习  247

8-1 基本打字练习  248

输入一个字符串  248

消除已输入的字符  249

输入多个字符串  252

打乱出题顺序(方法一)  254

打乱出题顺序(方法二)  256

8-2 键盘布局联想打字  258

键盘布局联想打字  258

8-3 综合打字练习  261

练习菜单  261

单一位置训练  267

混合位置训练  269

C语言的单词训练  271

英语会话训练  273

第9章 文件处理  277

9-1 标准流  278

复制程序  278

getchar函数和EOF  278

赋值和比较  279

流和缓冲区  280

缓冲的种类  280

setvbuf函数/setbuf函数:更改缓冲方法  281

fflush函数:刷新缓冲区  282

标准流  283

重定向  284

9-2 文本文件  285

文件的打开和关闭  285

fopen函数:打开文件  285

FILE型  287

fclose函数:关闭文件  288

保存和获取训练信息  288

更新最高得分  292

读取训练信息  292

fscanf函数:输入格式  293

写入训练信息  293

fprintf函数:输出格式  293

9-3 实用程序的编写  294

concat:文件的连接输出  294

fgetc 函数:从流中读取一个字符  297

fputc 函数:向流输出一个字符  297

detab:把水平制表符转换成空白字符  298

fputs 函数:输出字符串  301

entab:把空白字符转换成水平制表符  302

9-4 二进制文件  304

文本文件和二进制文件   304

fread函数:从文件中读取数据  305

fwrite 函数:向文件中写入数据  305

hdump:通过字符和十六进制编码实现文件转储  305

bcopy:复制文件  307

第10章 英语单词学习软件  311

10-1 英语单词学习软件  312

单词显示软件  312

选择和显示单词  313

向单词学习软件扩展  314

显示选项  316

生成选项  316

生成选项(改良版本)  318

10-2 为字符串数组动态分配空间  320

为单一字符串动态分配空间  320

为字符串数组(二维数组)动态分配空间  321

为字符串数组(指针数组)动态分配空间  323

单词文件的读取  330

后记  335

致谢  336

参考文献  337

......(更多)

读书文摘

......(更多)

猜你喜欢

点击查看