C语言编程从零开始学

副标题:无

作   者:王英英

分类号:

ISBN:9787302503262

微信扫一扫,移动浏览光盘

简介


本书分为19章,内容包括认识C语言、C语言程序结构、算法与流程图、基本数据类型、运算符和表达式、程序流程控制结构、函数、数组与字符串、指针、结构体、共用体、枚举、操作文件、编译与预处理指令、使用库函数、位运算、网络套接字编程、动态数据结构、数据结构进阶、排序等。*后通过1个综合项目实训,进一步讲述C语言在实际工作中的应用。本书注重实战操作,帮助读者循序渐进地掌握C语言中的各项技术。本书共有400多个实例,还有大量的经典习题。随书下载包中赠送了培训班形式的视频教学录像,详细讲解了书中每一个知识点与编程方法和技巧。同时下载包中还提供了本书所有例子的源代码,读者可以直接查看和调用。本书适合C语言初学者和C语言开发人员,同时也能作为高等院校和培训学校相关专业的师生教学参考。

目录


目 录

第1章 为什么要学习C语言——认识C语言 1

1.1C语言概述 1

1.1.1C语言的起源 1

1.1.2C语言的特点 2

1.1.3C语言的应用领域 4

1.2C语言的常用开发环境 4

1.2.1Visual C 6.0开发环境 4

1.2.2Turbo C 2.0开发环境 10

1.2.3Visual Studio 2017开发环境 11

1.3C语言编译机制 14

1.4 编写第1个C语言程序 15

1.4.1在Visual C 6.0中开发C程序 15

1.4.2在Turbo C中开发C程序 20

1.4.3在Visual Studio 2017中开发C程序 23

1.5 疑难解惑 25

1.6 经典习题 26

第2章 C语言程序结构 27

2.1C语言源程序 27

2.1.1熟悉源程序的特点 28

2.1.2函数 28

2.2 编码规范 29

2.2.1版式要求 29

2.2.2命名规则 30

2.2.3正确性与容错要求 30

2.3 语句 31

2.3.1表达式语句 31

2.3.2函数调用语句 31

2.3.3控制语句 31

2.3.4复合语句 32

2.3.5空语句 32

2.4 输入输出对象 32

2.4.1格式化输入函数 32

2.4.2格式化输出函数 36

2.4.3字符的输入函数 40

2.4.4字符的输出函数 42

2.4.5字符串的输入函数 43

2.4.6字符串的输出函数 44

2.5 关键字 45

2.6 标识符 46

2.7 小试身手—格式控制符对宽度和精度的操作 47

2.8 技能提升—在printf()函数中展示各类格式控制符 48

2.9 疑难解惑 49

2.10经典习题 50

第3章 算法与流程图 52

3.1 算法的概念 52

3.1.1算法的特性 53

3.1.2衡量算法的“好”与“坏” 53

3.2 流程图简介 54

3.2.1传统流程图 55

3.2.2N-S流程图 57

3.3 如何描述算法 57

3.3.1自然语言 57

3.3.2流程图 59

3.3.3三种基本结构 60

3.3.4N-S流程图 66

3.3.5伪代码 69

3.3.6计算机语言 71

3.4 结构化程序设计方法 72

3.5 小试身手—求100以内能被3和5整除的数 73

3.6 技能提升—求奇数的阶层之后再求和 74

3.7 疑难解惑 75

3.8 经典习题 76

第4章 数据类型 78

4.1 数据的表示方法 78

4.1.1十进制 79

4.1.2二进制 79

4.1.3八进制 79

4.1.4十六进制 79

4.2 基本数据类型 80

4.2.1整数类型 80

4.2.2字符类型 83

4.2.3实型 85

4.2.4布尔类型 87

4.3 数据类型的转换 88

4.3.1自动类型转换 88

4.3.2强制类型转换 90

4.4 常量 91

4.4.1整数常量 91

4.4.2字符常量 93

4.4.3字符串常量 95

4.4.4符号常量 96

4.5 变量 97

4.5.1变量的定义 97

4.5.2变量的声明 98

4.5.3变量的初始化与赋值 99

4.5.4变量的分类 100

4.6 变量的存储类别 105

4.6.1动态存储与静态存储 105

4.6.2自动(auto)变量 105

4.6.3静态(static)变量 107

4.6.4寄存器(register)变量 107

4.6.5外部(extern)变量 108

4.7 混合运算 109

4.7.1存储形式 109

4.7.2范围 109

4.4.3混合运算原则 110

4.8typedef与#define 111

4.9 小试身手——查询数据类型的长度 112

4.10技能提升——求长方体的体积及三个面的面积 114

4.11疑难解惑 115

4.12经典习题 116

第5章 运算符和表达式 117

5.1 运算符概述 117

5.1.1赋值运算符 117

5.1.2算术运算符 120

5.1.3关系运算符 122

5.1.4逻辑运算符 124

5.1.5位逻辑运算符 126

5.1.6移位运算符 127

5.1.7条件运算符 128

5.1.8逗号运算符 130

5.1.9类型转换运算符 131

5.2 运算符优先级和结合性 132

5.3 表达式概述 133

