《C语言从入门到精通 实例版 第2版》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:明日科技编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302456636
  • 页数:472 页
图书介绍:本书从初学者的角度出发,通过通俗易懂的语言,丰富多彩的实例,详细介绍了使用Visual C++ 6.0(部分使用Turbo C)进行C语言应用程序开发应该掌握的各方面技术。全书共分14章,包括初识C语言、C语言基础、顺序与选择结构程序设计、循环控制、数组、函数、指针、结构体与共用体、算法、位运算、预处理、文件、图形图像、商品信息管理系统。

第1篇 基础知识 2

第1章 初识C语言 2

1.1 C语言简介 3

1.1.1 编程语言的发展 3

1.1.2 什么是C语言 3

1.1.3 C语言的特点 4

1.2 认识C程序 5

1.2.1 简单的C程序 5

1.2.2 C程序的开发环境 7

1.2.3 编程原则 15

1.2.4 编译出错提示 18

范例1 输出一个正方形 26

范例2 用TC 2.0打开文本文件 26

1.3 经典范例 27

1.3.1 经典范例1 十进制转换为十六进制 27

1.3.2 经典范例2 3个数由小到大排序 28

1.4 小结 29

1.5 实践与练习 29

第2章 C语言基础 30

2.1 数据类型 31

2.2 常量 32

2.2.1 整型常量 32

2.2.2 实型常量 33

2.2.3 字符型常量 34

2.2.4 符号常量 36

范例1 计算学生平均身高 37

范例2 求圆的周长 37

2.3 变量 38

2.3.1 整型变量 38

2.3.2 实型变量 41

2.3.3 字符型变量 43

范例3 实型数据的存储 44

范例4 字符型数据进行算术运算 44

2.4 运算符与表达式 45

2.4.1 赋值运算符与表达式 46

2.4.2 算术运算符与表达式 50

2.4.3 关系运算符与表达式 52

2.4.4 逻辑运算符与表达式 53

2.4.5 逗号运算符与表达式 54

2.4.6 三目运算符与表达式 55

范例5 判断闰年 56

范例6 判断整数倍 57

2.5 经典范例 58

2.5.1 经典范例1 混合运算 58

2.5.2 经典范例2 检查字符类型 58

2.5.3 经典范例3 判断三角形的类型 59

2.6 小结 60

2.7 实践与练习 60

第3章 顺序与选择结构程序设计 61

3.1 C语句及赋值语句 62

3.1.1 C语句的概述 62

3.1.2 赋值语句 64

范例1 判断回文数 65

范例2 阶梯问题 66

3.2 字符数据输入/输出 67

3.2.1 字符数据输出 67

3.2.2 字符数据输入 68

范例3 将输入的小写字母转换为大写字母 69

范例4 使用字符函数输入/输出字符 70

3.3 格式输入/输出函数 71

3.3.1 格式输出函数 71

3.3.2 格式输入函数 76

范例5 求一元二次方程的根 78

范例6 求直角三角形的斜边 78

3.4 if语句 79

3.4.1 if语句的基本形式 79

3.4.2 if语句的其他形式 80

3.4.3 if语句的嵌套形式 83

范例7 判断偶数 84

范例8 平方和值判断 85

3.5 switch语句 85

范例9 评定成绩等级 88

范例10 加油站加油 88

3.6 经典范例 90

3.6.1 经典范例1 计算运输公司的计费 90

3.6.2 经典范例2 一年的日期情况 91

3.6.3 经典范例3 模拟自动售货机 93

3.7 小结 94

3.8 实践与练习 94

第4章 循环控制 95

4.1 while及do while语句 96

4.1.1 while语句 96

4.1.2 do while语句 98

范例1 从键盘中输入一个数n,求n! 99

范例2 买苹果问题 100

4.2 for语句 100

4.2.1 for循环的变体 101

4.2.2 循环嵌套 104

范例3 统计不及格人数 107

范例4 一元钱兑换方案 108

4.3 转移语句 108

4.3.1 goto语句 108

4.3.2 break语句 110

4.3.3 continue语句 112

范例5 求出给定数值内的所有正整数的和 113

范例6 偶数拆分 113

4.4 经典范例 114

4.4.1 经典范例1 灯塔数量 114

4.4.2 经典范例2 平方和运算 115

4.4.3 经典范例3 打印乘法口诀表 117

4.5 小结 117

4.6 实践与练习 118

第2篇 核心技术 120

第5章 数组 120

5.1 一维数组 121

5.1.1 一维数组的定义和引用 121

5.1.2 一维数组的初始化 123

范例1 判断一个数是否存储在数组中 125

范例2 选票统计 126

5.2 二维数组 127

5.2.1 二维数组的定义和引用 127

5.2.2 二维数组的初始化 128

范例3 求二维数组对角线之和 130

范例4 打印杨辉三角形 131

5.3 字符数组 132

5.3.1 字符数组的定义和引用 132

5.3.2 字符数组的初始化 133

5.3.3 字符数组的结束标志 135

5.3.4 字符数组的输入/输出 136

