新書推薦:
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:HK$
66.1
《
SDGSAT-1卫星热红外影像图集
》
售價:HK$
445.8
《
股市趋势技术分析(原书第11版)
》
售價:HK$
221.8
《
汉匈战争全史
》
售價:HK$
99.7
《
恶的哲学研究(社会思想丛书)
》
售價:HK$
109.8
《
不止江湖
》
售價:HK$
98.6
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:HK$
154.6
《
双城史
》
售價:HK$
110.9
編輯推薦:
本书通过提供多种教学资源,zui大限度地满足教师教学需要和学生学习需要。从内容上来说,本书附有教学大纲、教学设计、教学PPT、微课视频、实验案例、测试等内容,其目的是zui大限度地满足教师教学需要和学生学习需要。
內容簡介:
本书对 C 语言知识体系进行了系统规划,对每个知识点进行了深入分析,并精心设计了相关案例。全书共分 12 章,第 1 章讲解了 C 语言整体概况、C 语言开发环境与 C 程序编译过程;第 2~3 章讲解了C 语言基础知识,包括关键字、标识符、常量、变量、数据类型、类型转换、数据溢出、C 语言编码风格、C 语言常用运算符及表达式等;第 4~11 章讲解了 C 语言的核心知识,包括结构化程序设计、内存与指针、数组、函数、字符串、结构体、预处理、文件操作等;第 12 章讲解了一个综合项目——俄罗斯方块,让读者对前面所学知识融会贯通,并了解实际项目开发流程。本书附有配套视频、源代码、题库、教学课件等资源,为帮助初学者更好地学习本书中的内容,还提供了在线答疑,希望得到更多读者的关注。本书适合作为高等院校计算机相关专业 C 语言程序设计课程教材,也可作为 C 语言技术基础培训教材,以及广大计算机编程爱好者的参考用书。
關於作者:
:“黑马程序员”是传智播客旗下高端IT教育品牌,传智播客是一家专门致力于高素质软件开发人才培养的高科技公司,传智播客致力于为企业优选一流的人才的培训理念,经过多年的教学探索及战略布局,已向着综合型职业教育集团发展。
目錄 :
第 1 章 C 语言概述 11.1认识 C 语言 11.1.1C 语言的起源 11.1.2C 语言标准 21.2C 语言应用领域 21.3C 语言的特点 41.4C 语言开发环境搭建 51.5 使用 Visual Studio 编写 C 程序 81.5.1第一个 C 语言程序 81.5.2C 程序编译过程 11小结 13习题 13第 2 章 C 语言数据类型152.1C 语言基础概念 152.1.1 关键字 152.1.2 标识符 182.1.3 常量 192.1.4 变量 212.1.5 不同的关键字修饰变量 212.2 数据类型 232.2.1 基本类型 232.2.2 数据溢出 272.2.3 指针类型 292.2.4 构造类型 292.3 数据类型转换 332.3.1 隐式类型转换 332.3.2 显式类型转换 332.4格式化输入 输出 352.4.1printf 函数 352.4.2scanf 函数 382.5C 语言编程风格 392.5.1 程序格式 392.5.2 程序注释 422.5.3 命名规则 43小结 43习题 44第 3 章 运算符与表达式453.1 运算符与表达式的概念 453.2 赋值运算符与赋值表达式 463.3 算术运算符与算术表达式 473.4 关系运算符与关系表达式 493.5 逻辑运算符与逻辑表达式 503.6 条件运算符与条件表达式 513.7 位运算符 513.8 sizeof 运算符 543.9 运算优先级 54小结 56习题 56第 4 章 结构化程序设计584.1 程序流程图 584.2 顺序结构 604.3 选择结构 614.3.1if 条件语句 614.3.2switch 条件语句 664.4 循环结构 694.4.1while 循环 704.4.2do...while 循环 714.4.3for 循环 734.4.4 循环嵌套 754.5 跳转语句 764.5.1 break 774.5.2 continue 784.5.3 goto 79小结 79习题 79 目 录 III第 5 章 指针825.1 认识计算机内存 825.2 认识指针 845.2.1 指针的概念 845.2.2 指针变量的类型及大小 855.3 指针的运算 865.3.1 取地址运算 865.3.2 指针间接访问 885.3.3 指针算术运算 885.4 特殊类型指针 905.4.1 空指针 905.4.2 野指针 915.4.3void* 指针 915.5 内存操作函数 925.5.1 堆内存申请函数 925.5.2 堆内存释放 935.5.3 其他内存操作函数 935.6指针与 const 修饰符 945.6.1 常量指针 945.6.2 指针常量 945.6.3 常量的常指针 955.7 二级指针 95小结 98习题 98第6章 数组1006.1 一维数组的定义与初始化 1006.2 数组三要素 1026.2.1 数组索引 1026.2.2 数组类型 1026.2.3 数组大小 1036.3 数组内存分析 1046.3.1 数组的起始地址 1046.3.2 数组的步长 1056.3.3 数组边界 1066.4 数组遍历 1086.5 数组排序 1096.5.1 冒泡排序 1096.5.2 选择排序 1126.5.3 插入排序 1146.6 二维数组 1176.6.1 二维数组定义与初始化 1186.6.2 二维数组元素访问 1206.7 二维数组内存分析 1216.8 变长数组与动态数组 1246.8.1 变长数组 1246.8.2 动态数组 1256.9 数组和指针 1286.9.1 数组名和指针 1286.9.2 数组指针 1296.9.3 指针数组 132小结 135习题 135第 7 章 函数1377.1 函数的概念 1377.2 函数的定义 1387.3 函数三要素 1417.3.1 函数名 1417.3.2 参数列表 1417.3.3 返回值类型 1437.4 函数调用 1457.4.1 函数调用过程 1457.4.2 函数调用方式 1467.5 函数的参数传递 1487.5.1 值传递 1487.5.2 址传递 1497.5.3const 修饰参数 1507.5.4 可变参数函数 1527.6 递归函数 1557.6.1 递归函数的概念 1557.6.2 递归函数的应用 1577.7 内联函数 1597.8 变量作用域 161 目 录 V7.8.1 局部变量 1617.8.2 全局变量 1627.9 多文件之间变量引用与函数调用 1627.9.1 多文件之间的变量引用 1627.9.2 多文件之间的函数调用 1647.10 函数与指针 1677.10.1 函数指针 1677.10.2 回调函数 1687.10.3 指针函数 1697.11C 语言常用的标准库 1717.11.1 stdio.h 1717.11.2 stdlib.h 1727.11.3 stddef.h 1727.11.4 string.h 1737.11.5 math.h 1737.11.6 time.h 1737.11.7 ctype.h 173小结 174习题 174第 8 章 字符串 1768.1 字符数组与字符串 1768.1.1 字符数组 1768.1.2 字符串 1778.1.3 字符串与指针 1788.2字符串的输入 输出 1818.2.1gets 函数 1818.2.2puts 函数 1828.3 标准库字符串操作函数 1838.3.1 字符串长度计算函数 1838.3.2 字符串比较函数 1848.3.3 字符串连接函数 1858.3.4 字符串查找函数 1868.3.5 字符串复制函数 1878.4 自定义字符串处理函数 1898.4.1 自定义函数计算字符串长度 1898.4.2 自定义函数比较字符串 1908.4.3 自定义函数连接字符串 1918.4.4 自定义字符串查找函数 193小结 194习题 194第 9 章 结构体1979.1 结构体类型的定义 1979.2 结构体变量的定义与初始化 1989.2.1 结构体变量的定义 1999.2.2 结构体变量的初始化 2009.2.3 结构体变量的存储方式 2019.3 结构体变量的成员访问 2039.3.1 直接访问结构体变量的成员 2039.3.2 通过指针访问结构体变量的成员 2049.4 结构体嵌套 2059.4.1 访问嵌套结构体变量成员 2069.4.2 嵌套结构体的内存管理 2079.5 结构体数组 2099.5.1 结构体数组的定义与初始化 2099.5.2 结构体数组的访问 2119.6 将结构体作为函数参数 2129.6.1 结构体变量作为函数参数 2129.6.2 结构体数组作为函数参数 2139.6.3 结构体指针作为函数参数 2159.7 typedef——给数据类型取别名 216小结 217习题 217第 10 章 预处理 22010.1 宏定义 22010.1.1 不带参数的宏定义 22010.1.2 带参数的宏定义 22210.1.3 取消宏定义 22510.2 条件编译 22610.2.1 #if...#else...#endif 22610.2.2 #ifdef 22710.2.3 #ifndef 22810.3 文件包含 23210.4 断言 233 目 录 VII10.4.1 断言的作用 23410.4.2断言与 debug 23510.5 #pragma 236小结 238习题 238第 11 章 文件操作 24011.1 文件概述 24011.1.1 计算机中的流 24011.1.2 文件的概念 24111.1.3 文件的分类 24211.1.4 文件指针 24311.1.5 文件位置指针 24411.2 文件的相关操作 24511.2.1 文件打开与关闭 24511.2.2 文件写入 24711.2.3 文件读取 25211.2.4 文件随机访问 25711.2.5 文件重命名与文件删除 25911.3 文件检测函数 26111.3.1perror 函数 26111.3.2ferror 函数 26211.3.3feof 函数 26311.3.4clearerr 函数 26411.4 缓冲区函数 26611.4.1fflush 函数 26611.4.2setbuf 函数 26611.4.3setvbuf 函数 267小结 268习题 268第 12 章 综合项目——俄罗斯方块?????????????????????????????????????? 27112.1 项目分析 27112.1.1 项目需求分析 27112.1.2 项目设计 27512.2 项目实现 27912.2.1 窗口构建模块的实现 27912.2.2 俄罗斯方块生成模块的实现 28312.2.3 游戏规则制定模块的实现 28712.2.4 分数保存查看模块的实现 29512.2.5main 函数实现 29612.3 效果显示 29712.4 程序调试 30112.4.1 设置断点 30112.4.2 单步调试 30312.4.3 观察变量 30512.4.4 项目调试 30712.5 项目心得 308小结 309附录 A ASCII 码表??????????????????????????????????????????????????? 310 附录 B stdio?h 标准库常用函数???????????????????????????????????????? 312 附录 C stdlib?h 标准库常用函数 ??????????????????????????????????????? 315 附录 D string?h 标准库常用函数??????????????????????????????????????? 317 附录 E math?h 标准库常用函数 ??????????????????????????????????????? 319 附录 F time?h 标准库常用函数 ???????????????????????????????????????? 321 附录 Gctype?h 标准库常用函数 ????????????????????????????????????
內容試閱 :
作为一门广泛流行的编程语言,C语言因其简洁、高效、灵活、可移植性高等特点一直被广泛应用于多个开发领域。在所有编程语言中,C语言是zui接近底层的高级语言,可以直接操作系统硬件,其执行速度仅次于汇编语言;C语言既适合开发系统程序,又适合开发应用程序,且易于入门,因此,很多学校将C语言作为计算机编程课程的入门语言。为什么要学习本书作为一种技术的入门教程,zui重要也zui难的一件事情就是要将一些非常复杂、难以理解的思想和问题简单化,让初学者能够轻松理解并快速掌握。作为C语言的入门教材,本书对C语言知识体系进行了系统罗列与规划,对每个知识点都进行了深入分析,并精心设计了相关案例。真正做到了由浅入深、由易到难。相比于市面上的同类教材,本书具有以下亮点:(1)C语言知识体系涵盖内容更广泛,对每个知识点的讲解更加丰富翔实。例如,对于数组越界知识点,大多教材只讲解数组不能越界,但本书更深入一步,从数组内存角度分析数组不能越界的原理,不仅让读者学习知识,更让其理解每个知识点后面深层次的系统知识。(2)案例丰富。本书为每个知识点都配备了案例,这样既可提高学生的动手能力,又巩固了所学知识。(3)选择Visual Studio 2019作为开发工具,让读者接触新的开发环境,时刻紧跟技术前沿。(4)通过提供多种教学资源,zui大限度地满足教师教学需要和学生学习需要。从内容上来说,本书附有教学大纲、教学设计、教学PPT、微课视频、实验案例、测试等内容,其目的是zui大限度地满足教师教学需要和学生学习需要。如何使用本书本书共分12章,下面分别对每个章节进行简要介绍,具体如下:◎ 第1章讲解了C语言的起源、标准、应用领域、特点、Visual Studio 2019开发环境的搭建及C程序编译过程。通过本章的学习,读者可掌握Visual Studio 2019的安装与使用、理解C程序的编译原理。◎ 第2~3章讲解了C语言的基础知识,包括关键字、标识符、常量、变量、修饰变量的关键字、数据类型、数据类型转换、数据溢出、格式化输入输出函数、C程序编码风格、C语言常用的运算符及表达式等。只有掌握这些基础知识,才能更好地学习后面的核心内容。◎ 第4~11章讲解了C语言中zui核心的内容,主要包括指针、数组、函数、字符串、结构体、预处理、文件等。读者需要花大量的精力理解所讲解的内容。只有熟练掌握这些知识,才文前.indd 12019-12-5 17:38:46 IIC 语言程序设计立体化教程算真正地学好C语言。◎ 第12章讲解了俄罗斯方块项目,主要包括项目分析、项目设计、项目实现、项目心得等。通过本章的学习,初学者可以了解C语言项目的开发流程。如果读者在理解知识点的过程中遇到困难,建议不要纠结于某个地方,可以先往后学习,前面的知识或可豁然开朗。如果读者在动手练习的过程中遇到问题,建议多思考,理清思路,认真分析问题发生的原因,并在问题解决后多总结。致谢本书的编写和整理工作由传智播客教育科技有限公司完成,主要参与人员有高美云、薛蒙蒙、李卓等。全体人员在近一年的编写过程中付出了很多辛勤的汗水,在此一并表示衷心的感谢。意见反馈尽管我们付出了zui大的努力,但书中仍难免会有疏漏与不妥之处,欢迎各界专家和读者朋友提出宝贵意见,我们将不胜感激。在阅读本书时,如果发现任何问题或有不认同之处可以通过电子邮件与我们取得联系。请发送电子邮件至:itcast_book@vip.sina.com。黑马程序员2019年8月文前.indd 22019-12-5 17:38:46