5.4 小试身手—判断两个变量的大小 134

5.5 技能拓展—运算符解决生活小问题 135

5.6 疑难解惑 136

5.7 经典习题 137

第6章 程序流程控制语句 138

6.1 顺序语句 138

6.2 条件判断语句 139

6.2.1if条件 139

6.2.2if…else条件 142

6.2.3条件运算符 144

6.3 多重选择语句 145

6.3.1if…else…if语句 145

6.3.2if的嵌套语句 147

6.3.3switch分支结构语句 149

6.4 循环语句 151

6.4.1while循环 152

6.4.2do…while循环 153

6.4.3for循环 155

6.4.4循环语句的嵌套 157

6.5 跳出循环 158

6.5.1break语句 158

6.5.2continue语句 159

6.6 小试身手—判定三角形 160

6.7 技能提升—自动售货机 161

6.8 疑难解惑 163

6.9 自我评估 164

第7章函数 165

7.1 函数的基本结构 165

7.1.1函数的声明与定义 165

7.1.2函数的调用 170

7.1.3函数的嵌套调用 174

7.1.4函数的递归调用 176

7.1.5函数的参数 179

7.1.6参数的传递方式 181

7.2 函数的返回语句 184

7.2.1函数的返回值 184

7.2.2函数的结束标志 186

7.2.3函数的返回值类型 187

7.3 变量的作用域 188

7.3.1局部变量 189

7.3.2全局变量 190

7.4 小试身手—倒序输出字符 193

7.5 技能提升1—打印乘法口诀表 194

7.6 技能提升2—分析学生的成绩 195

7.7 疑难解惑 197

7.8 经典习题 198

第8章 数组 200

8.1 数组的概述 200

8.2 一维数组 201

8.2.1一维数组的定义 201

8.2.2一维数组的引用 203

8.2.3一维数组的初始化 204

8.2.4数组的操作 207

8.3 二维数组和多维数组 209

8.3.1二维数组的定义 209

8.3.2二维数组的引用 209

8.3.3二维数组的初始化 212

8.3.4多维数组 215

8.3.5数组的操作 217

8.4 数组与函数 220

8.4.1一维数组作为函数的参数 220

8.4.2数组名作为函数参数 221

8.4.3形参数组和实参数组 222

8.5 字符数组 224

8.5.1字符数组与字符串 224

8.5.2字符数组的输出与输入 228

8.5.3字符串处理函数 231

8.6 小试身手—计算字符数组的长度 237

8.7 技能提升—操作矩阵 238

8.8 疑难解惑 240

8.9 经典习题 241

第9章 指针 242

9.1 指针概述 242

9.1.1地址与指针 242

9.1.2指针变量的定义 245

9.1.3指针变量的引用 248

9.2 指针与函数 251

9.2.1指针变量作为函数参数 251

9.2.2指针函数 253

9.2.3函数指针 256

9.3 指针与数组 258

9.3.1数组元素的指针 258

9.3.2指针的运算 259

9.3.3通过指针引用数组元素 260

9.3.4指向数组的指针变量作为函数参数 262

9.3.5通过指针对二维数组进行引用 268

9.4 指针与字符串 274

9.4.1字符指针 274

9.4.2使用字符指针做函数参数 278

9.4.3字符数组与字符指针变量的区别 282

9.5 指针数组和多重指针 283

9.5.1指针数组 284

9.5.2指向指针的指针 288

9.6 小试身手—遍历数组 294

9.7 综合案例—寻找*个相同元素 295

9.8 疑难解惑 297

9.9 经典习题 300

第10章 结构体、共用体和枚举 301

10.1结构体概述 301

10.1.1结构体类型 301

10.1.2定义结构体变量 303

10.1.3初始化结构体变量 305

10.1.4结构体变量的引用 306

10.2结构体数组 309

10.2.1定义结构体数组 309

10.2.2结构体数组的初始化 311

10.2.3结构体数组元素的引用 312

10.2.4结构体数组应用实例 313

10.3结构体指针 314

10.3.1指向结构体变量的指针 314

10.3.2指向结构体数组的指针 318

10.3.3结构体变量作为函数参数 320

10.3.4指向结构体变量的指针作为函数参数 321

10.3.5结构体作为函数的返回值 323

10.4共用体 324

10.4.1共用体的定义 324

10.4.2共用体变量的定义 324

10.4.3共用体变量的初始化以及引用 326

10.5枚 举 329

10.5.1定义枚举类型 329

10.5.2定义枚举类型变量 330

10.6小试身手—建立居民身份信息卡 333

10.7技能提升—创建学生成绩输入系统 335

10.8疑难解惑 337

10.9经典习题 339

第11章 操作文件 340

11.1文件概述 340

11.1.1文件类型 341

11.1.2文件指针 342

11.1.3文件的缓冲区 343

11.2文件的打开与关闭 343

11.2.1文件的打开操作 344

11.2.2文件的关闭 346

11.3文件的读写 347

11.3.1字符的读写 347

11.3.2字符串的读写 351

11.3.3数据块的读写 354

11.3.4格式化读写函数 358

11.4文件定位与文件的随机读写 362

