书籍详情
C语言零起点精进攻略:C/C++入门·提高·精通
作者:程的魏
出版社:化学工业出版社
出版时间:2020-03-01
ISBN:9787122357533
定价:¥98.00
购买这本书可以去
内容简介
C语言是学习其他程序设计语言的基础,也是编写硬件相关的嵌入式系统等系统级程序的优秀工具。本书从贴近CPU和内存原理的角度,给读者提供了一个学习—实践—应用C语言的逐步掌握C语言并成为C程序员的技能提升方案。 全书分5篇17章。前3篇分别讲述C语言的起步知识、控制程序流程的基础、编写基本C代码的组织工具;第4篇包含了编写系统级程序所需要的C指针、结构体、编译预处理等关键知识;第5篇提供了应用C开发程序所需要的技能和初步实践方法。 本书可作为高校学生学习C语言的教材和辅助读物,也可作为中学生参加NOIP竞赛的参考书,还能作为初级嵌入式程序员理解C语言的工具书。
作者简介
暂缺《C语言零起点精进攻略:C/C++入门·提高·精通》作者简介
目录
第1篇 起步知识
第1章 CPU运行原理和C语言003
1.1 CPU是如何工作的 / 003
1.1.1 指令节拍和流水线 / 004
1.1.2 摩尔定律让CPU越来越快 / 004
1.1.3 从CPU指令到程序设计语言 / 006
1.2 理解计算机程序设计 / 006
1.2.1 程序是什么 / 006
1.2.2 程序设计与程序设计语言 / 007
1.2.3 不断细化问题的结构化程序设计思想 / 007
1.3 C语言的初步知识 / 008
1.3.1 C语言的历史 / 008
1.3.2 C语言程序的特点 / 009
1.3.3 C语言程序的开发过程 / 010
1.4 程序生成的工具 / 010
1.4.1 编译器的概念 / 011
1.4.2 连接器的概念 / 011
1.4.3 项目和Building / 011
1.5 一个简单的C语言程序 / 012
1.5.1 学习写第一个C语言程序 / 012
1.5.2 分析C语言程序的组成部分 / 012
1.5.3 运行这个程序 / 013
1.5.4 牛刀小试 / 013
1.5.5 C程序的构成 / 014
本章小结 / 014
第2章 C语言基本功015
2.1 了解电脑内存的运行方式 / 015
2.1.1 数据和代码都存储在内存中 / 015
2.1.2 任何数据都需要标识符才能读取 / 016
2.2 认识和使用标识符 / 017
2.2.1 标识符的命名规则 / 017
2.2.2 C语言中标识符的分类 / 018
2.3 什么是变量 / 019
2.3.1 了解变量 / 019
2.3.2 声明变量 / 019
2.3.3 初始化变量 / 020
2.4 什么是常量 / 020
2.4.1 认识常量 / 020
2.4.2 整型常量 / 021
2.4.3 浮点型常量 / 021
2.4.4 字符型常量 / 022
2.4.5 字符串常量 / 023
2.4.6 符号常量 / 023
2.5 C语言程序中数据存储的基本类型 / 024
2.5.1 存储整型数据 / 024
2.5.2 存储实型数据 / 027
2.5.3 存储字符型数据 / 028
2.6 基于数学程序运算符和表达式 / 030
2.6.1 在C语句中使用算术运算符 / 031
2.6.2 赋值运算符 / 032
2.6.3 用自增、自减运算符来进行运算 / 034
2.6.4 逗号运算符 / 035
2.6.5 使用sizeof运算符求变量占用的空间大小 / 035
2.6.6 使用关系运算符完成条件的选择 / 037
2.6.7 注意运算符的优先级和括号 / 038
2.7 数据类型的转换 / 040
2.7.1 隐式自动转换 / 040
2.7.2 显式强制转换 / 043
本章小结 / 044
第2篇 代码基础
第3章 使用顺序结构编写程序047
3.1 语句与表达式 / 047
3.1.1 CPU指令是如何变身汇编语言的 / 047
3.1.2 表达式语句与空语句 / 048
3.1.3 复合语句 / 049
3.2 控制屏幕打印 / 049
3.2.1 使用putchar( )输出字符 / 049
3.2.2 格式化输出函数printf( ) / 050
3.2.3 标准错误流 / 052
3.3 读取键盘输入 / 052
3.3.1 用getchar( ) 函数输入字符 / 052
3.3.2 用getch( ) 和getche( ) 函数输入 / 053
3.3.3 格式化输入函数scanf( ) / 054
3.4 输入输出综合示例 / 057
3.5 操作系统和应用程序 / 057
3.5.1 应用程序在Windows中是如何被执行的 / 058
3.5.2 Windows API 和C 运行时库 / 058
本章小结 / 059
第4章 使用选择结构编写程序061
4.1 用逻辑运算符实现选择结构 / 061
4.1.1 逻辑运算符的使用 / 062
4.1.2 逻辑运算符的优先级与结合性 / 063
4.1.3 使用逻辑运算符的程序举例 / 063
4.2 用if语句实现选择结构 / 064
4.2.1 if语句的使用方法 / 064
4.2.2 使用if语句的程序举例 / 064
4.2.3 使用if…else 结构实现多项选择 / 065
4.2.4 使用if…else结构的程序举例 / 066
4.2.5 if语句的嵌套使用 / 067
4.2.6 使用if语句嵌套的程序举例 / 069
4.3 用条件运算符实现简单的选择结构 / 072
4.3.1 CPU只有JUMP指令 / 072
4.3.2 专业程序员都会错:悬挂else引发的问题 / 073
4.3.3 这是语言特性,不是数学公式 / 074
4.3.4 少用,但可以了解的语言特性 / 074
4.4 多分支条件选择语句:switch / 076
4.4.1 switch语句的结构介绍 / 076
4.4.2 大多数人理解的switch语句都是错的 / 077
4.4.3 多个执行结果共用一个条件 / 079
4.4.4 使用switch语句的程序综合举例 / 080
本章小结 / 081
第5章 使用循环结构编写程序083
5.1 用while实现带条件的循环语句 / 083
5.1.1 while循环语句的结构和功能 / 083
5.1.2 while循环语句的程序实例 / 084
5.2 另一种带条件的循环语句:do…while / 086
5.2.1 比较do…while与while的差异 / 086
5.2.2 用do…while循环的程序实例 / 086
5.3 用for 语句实现循环 / 087
5.3.1 for 循环的结构与功能介绍 / 087
5.3.2 使用for循环的程序实例 / 088
5.3.3 for 循环的几种不同的格式 / 089
5.3.4 在for 语句中添加逗号运算符 / 091
5.4 高级流程控制语句 / 092
5.4.1 用goto 语句在程序中任意跳转 / 092
5.4.2 用break 语句中断循环 / 093
5.4.3 用continue 语句跳出当前循环 / 094
5.5 各种循环语句的嵌套使用 / 096
本章小结 / 098
第3篇能力提高
第6章 用函数把程序分块101
6.1 函数的概念 / 101
6.1.1 明白什么是函数 / 101
6.1.2 使用函数的好处 / 102
6.1.3 main()函数的概念及用途 / 102
6.2 函数的定义 / 102
6.2.1 自己定义一个函数 / 102
6.2.2 定义一个有参函数 / 104
6.2.3 函数的参数 / 105
6.2.4 函数的返回值 / 106
6.2.5 空函数 / 108
6.3 函数的调用原理与声明 / 108
6.3.1 函数的声明 / 108
6.3.2 函数调用表达式 / 109
6.3.3 函数调用的方式 / 109
6.3.4 不加()的函数调用会出现什么 / 111
6.3.5 嵌套调用 / 111
6.3.6 函数在结构化程序设计中的意义 / 112
6.4 递归函数 / 113
6.5 变量的作用域和存储类别 / 116
6.5.1 什么是变量的作用域 / 116
6.5.2 块结构 / 117
6.5.3 局部变量和局部变量的作用域 / 117
6.5.4 全局变量和全局变量的作用域 / 118
6.5.5 变量的存储类别 / 119
6.5.6 静态变量存储 / 119
6.5.7 自动变量存储 / 121
6.6 内部函数与外部函数 / 122
6.6.1 内部函数 / 122
6.6.2 外部函数 / 124
本章小结 / 125
第7章 数组127
7.1 数组的概念及内存占用 / 127
7.1.1 数组的概念 / 127
7.1.2 数组在内存中的存储 / 128
7.1.3 数组的溢出 / 129
7.2 一维数组 / 129
7.2.1 一维数组的定义 / 130
7.2.2 一维数组的初始化 / 130
7.2.3 一维数组元素的引用 / 131
7.2.4 一维数组的应用实例 / 132
7.3 二维数组 / 132
7.3.1 二维数组的定义 / 133
7.3.2 二维数组的初始化 / 134
7.3.3 二维数组元素的引用 / 134
7.3.4 二维数组的应用实例 / 135
7.4 字符数组 / 136
7.4.1 字符数组的定义 / 136
7.4.2 字符串与字符数组 / 136
7.4.3 字符数组的初始化 / 137
7.4.4 字符数组的输入和输出 / 137
7.4.5 使用scanf( ) 函数接收字符串 / 138
7.4.6 字符数组的应用 / 139
7.5 字符数组元素作为函数参数 / 140
7.6 数组在程序中的实际应用举例 / 141
7.7 数组的专业用法 / 143
本章小结 / 146
第1章 CPU运行原理和C语言003
1.1 CPU是如何工作的 / 003
1.1.1 指令节拍和流水线 / 004
1.1.2 摩尔定律让CPU越来越快 / 004
1.1.3 从CPU指令到程序设计语言 / 006
1.2 理解计算机程序设计 / 006
1.2.1 程序是什么 / 006
1.2.2 程序设计与程序设计语言 / 007
1.2.3 不断细化问题的结构化程序设计思想 / 007
1.3 C语言的初步知识 / 008
1.3.1 C语言的历史 / 008
1.3.2 C语言程序的特点 / 009
1.3.3 C语言程序的开发过程 / 010
1.4 程序生成的工具 / 010
1.4.1 编译器的概念 / 011
1.4.2 连接器的概念 / 011
1.4.3 项目和Building / 011
1.5 一个简单的C语言程序 / 012
1.5.1 学习写第一个C语言程序 / 012
1.5.2 分析C语言程序的组成部分 / 012
1.5.3 运行这个程序 / 013
1.5.4 牛刀小试 / 013
1.5.5 C程序的构成 / 014
本章小结 / 014
第2章 C语言基本功015
2.1 了解电脑内存的运行方式 / 015
2.1.1 数据和代码都存储在内存中 / 015
2.1.2 任何数据都需要标识符才能读取 / 016
2.2 认识和使用标识符 / 017
2.2.1 标识符的命名规则 / 017
2.2.2 C语言中标识符的分类 / 018
2.3 什么是变量 / 019
2.3.1 了解变量 / 019
2.3.2 声明变量 / 019
2.3.3 初始化变量 / 020
2.4 什么是常量 / 020
2.4.1 认识常量 / 020
2.4.2 整型常量 / 021
2.4.3 浮点型常量 / 021
2.4.4 字符型常量 / 022
2.4.5 字符串常量 / 023
2.4.6 符号常量 / 023
2.5 C语言程序中数据存储的基本类型 / 024
2.5.1 存储整型数据 / 024
2.5.2 存储实型数据 / 027
2.5.3 存储字符型数据 / 028
2.6 基于数学程序运算符和表达式 / 030
2.6.1 在C语句中使用算术运算符 / 031
2.6.2 赋值运算符 / 032
2.6.3 用自增、自减运算符来进行运算 / 034
2.6.4 逗号运算符 / 035
2.6.5 使用sizeof运算符求变量占用的空间大小 / 035
2.6.6 使用关系运算符完成条件的选择 / 037
2.6.7 注意运算符的优先级和括号 / 038
2.7 数据类型的转换 / 040
2.7.1 隐式自动转换 / 040
2.7.2 显式强制转换 / 043
本章小结 / 044
第2篇 代码基础
第3章 使用顺序结构编写程序047
3.1 语句与表达式 / 047
3.1.1 CPU指令是如何变身汇编语言的 / 047
3.1.2 表达式语句与空语句 / 048
3.1.3 复合语句 / 049
3.2 控制屏幕打印 / 049
3.2.1 使用putchar( )输出字符 / 049
3.2.2 格式化输出函数printf( ) / 050
3.2.3 标准错误流 / 052
3.3 读取键盘输入 / 052
3.3.1 用getchar( ) 函数输入字符 / 052
3.3.2 用getch( ) 和getche( ) 函数输入 / 053
3.3.3 格式化输入函数scanf( ) / 054
3.4 输入输出综合示例 / 057
3.5 操作系统和应用程序 / 057
3.5.1 应用程序在Windows中是如何被执行的 / 058
3.5.2 Windows API 和C 运行时库 / 058
本章小结 / 059
第4章 使用选择结构编写程序061
4.1 用逻辑运算符实现选择结构 / 061
4.1.1 逻辑运算符的使用 / 062
4.1.2 逻辑运算符的优先级与结合性 / 063
4.1.3 使用逻辑运算符的程序举例 / 063
4.2 用if语句实现选择结构 / 064
4.2.1 if语句的使用方法 / 064
4.2.2 使用if语句的程序举例 / 064
4.2.3 使用if…else 结构实现多项选择 / 065
4.2.4 使用if…else结构的程序举例 / 066
4.2.5 if语句的嵌套使用 / 067
4.2.6 使用if语句嵌套的程序举例 / 069
4.3 用条件运算符实现简单的选择结构 / 072
4.3.1 CPU只有JUMP指令 / 072
4.3.2 专业程序员都会错:悬挂else引发的问题 / 073
4.3.3 这是语言特性,不是数学公式 / 074
4.3.4 少用,但可以了解的语言特性 / 074
4.4 多分支条件选择语句:switch / 076
4.4.1 switch语句的结构介绍 / 076
4.4.2 大多数人理解的switch语句都是错的 / 077
4.4.3 多个执行结果共用一个条件 / 079
4.4.4 使用switch语句的程序综合举例 / 080
本章小结 / 081
第5章 使用循环结构编写程序083
5.1 用while实现带条件的循环语句 / 083
5.1.1 while循环语句的结构和功能 / 083
5.1.2 while循环语句的程序实例 / 084
5.2 另一种带条件的循环语句:do…while / 086
5.2.1 比较do…while与while的差异 / 086
5.2.2 用do…while循环的程序实例 / 086
5.3 用for 语句实现循环 / 087
5.3.1 for 循环的结构与功能介绍 / 087
5.3.2 使用for循环的程序实例 / 088
5.3.3 for 循环的几种不同的格式 / 089
5.3.4 在for 语句中添加逗号运算符 / 091
5.4 高级流程控制语句 / 092
5.4.1 用goto 语句在程序中任意跳转 / 092
5.4.2 用break 语句中断循环 / 093
5.4.3 用continue 语句跳出当前循环 / 094
5.5 各种循环语句的嵌套使用 / 096
本章小结 / 098
第3篇能力提高
第6章 用函数把程序分块101
6.1 函数的概念 / 101
6.1.1 明白什么是函数 / 101
6.1.2 使用函数的好处 / 102
6.1.3 main()函数的概念及用途 / 102
6.2 函数的定义 / 102
6.2.1 自己定义一个函数 / 102
6.2.2 定义一个有参函数 / 104
6.2.3 函数的参数 / 105
6.2.4 函数的返回值 / 106
6.2.5 空函数 / 108
6.3 函数的调用原理与声明 / 108
6.3.1 函数的声明 / 108
6.3.2 函数调用表达式 / 109
6.3.3 函数调用的方式 / 109
6.3.4 不加()的函数调用会出现什么 / 111
6.3.5 嵌套调用 / 111
6.3.6 函数在结构化程序设计中的意义 / 112
6.4 递归函数 / 113
6.5 变量的作用域和存储类别 / 116
6.5.1 什么是变量的作用域 / 116
6.5.2 块结构 / 117
6.5.3 局部变量和局部变量的作用域 / 117
6.5.4 全局变量和全局变量的作用域 / 118
6.5.5 变量的存储类别 / 119
6.5.6 静态变量存储 / 119
6.5.7 自动变量存储 / 121
6.6 内部函数与外部函数 / 122
6.6.1 内部函数 / 122
6.6.2 外部函数 / 124
本章小结 / 125
第7章 数组127
7.1 数组的概念及内存占用 / 127
7.1.1 数组的概念 / 127
7.1.2 数组在内存中的存储 / 128
7.1.3 数组的溢出 / 129
7.2 一维数组 / 129
7.2.1 一维数组的定义 / 130
7.2.2 一维数组的初始化 / 130
7.2.3 一维数组元素的引用 / 131
7.2.4 一维数组的应用实例 / 132
7.3 二维数组 / 132
7.3.1 二维数组的定义 / 133
7.3.2 二维数组的初始化 / 134
7.3.3 二维数组元素的引用 / 134
7.3.4 二维数组的应用实例 / 135
7.4 字符数组 / 136
7.4.1 字符数组的定义 / 136
7.4.2 字符串与字符数组 / 136
7.4.3 字符数组的初始化 / 137
7.4.4 字符数组的输入和输出 / 137
7.4.5 使用scanf( ) 函数接收字符串 / 138
7.4.6 字符数组的应用 / 139
7.5 字符数组元素作为函数参数 / 140
7.6 数组在程序中的实际应用举例 / 141
7.7 数组的专业用法 / 143
本章小结 / 146
猜您喜欢