书馨卡帮你省薪 2024个人购书报告 2024中图网年度报告
欢迎光临中图网 请 | 注册
> >>
C语言完全自学教程

C语言完全自学教程

作者:明日科技
出版社:人民邮电出版社出版时间:2023-07-01
开本: 16开 页数: 397
中 图 价:¥63.8(7.1折) 定价  ¥89.9 登录后可看到会员价
加入购物车 收藏
运费6元,满39元免运费
?新疆、西藏除外
本类五星书更多>

C语言完全自学教程 版权信息

C语言完全自学教程 本书特色

1.循序渐进,自学有道。本书从基础→提高→高级→项目实战,符合读者学习路线。

2.关键技术,实例解析。全书通过“实例”的形式,将知识融入到实例讲解中,使知识与实例相辅相成。

3.书课结合,资源丰富。本书提供了强大的网络支持和服务,提供源码、视频课程、课件等配套资源。

4.技术服务完善。作者团队提供企业QQ、论坛、邮箱、客服电话、明日学院官方网站等多渠道的技术支持与服务,在线为读者答疑解惑。

C语言完全自学教程 内容简介

本书系统、全面地介绍了有关 C 语言程序设计所涉及的重要知识。全书分为基础篇、提高篇、高级篇和项目篇,共 18 章。基础篇包括迈进 C 语言的大门、C 语言的开发环境、初识 C 语言、C 语言基本数据类型、数据输入与输出、运算符与表达式、条件判断语句、循环语句。提高篇包括数组、字符串处理函数、输入验证、函数、指针的使用。高级篇包括复合数据类型及链表、预处理命令、文件操作、内存管理。*后,项目篇是开发一个俄罗斯方块游戏。每章内容都与实例紧密结合,有助于读者理解知识、 应用知识,达到学以致用的目的。 本书附有配套资源,包括源码及教学视频。其中,源码全部经过精心测试,能够在 Windows XP、Windows 7、Windows 8、Windows 10 系统下编译和运行。 本书可作为大中专院校计算机专业、软件专业及相关专业的教材,同时也适合 C 语言爱好者、初级C 语言读者参考使用。

C语言完全自学教程 目录

目 录

前言 xvii

基础篇

第 1章 迈进C语言的大门

1.1 什么是C语言 002

1.2 C语言的特点 004

1.3 C语言能做什么 005

1.3.1 单片机系统领域 005

1.3.2 应用软件领域 006

1.3.3 嵌入式系统领域 006

1.3.4 游戏领域 007

1.4 C语言与其他语言比较 007

1.4.1 C语言和C 比较 007

1.4.2 C语言和VC 比较 008

1.4.3 C语言和Java比较 009

1.4.4 C语言和Python比较 009

1.5 练习题 010

第 2章 C语言的开发环境

2.1 开发环境大全 011

2.2 安装C语言开发环境 013

2.2.1 安装Visual Studio 2019 013

2.2.2 安装Visual C 6.0 016

2.3 熟悉C语言开发环境 020

2.3.1 Visual Studio 2019开发环境 020

2.3.2 Visual C 6.0开发环境 026

2.4 C语言程序开发的步骤 029

2.4.1 使用Visual Studio 2019开发

C语言程序 030

2.4.2 使用Visual C 6.0开发

C语言程序 033

2.5 初学者经常遇到的问题 036

2.6 练习题 039

第3章 初识C语言

3.1 开篇实例:《阿甘正传》

“简历” 041

3.2 C语言程序结构 042

3.2.1 头文件 043

3.2.2 主函数 043

3.2.3 函数体 045

3.2.4 输出函数:printf()函数 045

3.2.5 return 0; 046

3.3 注释 046

3.3.1 单行注释 046

3.3.2 多行注释 047

3.3.3 文档注释 047

3.4 常量和变量 048

3.4.1 常量 048

3.4.2 变量 049

3.5 关键字与标识符 051

3.5.1 关键字 051

3.5.2 标识符 052

3.6 C语言的编程规范 055