11.4.1文件头定位函数rewind() 362

11.4.2随机定位函数fseek() 363

11.4.3当前读写位置函数ftell() 365

11.5文件检测函数 366

11.5.1文件结束检测函数feof() 366

11.5.2文件读写错误检测函数ferror() 367

11.5.3文件错误标志清除函数clearerr() 369

11.6小试身手—整理学生体检信息 370

11.7技能提升—制作暑期计划表 372

11.8疑难解惑 374

11.9经典习题 376

第12章 编译与预处理指令 377

12.1预处理 377

12.2宏定义命令—#define 380

12.2.1无参数的宏 380

12.2.2带参数的宏定义 384

12.2.3宏定义的嵌套 390

12.2.4宏定义的作用范围 391

12.2.5 宏定义的多行表示 392

12.3文件包含 393

12.4条件编译 394

12.4.1条件编译命令 395

12.4.2调试中使用DEBUG宏 398

12.4.3文件的嵌套包含与条件编译 400

12.5小试身手—判断闰年的宏函数 401

12.6技能提升—大写字母转换 401

12.7疑难解惑 402

12.8经典习题 403

第13章 使用库函数 404

13.1标准C库函数 404

13.2数学函数“math.h” 405

13.2.1求幂函数与开平方函数 405

13.2.2指数函数与对数函数 407

13.2.3三角函数 408

13.2.4*值函数 410

13.2.5取整函数与取余函数 411

13.3字符串函数“string.h” 413

13.3.1字符串长度函数 413

13.3.2字符串连接函数 414

13.3.3字符串复制函数 415

13.3.4字符串大小写转换函数 418

13.3.5字符串查找函数 419

13.3.6字符串比较函数 421

13.4字符函数“ctype.h” 424

13.4.1字符的类型判断函数 424

13.4.2字符大小写转换函数 426

13.5其他函数 428

13.5.1随机函数 428

13.5.2日期时间函数 429

13.5.3结束程序函数 431

13.6小试身手—字符串首字母转换成大写 432

13.7技能提升—计算任意三角形面积代码 433

13.8疑难解惑 434

13.9经典习题 435

第14章 位运算 436

14.1位(bit)与字节(byte)的关系 436

14.2循环移位 436

14.3位段 439

14.3.1位段的定义 439

14.3.2位段结构在内存中的存储方式 440

14.4小试身手—计算段位结构的大小 442

14.5技能提升—将十进制数转换为二进制数 443

14.6疑难解惑 444

14.7经典习题 445

第15章 网络套接字编程 446

15.1计算机网络入门 446

15.1.1IP地址 446

15.1.2OSI七层参考模型 447

15.1.3地址解析 448

15.1.4域名系统 449

15.1.5TCP/IP协议 449

15.1.6端口 451

15.1.7网络字节顺序 452

15.2认识套接字 452

15.2.1套接字概述 452

15.2.2TCP的套接字的socket编程 453

15.2.3UDP的套接字的socket编程 453

15.3套接字函数 454

15.4小试身手——基于TCP协议的服务端程序 463

15.5技能提升——基于TCP协议的客户端程序 465

15.6疑难解惑 467

15.7经典习题 468

第16章 动态数据结构 469

16.1动态存储分配概述 469

16.1.1malloc()函数 470

16.1.2calloc()函数 471

16.1.3realloc()函数 472

16.1.4free()函数 474

16.2链表概述 475

16.2.1链表结点的定义 475

16.2.2链表的建立 476

16.2.3链表的遍历 476

16.2.4链表结点的插入 478

16.2.5链表结点的删除 482

16.3小试身手—链表的建立、插入和删除 486

16.4综合案例—使用链表添加学生信息 490

16.5疑难解惑 493

16.6经典习题 494

第17章 数据结构进阶 495

17.1数据结构概述 495

17.2线性表 497

17.3栈 499

17.3.1栈的基本操作 500

17.3.2顺序栈 500

17.3.3链式栈 503

17.4队列 505

17.4.1队列的基本运算 505

17.4.2顺序队列 505

17.4.3链式队列 509

17.5二叉树 513

17.5.1二叉树的定义 513

17.5.2二叉树的遍历 513

17.6查找 515

17.6.1顺序查找 515

17.6.2折半查找 516

17.7小试身手—查找数组中指定的元素 518

17.8综合案例—操作队列 520

17.9疑难解惑 524

17.10经典习题 525

第18章 排序 526

18.1排序的概述 526

18.2冒泡排序 527

18.3快速排序 529

18.4直接插入排序 531

18.5希尔排序 533

18.6简单选择排序 535

18.7堆排序 537

18.8基数排序 540

18.9归并排序 542

18.10疑难解惑 545

18.11经典习题 547

第19章 项目实训——开发餐饮管理系统 548

19.1需求分析 548

19.2功能分析 549

19.3开发前准备工作 550

19.4系统代码编写 551

19.4.1登录管理模块 551

19.4.2员工管理模块 554

19.4.3用餐服务相关功能 581

19.4.4数据组织及工具方法 597

19.4.5主程序入口 609

19.5系统运行 610

19.6项目总结 616


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

C语言编程从零开始学
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon