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

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

第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

明解java.pdf_明解C语言:中级篇 PDF下载相关推荐

  1. java实验多线程机制_使用Java多线程的同步机制编写应用程序 PDF 下载

    使用Java多线程的同步机制编写应用程序 PDF 下载 本站整理下载: 相关截图: 主要内容: 一. 实验名称 使用Java多线程的同步机制编写应用程序 二. 实验目的及要求 1.理解并行/并发的概念 ...

  2. c语言明解课后答案,明解C语言 中级篇 第一章答案

    练习1-1 #include #include int main() { srand(time(0)); int anw = rand() % 7; printf("您的签运是:" ...

  3. java批处理框架 pdf_《Spring Batch 批处理框架》PDF 下载

    图书目录: 第1篇 入门篇 第1章 Spring Batch简介 1.1 什么是批处理 1.2 Spring Batch 1.2.1 典型场景 1.2.2 Spring Batch架构 1.3 Spr ...

  4. c语言算法设计 pdf下载,数据结构算法设计与实现指导(C语言版).pdf

    3 章 栈--实验三 3.1 实验目的及要求 1.理解特 的线性结构--顺序栈的抽象数据类型的定义,及其在 C 语言环境中的 表示方法. 2 .理解顺序栈的基本操作的算法,及其在C 语言环境中一些主要 ...

  5. java 今日头条面试_【面试分享】今日头条Java面试题,复习资料完整版PDF下载

    2021年,字节的技术岗依旧是最香的,而且随着字节的规模不断扩大,机会也越来越多.马上迎来金三银四,很多小伙伴都在撸题备战中. 2021年,字节的技术岗依旧是最香的,而且随着字节的规模不断扩大,机会也 ...

  6. Java从入门到精通 第4版 PDF下载

    <Java从入门到精通(第4版)>从初学者角度出发,通过通俗易懂的语言.丰富多彩的实例,详细介绍了使用Java语言进行程序开发需要掌握的知识.全书分为28章,包括初识Java,熟悉Ecli ...

  7. c语言基础知识pdf下载,C语言主基础知识.pdf

    C语言主基础知识 泰山学院CSDN 俱乐部 C 语言主要基础内容 1.预处理命令 预处理的概念:在编译之前进行的处理.预处理命令以符号"#"开头. 2 .关于#include 在编 ...

  8. java综合面试题_JAVA 综合面试题 PDF 下载

    主要内容: Java面试题整理 Java面向对象 1. super()与this()的区别? This():当前类的对象,super父类对象.Super():在子类访问父类的成员和行为, 必须受类继承 ...

  9. 二级c语言基础知识pdf下载,全国计算机等级考试二级C语言公共基础知识.pdf

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp资格/认证考试&nbsp>&nbsp计算机等级考试 全国计算机等级考试二级C语言公共基础知识 ...

  10. 高级java知识结构图,Spring高级框架课程笔记 PDF 下载

    主要内容: Spring ⾼级框架(讲师:应癫) ssh = spring + struts + hibernate ssm = spring + springmvc + mybatis spring ...

最新文章

  1. php中strtotime(date,js模仿php中strtotime()与date()函数实现方法
  2. KVM基础功能——Cpu配置
  3. python创建只包含一个元素的元组时_Python 创建包含列表的元组
  4. 最大流最小费用java_最小费用最大流及算法
  5. python从小白到大牛百度云盘_Java从小白到大牛 (关东升著) 中文pdf+mobi版[36MB]
  6. jq请求Ajax数据
  7. 插值问题(拉格朗日插值、牛顿插值)
  8. 浅谈P2P终结者原理及其突破
  9. matlab数学建模题及答案,数学建模中30道经典 MATLAB程序.doc
  10. 自适应滤波器(Adaptive Filter)(1)--简介
  11. nodejs 运行后报错 Error: Couldn‘t find preset “es2015“ relative to directory
  12. c语言做相册影集,制作DIY相册影集教程-如何制作影集
  13. Windows如何安装WSL(中途退出后遇到bug该怎么办)
  14. 画画怎么配色好看?怎样才能画好色彩搭配?
  15. 习题 9.9 商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。
  16. 计算机考研是属于工学呢还是理学呀,计算机考研是属于工学呢还是理学
  17. 官网下载python,下载pycharm
  18. 五十二.用户配额管理 云主机类型管理 、 镜像管理 网络管理 案例和实例管理 、 安装额外计算节点...
  19. 每日Scrum站会实践推荐
  20. 随机过程学习笔记1:泊松过程

热门文章

  1. 易用宝项目记录day2-框架搭建
  2. Springboot接入阿里云物联网SDK实现控制网络继电器通断
  3. Windows核心技术--com组件实用入门教程
  4. 【Java】URL下载网络资源(CloudMusic)
  5. 移动端自动化测试:python+appium+pytest+allure+yaml
  6. windows 查看局域网内所有已使用的IP
  7. DEA模型及matlab应用3:SBM-DEA 模型
  8. IIS7安装URLReWrite的妙用
  9. 手机12306买卧铺下铺技巧_手机12306买卧铺下铺技巧
  10. 手机12306买卧铺下铺技巧_购买火车票下铺实用技巧