3.6.1 使用空格 055

3.6.2 使用换行 055

3.6.3 变量、常量命名规范 056

3.6.4 函数命名规范 056

3.7 练习题 056

第4章 C语言基本数据类型

4.1 开篇实例:暗号 058

4.2 基本数据类型概述 059

4.3 整型 060

4.3.1 声明整型数据 060

4.3.2 初始化整型变量 060

4.3.3 其他整型 061

4.3.4 输出其他整型数据 062

4.3.5 整型常量 062

4.4 浮点型 063

4.4.1 声明浮点型数据 063

4.4.2 初始化浮点型变量 065

4.4.3 输出浮点型数据 066

4.4.4 浮点型常量 066

4.5 字符型 067

4.5.1 声明字符型数据 067

4.5.2 初始化字符型变量 068

4.5.3 输出字符型数据 069

4.5.4 字符型常量 070

4.5.5 转义字符 072

4.6 类型转换 073

4.6.1 自动类型转换 073

4.6.2 强制类型转换 075

4.7 练习题 076

第5章 数据输入与输出

5.1 开篇实例:绘制《植物大战僵尸》

中的“墙果” 078

5.2 字符串的输入输出函数 079

5.2.1 单字符输入输出函数:

putchar()和getchar() 079

5.2.2 多字符输入输出函数:

puts()和gets() 082

5.3 格式化输入输出函数 084

5.3.1 格式化输出函数:printf() 084

5.3.2 格式化输入函数:scanf() 091

5.4 练习题 096

第6章 运算符与表达式

6.1 开篇实例:燃烧我的卡路里 098

6.2 运算符与表达式 099

6.2.1 运算符 099

6.2.2 表达式 099

6.3 赋值运算符与赋值表达式 100

6.3.1 赋值运算符 100

6.3.2 赋值表达式 101

6.4 算术运算符与算术表达式 101

6.4.1 “ ”运算符与表达式 102

6.4.2 “-”运算符与表达式 102

6.4.3 “*”运算符与表达式 103

6.4.4 “\”运算符与表达式 104

6.4.5 “%”运算符与表达式 104

6.4.6 “ ”运算符 105

6.4.7 “--”运算符 106

6.4.8 总结 106

6.4.9 优先级与结合性 107

6.5 关系运算符与关系表达式 108

6.5.1 “>”运算符与表达式 108

6.5.2 “>=”运算符与表达式 108

6.5.3 “<”运算符与表达式 109

6.5.4 “<=”运算符与表达式 110

6.5.5 “==”运算符与表达式 110

6.5.6 “!=”运算符与表达式 111

6.5.7 总结 112

6.5.8 优先级与结合性 112

6.6 逻辑运算符与逻辑表达式 113

6.6.1 “&&”运算符与表达式 113

6.6.2 “||”运算符与表达式 114

6.6.3 “!”运算符与表达式 116

6.6.4 总结 117

6.6.5 优先级与结合性 117

6.7 位运算符与位表达式 117

6.7.1 “&”运算符 118

6.7.2 “|”运算符 118

6.7.3 “~”运算符 119

6.7.4 “^”运算符 119

6.7.5 “<<”运算符 121

6.7.6 “> >”运算符 122

6.7.7 总结 122

6.7.8 优先级与结合性 123

6.8 逗号运算符与逗号表达式 123

6.9 复合赋值运算符 124

6.10 优先级与结合性的总结 124

6.11 练习题 126

第7章 条件判断语句

7.1 开篇实例:安全通行 127

7.2 if语句 128

7.2.1 单个if语句 128

7.2.2 if else语句 130

7.2.3 else if语句 132

7.3 if语句的嵌套 135

7.4 条件运算符 137

7.5 switch语句 139

7.5.1 switch语句的基本形式 139

7.5.2 多路开关模式的switch语句 142

7.6 if else和switch的区别 144

7.7 练习题 144

第8章 循环语句

8.1 开篇实例:利用公积金

贷款买房 146