5.3.5 字符串处理函数 138

范例5 统计各种字符的个数 146

范例6 字符升序排列 146

5.4 多维数组 147

5.5 经典范例 148

5.5.1 经典范例1 模拟比赛打分 148

5.5.2 经典范例2 打印5阶幻方 150

5.5.3 经典范例3 找出排在后面的国家名 151

5.6 小结 152

5.7 实践与练习 152

第6章 函数 153

6.1 函数的简介 154

6.1.1 概述 154

6.1.2 函数的定义与声明 156

范例1 计算任意两个整数的积 159

范例2 求最大公约数与最小公倍数 160

6.2 返回语句 161

6.2.1 函数返回 161

6.2.2 返回值 163

范例3 求任意两个数的平均数 165

范例4 判断素数 166

6.3 函数参数 167

6.3.1 形式参数和实际参数 167

6.3.2 数组作函数参数 169

范例5 求字符串中字符个数 172

范例6 求学生的平均身高 173

6.4 函数的调用 174

6.4.1 函数的调用方式 174

6.4.2 嵌套调用 177

6.4.3 递归调用 179

范例7 分数计算器 181

范例8 递归解分鱼问题 182

6.5 局部变量和全局变量 184

6.5.1 局部变量 184

6.5.2 全局变量 187

6.6 变量的存储类别 188

6.6.1 静态存储与动态存储 189

6.6.2 auto变量 189

6.6.3 static变量 192

6.6.4 register变量 194

6.6.5 extern变量 194

6.7 内部函数和外部函数 196

6.7.1 内部函数 196

6.7.2 外部函数 197

范例9 最大值与最小值对调 198

范例10 使用register定义局部变量 200

6.8 库函数 201

6.8.1 数学函数 201

6.8.2 字符和字符串函数 204

范例11 小数分离 206

范例12 求任意数n次幂 207

6.9 经典范例 208

6.9.1 经典范例1 某日是该年的第几天 208

6.9.2 经典范例2 递归解决年龄问题 209

6.9.3 经典范例3 一数三平方 211

6.10 小结 212

6.11 实践与练习 212

第7章 指针 213

7.1 指针相关概念 214

7.1.1 地址与指针 214

7.1.2 指针变量 215

7.1.3 “&”和“*”运算符 218

7.1.4 指针的算术运算 219

范例1 转向的指针 221

范例2 数值的运算 222

7.2 一维数组与指针 223

7.2.1 指向数组元素的指针 223

7.2.2 使用指针访问数组 224

范例3 查找数列中的最值 228

范例4 逆序存放数组元素 229

7.3 二维数组与指针 230

范例5 输出二维数组有关值 232

范例6 输出二维数组的任一行、任一列 233

7.4 字符串与指针 234

7.4.1 字符型指针 235

7.4.2 字符串数组 236

范例7 字符串的匹配 237

范例8 将若干字符串按照字母顺序输出 238

7.5 指针作函数参数 239

7.5.1 指针变量作函数的参数 240

7.5.2 数组指针作函数的参数 243

7.6 指向指针的指针 248

范例9 使用指针的指针输出字符串 250

范例10 输入月份号输出英文月份名 251

7.7 函数型指针 252

7.8 main函数的参数 254

范例11 用函数指针实现求两个数据的和与差 255

范例12 用指向函数的指针比较大小 256

7.9 经典范例 257

7.9.1 经典范例1 字符串插入 257

7.9.2 经典范例2 删除数组中的连续元素 258

7.9.3 经典范例3 输出销售额 260

7.10 小结 261

7.11 实践与练习 261

第8章 结构体与共用体 262

8.1 结构体 263

8.1.1 结构体类型的概念 263

8.1.2 结构体变量的定义和引用 264

8.1.3 结构体变量的初始化 268

8.2 结构体数组 270

8.2.1 定义结构体数组 270

8.2.2 初始化结构体数组 271

范例1 比较计数 273

范例2 找出最高分 274

范例3 信息查询 275

8.3 结构体指针 277

8.3.1 结构体指针变量的声明 277

8.3.2 结构体指针的引用 278

8.3.3 结构体数组指针 280

8.3.4 结构体作函数的参数 282

范例4 统计分钟数 284

范例5 指向数组元素的结构体指针运算 285

8.4 包含结构的结构 286

8.5 链表 287

8.5.1 链表概述 287

8.5.2 单链表的建立 289

8.5.3 链表的输出 291

8.5.4 链表相关操作 293

范例6 合并两个链表 299

范例7 创建循环链表 300

范例8 创建双向链表 301

8.6 共用体 304

8.6.1 共用体的概念 304

8.6.2 共用体变量的定义和引用 305

8.6.3 共用体变量的初始化 307

范例9 取出整型数据的高字节数据 308

范例10 共用体处理任意类型数据 308

8.7 枚举类型 309

范例11 选择颜色 311

范例12 输出星期几 312

8.8 用typedef定义类型 313

8.9 经典范例 315

8.9.1 经典范例1 候选人选票程序 315

8.9.2 经典范例2 使用共用体存放学生和老师信息 316

8.9.3 经典范例3 约瑟夫环 317

8.10 小结 319

8.11 实践与练习 319

第9章 算法 320

9.1 算法基础 321

9.1.1 算法的概念 321

9.1.2 流程图 321

9.1.3 三种基本结构 323

9.1.4 N-S流程图 324

范例1 判断偶数 325

范例2 求整数和 325

9.2 排序算法 326

9.2.1 选择排序 327

9.2.2 冒泡排序 328

9.2.3 插入排序 331

9.2.4 希尔排序 332

9.2.5 快速排序 334

9.3 查找算法 336

9.3.1 顺序查找 336

9.3.2 折半查找 337

9.3.3 分块查找 339

9.3.4 哈希查找 341

9.4 经典范例 345

9.4.1 经典范例1 百钱百鸡问题 345

9.4.2 经典范例2 斐波那契数列 346

9.4.3 经典范例3 尼科彻斯定理 347

9.5 小结 348

9.6 实践与练习 348

第3篇 高级应用 350

第10章 位运算 350

10.1 位运算操作符 351

10.1.1 “或”运算符 351

10.1.2 “与”运算符 352

10.1.3 “取反”运算符 354

10.1.4 “异或”运算符 355

10.1.5 “左移”运算符 357

10.1.6 “右移”运算符 359

范例1 取一个整数的后4位 360

范例2 取出给定16位二进制数的奇数位 360

10.2 循环移位 361

10.3 位段 363

10.3.1 位段的概念与定义 364

10.3.2 位段相关说明 365

范例3 输出各个位段的值 366

范例4 位段变量的内存分配 367

10.4 经典范例 368

10.4.1 经典范例1 求一个数的补码 368

10.4.2 经典范例2 使二进制数特定位翻转 368

10.4.3 经典范例3 RSA加密算法的实现 369

10.5 小结 371

10.6 实践与练习 371

第11章 预处理 372

11.1 宏定义 373

11.1.1 不带参数的宏定义 373

11.1.2 带参数的宏定义 374

范例1 不带参数的宏定义的简单应用 376

范例2 利用宏定义求偶数和 376

11.2 “文件包含”处理 377

11.3 条件编译 379

11.3.1 #if相关命令 379

11.3.2 #ifdef及#ifndef命令 382

11.3.3 #undef命令 383

11.3.4 #line及#pragma命令 384

范例3 编写头文件包含圆面积的计算公式 385

范例4 使用条件编译将字符转换为大写 386

11.4 经典范例 386

11.4.1 经典范例1 找最小数 386

11.4.2 经典范例2 利用文件包含设计输出模式 387

11.4.3 经典范例3 使用条件编译隐藏密码 388

11.5 小结 389

11.6 实践与练习 389

第12章 文件 390

12.1 文件概述 391

12.2 文件基本操作 391

12.2.1 文件的打开 391

12.2.2 文件的关闭 393

范例1 关闭打开的所有文件 393

范例2 同时显示两个文件的内容 395

12.3 文件的读写 396

12.3.1 字符形式读写文件 397

12.3.2 字符串形式读写文件 399

12.3.3 成块读写文件 401

12.3.4 格式化读写函数 404

范例3 以行为单位读写文件 406

范例4 重命名文件 407

12.4 文件的定位 408

12.4.1 fseek函数 408

12.4.2 rewind函数 410

12.4.3 ftell函数 411

12.5 经典范例 414

12.5.1 经典范例1 合并两个文件信息 414

12.5.2 经典范例2 文件替换时的错误处理 415

12.5.3 经典范例3 文件分割 417

12.6 小结 419

12.7 实践与练习 419

第13章 图形图像 420

13.1 字符屏幕 421

13.1.1 定义文本窗口 421

13.1.2 颜色设置 421

13.1.3 文本的输入和输出 422

13.1.4 屏幕操作函数 423

13.2 图形显示 426

13.2.1 图形模式初始化 426

13.2.2 屏幕颜色设置 429

13.2.3 基本图形函数 431

13.2.4 封闭图形的填充 438

范例1 颜色变换 440

范例2 彩色扇形 441

13.3 图形屏幕 442

13.4 图形模式下文本输出 443

13.4.1 文本输出函数 444

13.4.2 文本属性设置 445

范例3 跳动的小球 447

范例4 变化的同心圆 448

13.5 经典范例 449

13.5.1 经典范例1 绘制正弦曲线 449

13.5.2 经典范例2 绘制彩带 450

13.5.3 经典范例3 绘制五角星 451

13.6 小结 452

13.7 实践与练习 452

第4篇 项目实战 454

第14章 商品信息管理系统 454

14.1 需求分析 455

14.2 预处理技术 455

14.3 结构体的使用 456

14.4 函数声明技术 456

14.5 功能选择界面 457

14.6 录入商品信息 459

14.7 查询商品信息 462

14.8 删除商品信息 464

14.9 修改商品信息 466

14.10 插入商品信息 468

14.11 统计商品数 471

14.12 小结 472