8.2 while语句 147

8.3 do while语句 149

8.4 for语句 152

8.4.1 for语句的使用 152

8.4.2 for循环的变体 154

8.4.3 for语句中逗号的应用 156

8.5 循环嵌套 157

8.6 转移语句 160

8.6.1 break语句 160

8.6.2 continue语句 163

8.6.3 goto语句 165

8.7 练习题 167



提高篇



第9章 数组



9.1 开篇实例:购物车清单 172

9.2 数组的概念 173

9.3 一维数组 174

9.3.1 一维数组的定义 174

9.3.2 一维数组的初始化 176

9.3.3 一维数组元素的引用 177

9.4 二维数组 178

9.4.1 二维数组的定义 179

9.4.2 二维数组的初始化 179

9.4.3 二维数组元素的引用 181

9.5 多维数组 183

9.6 数组的排序算法 184

9.6.1 选择法排序 184

9.6.2 冒泡法排序 186

9.6.3 交换法排序 188

9.6.4 插入法排序 189

9.6.5 折半法排序 191

9.7 5种排序方法的比较 194

9.8 练习题 195



第 10章 字符串处理函数



10.1 字符数组 198

10.2 使用字符串 199

10.2.1 初始化 199

10.2.2 结束标志 200

10.2.3 输入和输出 201

10.3 字符串复制 201

10.4 字符串连接 204

10.5 字符串比较 205

10.6 字符串大小写转换 207

10.7 获得字符串长度 208

10.8 练习题 209





第 11章 输入验证

11.1 英文字母验证 211

11.2 小写字母验证 213

11.3 大写字母验证 214

11.4 标点符号验证 215

11.5 字母或数字验证 217

11.6 除空格外的字符验证 218

11.7 空格验证 219

11.8 练习题 221



第 12章 函数

12.1 函数概述 223

12.2 函数的定义 224

12.2.1 函数定义的形式 224

12.2.2 定义与声明 225

12.3 返回语句 226

12.3.1 有返回值的函数 226

12.3.2 无返回值的函数 227

12.4 函数参数 228

12.4.1 形式参数与实际参数 228

12.4.2 数组作为函数参数 229

12.4.3 main()函数的参数 231

12.5 函数的调用 231

12.5.1 函数的调用方式 232

12.5.2 嵌套调用 234

12.5.3 递归调用 237

12.6 内部函数和外部函数 239

12.6.1 内部函数 239

12.6.2 外部函数 240

12.7 局部变量和全局变量 241

12.7.1 局部变量 241

12.7.2 全局变量 242

12.8 数学库函数 243

12.9 练习题 244





第 13章 指针的使用

13.1 指针相关概念 246

13.1.1 地址与指针 246

13.1.2 变量与指针 247

13.1.3 指针变量 248

13.1.4 指针自增自减运算 250

13.2 数组与指针 252

13.2.1 一维数组与指针变量 252

13.2.2 二维数组与指针变量 255

13.2.3 字符串与指针 255

13.2.4 字符串数组 256

13.3 指向指针的指针 256

13.4 指针变量作为函数参数 257

13.5 返回指针值的函数 260

13.6 指针数组作为main()函数的

参数 260

13.7 练习题 262



高级篇

第 14章 复合数据类型及链表





14.1 结构体 266

14.1.1 结构体类型的概念 266

14.1.2 结构体变量的定义 267

14.1.3 结构体类型的初始化 270

14.1.4 结构体变量的引用 270

14.2 结构体数组 272

14.2.1 定义结构体数组 272

14.2.2 初始化结构体数组 274

14.3 结构体指针 276

14.3.1 指向结构体变量的指针 276

14.3.2 指向结构体数组的指针 279

14.3.3 结构体作为函数参数 281

14.4 包含结构体的结构体 284

14.5 链表 286

14.5.1 链表概述 286

14.5.2 创建动态链表 287

14.5.3 输出链表 289

14.6 链表相关操作 290

14.6.1 链表的插入操作 291

14.6.2 链表的删除操作 292

14.7 共用体 294

14.7.1 共用体的概念 294

14.7.2 共用体变量的初始化 296

14.7.3 共用体变量的引用 296

14.7.4 共用体类型的数据特点 299

14.8 枚举类型 299

14.9 练习题 301



第 15章 预处理命令



15.1 宏定义 303

15.1.1 不带参数的宏定义 304

15.1.2 带参数的宏定义 305

15.2 #include命令 307

15.3 条件编译 308

15.3.1 #if命令 308

15.3.2 #elif命令 309

15.3.3 #ifdef及#ifndef命令 309

15.3.4 #undef命令 310

15.3.5 #pragma命令 311

15.4 练习题 312

第 16章 文件操作



16.1 文件概述 314

16.2 文件基本操作 315

16.2.1 文件指针 315

16.2.2 文件的打开 316

16.2.3 文件的关闭 317

16.3 文件的读写 317

16.3.1 fputc()函数 317

16.3.2 fgetc()函数 319

16.3.3 fputs()函数 320

16.3.4 fgets()函数 321

16.3.5 fprintf()函数 322

16.3.6 fscanf()函数 323

16.3.7 fread()和fwrite()函数 325

16.4 文件的定位 327

16.4.1 fseek()函数 327

16.4.2 rewind()函数 329

16.4.3 ftell()函数 331

16.5 练习题 334



第 17章 内存管理



17.1 内存组织方式 336

17.1.1 内存的组织方式 336

17.1.2 堆与栈 337

17.2 动态管理 338

17.2.1 malloc()函数 338

17.2.2 calloc()函数 339

17.2.3 realloc()函数 340

17.2.4 free()函数 341

17.3 内存丢失 343

17.4 练习题 343



项目篇





第 18章 俄罗斯方块游戏

18.1 需求分析 346

18.2 系统设计 346

18.2.1 系统目标 346

18.2.2 构建开发环境 347

18.2.3 游戏界面 347

18.2.4 业务流程图 347

18.2.5 系统预览 348

18.3 技术准备 350

18.3.1 控制颜色函数 350

18.3.2 设置文字显示位置 352

18.4 公共类设计 353

18.5 游戏欢迎界面设计 355

18.5.1 游戏欢迎界面概述 355

18.5.2 标题部分设计 355

18.5.3 设计字符花装饰 357

18.5.4 设计菜单选项的边框 359

18.5.5 设计菜单选项的文字 360

18.6 游戏主窗体界面设计 361

18.6.1 游戏主窗体界面概述 361

18.6.2 输出游戏主窗体界面 362

18.6.3 绘制俄罗斯方块 365

18.6.4 输出俄罗斯方块 373

18.7 游戏逻辑设计 374

18.7.1 游戏逻辑概述 374

18.7.2 判断俄罗斯方块是否可移动 375

18.7.3 清除俄罗斯方块下落的痕迹 377

18.7.4 判断方块是否满行 378

18.7.5 随机产生俄罗斯方块类型的序号 380

18.8 开始游戏 381

18.8.1 开始游戏模块概述 381

18.8.2 显示俄罗斯方块 382

18.8.3 各种按键操作 383

18.8.4 游戏结束界面 387

18.8.5 重新开始游戏 389

18.9 按键说明模块 389

18.9.1 模块概述 389

18.9.2 代码实现 390

18.10 游戏规则介绍模块 392

18.10.1 模块概述 392

18.10.2 代码实现 392

18.11 退出游戏 394

18.12 小结 395

展开全部

C语言完全自学教程 作者简介

明日科技 一个拥有软件开发和项目实施方面的资深专家和学习型技术团队,利用积累的专业知识和经验,已开发出版了“从入门到精通”“软件开发实战1200例”“软件开发实战宝典”“软件项目开发全程实录”等系列丛书,是国内热销的编程图书。

商品评论(0条)
暂无评论……
书友推荐
本类畅销
编辑推荐
返回顶部
中图网
在线客服