作者 |
明日科技 |
丛书名 |
出版社 |
电子工业出版社 |
ISBN |
9787121402630 |
简要 |
简介 |
内容简介书籍计算机书籍 本书从初学者的角度出发,通过通俗易懂的语言、丰富多彩的实例,循序渐进地让读者在实践中学习C 编程知识,并提升自己的实际开发能力。全书共18章,包括初识C ,C 语言基础,运算符与表达式,条件判断语句,循环语句,函数,数组、指针和引用,结构体与共用体,面向对象编程基础,类和对象,继承与派生,模板,STL标准模板库,RTTI与异常处理,程序调试,文件操作,网络通信,餐饮管理系统。书中所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会C 程序开发的精髓,快速提高开发技能。 |
目录 |
第1章初识C 1 1.1C 概述 1 1.2C 代码结构 2 1.2.1C 工程项目文件 2 1.2.2认识C 代码结构 2 第2章C 语言基础 4 2.1第一个C 程序 4 2.1.1#include指令 5 2.1.2iostream标准库 5 2.1.3命名空间 6 2.1.4std::介绍 7 2.1.5main函数 7 2.1.6函数体 7 2.1.7函数返回值 7 2.1.8注释 7 2.2常量及符号 8 2.2.1整型常量 8 2.2.2浮点型常量 11 2.2.3字符常量 11 2.2.4字符串常量 13 2.2.5其他常量 15 2.3变量 15 2.3.1标识符 16 2.3.2变量的声明及赋值 16 2.3.3整型变量 17 2.3.4实型变量 18 2.3.5字符型变量 19 2.4数据类型 21 2.4.1定义数据类型 22 2.4.2字符类型 23 2.4.3布尔类型 24 2.5数据输入与输出 24 2.5.1控制台屏幕 24 2.5.2C 语言中的流 24 2.5.3流输出格式的控制 27 第3章运算符与表达式 34 3.1运算符 34 3.1.1算术运算符 34 3.1.2关系运算符 36 3.1.3逻辑运算符 36 3.1.4赋值运算符 38 3.1.5位运算符 39 3.1.6移位运算符 41 3.1.7sizeof运算符 42 3.1.8条件运算符 43 3.1.9逗号运算符 43 3.2结合性和优先级 44 3.3表达式 46 3.3.1表达式概述 46 3.3.2表达式中的类型转换 46 3.4判断左值与右值 49 第4章条件判断语句 50 4.1决策分支 50 4.2判断语句 51 4.2.1第一种形式的判断语句if语句 51 4.2.2第二种形式的判断语句if…else语句 53 4.2.3第三种形式的判断语句if…else if语句 55 4.3使用条件运算符进行判断 57 4.4switch语句 58 4.5判断语句的嵌套 63 第5章循环语句 65 5.1while循环和do…while循环 65 5.1.1while循环 65 5.1.2do...while循环 67 5.2for循环 69 5.2.1for循环的一般形式 69 5.2.2for循环的变体 71 5.3循环控制 73 5.3.1控制循环的变量 73 5.3.2break语句 74 5.3.3continue语句 75 5.3.4goto语句 76 5.4循环的嵌套 77 第6章函数 80 6.1函数概述 80 6.1.1函数的定义 80 6.1.2函数的声明 81 6.2函数参数及返回值 82 6.2.1空函数 82 6.2.2形参与实参 82 6.2.3默认参数 83 6.2.4可变参数 85 6.2.5返回值 86 6.3函数调用 87 6.3.1传值调用 87 6.3.2嵌套调用 89 6.3.3递归调用 90 6.4变量作用域 93 6.5重载函数 94 6.6内联函数 95 6.7变量的存储类别 96 6.7.1auto变量 97 6.7.2static变量 98 6.7.3register变量 100 6.7.4extern变量 100 第7章数组、指针和引用 101 7.1一维数组 101 7.1.1一维数组的声明 101 7.1.2一维数组的引用 101 7.1.3一维数组的初始化 102 7.2二维数组 103 7.2.1二维数组的声明 103 7.2.2二维数组元素的引用 104 7.2.3二维数组的初始化 104 7.3字符数组 106 7.4指针 112 7.4.1变量与指针 112 7.4.2指针运算符和取地址运算符 115 7.4.3指针运算 116 7.4.4指向空的指针与空类型指针 117 7.4.5指向常量的指针与指针常量 118 7.5指针与数组 119 7.5.1指针与一维数组 119 7.5.2指针与二维数组 121 7.5.3指针与字符数组 125 7.6指针在函数中的应用 126 7.6.1传递地址 126 7.6.2指向函数的指针 128 7.6.3从函数中返回指针 129 7.7指针数组 130 7.8引用 132 7.8.1引用概述 132 7.8.2使用引用传递参数 133 7.8.3数组作为函数参数 134 第8章结构体与共用体 136 8.1结构体 136 8.1.1结构体定义 136 8.1.2结构体变量 137 8.1.3结构体成员及初始化 137 8.1.4结构体的嵌套 140 8.1.5结构体大小 142 8.2重命名数据类型 143 8.3结构体与函数 145 8.3.1结构体变量做函数的参数 146 8.3.2结构体指针变量做函数的参数 147 8.4结构体数组 148 8.4.1结构体数组声明与引用 148 8.4.2指针变量访问结构体数组 149 8.5共用体 150 8.5.1共用体类型的定义与声明 150 8.5.2共用体的大小 151 8.5.3共用体数据类型的特点 152 8.6枚举类型 153 8.6.1枚举类型的声明 153 8.6.2枚举类型变量 154 8.6.3枚举类型的运算 155 第9章面向对象编程基础 157 9.1面向对象概述 157 9.2面向对象与面向过程编程 158 9.2.1面向过程编程 158 9.2.2面向对象编程 159 9.2.3面向对象的特点 159 9.3统一建模语言 160 9.3.1统一建模语言概述 160 9.3.2统一建模语言的结构 160 9.3.3面向对象的建模 162 第10章类和对象 163 10.1C 类 163 10.1.1类概述 163 10.1.2类的声明与定义 164 10.1.3类的实现 165 10.1.4对象的声明 170 10.2构造函数 172 10.2.1构造函数概述 172 10.2.2复制构造函数 174 10.3析构函数 176 10.4类成员 178 10.4.1访问类成员 178 10.4.2内联成员函数 180 10.4.3静态类成员 180 10.4.4隐藏的this指针 183 10.4.5嵌套类 184 10.4.6局部类 185 10.5友元 186 10.5.1友元概述 186 10.5.2友元类 189 10.5.3友元方法 190 10.6命名空间 192 10.6.1使用命名空间 192 10.6.2定义命名空间 193 10.6.3在多个文件中定义命名空间 195 10.6.4定义嵌套的命名空间 197 10.6.5定义未命名的命名空间 199 第11章继承与派生 200 11.1继承 200 11.1.1类的继承 200 11.1.2继承的可访问性 202 11.1.3构造函数访问顺序 204 11.1.4子类显示调用父类构造函数 206 11.1.5子类隐藏父类的成员函数 208 11.2重载运算符 211 11.2.1重载运算符的必要性 211 11.2.2重载运算符的形式与规则 213 11.2.3重载运算符的运算 214 11.2.4转换运算符 217 11.3多重继承 218 11.3.1多重继承定义 218 11.3.2二义性 220 11.3.3多重继承的构造顺序 221 11.4多态 222 11.4.1虚函数概述 223 11.4.2利用虚函数实现动态绑定 223 11.4.3虚继承 225 11.5抽象类 227 第12章模板 229 12.1函数模板 229 12.1.1函数模板的定义 229 12.1.2函数模板的作用 230 12.1.3重载函数模板 232 12.2类模板 233 12.2.1类模板的定义与声明 234 12.2.2简单类模板 236 12.2.3设置默认模板参数 237 12.2.4为具体类型的参数提供默认值 237 12.2.5有界数组模板 238 12.3模板的使用 241 12.3.1定制类模板 241 12.3.2定制类模板成员函数 243 12.4链表类模板 244 12.4.1链表 244 12.4.2链表类模板 247 12.4.3类模板的静态数据成员 250 第13章STL标准模板库 252 13.1序列容器 252 13.1.1向量类模板 252 13.1.2双端队列类模板 256 13.1.3链表类模板 258 13.2关联式容器 261 13.2.1set类模板 261 13.2.2multiset类模板 264 13.2.3map类模板 266 13.2.4multimap类模板 268 13.3算法 269 13.3.1非修正序列算法 269 13.3.2修正序列算法 272 13.3.3排序算法 274 13.3.4数值算法 276 13.4迭代器 277 13.4.1输出迭代器 277 13.4.2输入迭代器 278 13.4.3前向迭代器 279 13.4.4双向迭代器 279 13.4.5随机访问迭代器 280 第14章RTTI与异常处理 282 14.1RTTI 282 14.1.1什么是RTTI 282 14.1.2RTTI与引用 283 14.1.3RTTI与多重继承 284 14.1.4RTTI映射语法 285 14.2异常处理 288 14.2.1抛出异常 288 14.2.2异常捕获 290 14.2.3异常匹配 293 14.2.4标准异常 295 第15章程序调试 296 15.1选择正确的调试方法 296 15.2四种常见的程序错误类型 296 15.2.1语法错误 296 15.2.2连接错误 297 15.2.3运行时错误 298 15.2.4逻辑错误 298 15.3调试工具的使用 299 15.3.1创建调试程序 299 15.3.2进入调试状态 300 15.3.3Watch窗口 301 15.3.4Call Stack窗口 301 15.3.5Memory窗口 302 15.3.6Variables窗口 302 15.3.7Registers窗口 303 15.3.8Disassembly窗口 303 15.4调试的基本应用 304 15.4.1变量的跟踪与查看 304 15.4.2位置断点的使用 305 15.5调试的高级应用 308 15.5.1在调试时修改变量的值 308 15.5.2在循环语句中调试 309 第16章文件操作 311 16.1流简介 311 16.1.1C 中的流类库 311 16.1.2类库的使用 312 16.1.3ios类中的枚举常量 312 16.1.4流的输入/输出 313 16.2文件打开 313 16.2.1打开方式 313 16.2.2默认打开模式 314 16.2.3打开文件的同时创建文件 315 16.3文件的读写 316 16.3.1文件流 316 16.3.2写文本文件 318 16.3.3读取文本文件 319 16.3.4二进制文件的读写 320 16.3.5实现文件复制 321 16.4文件指针移动操作 322 16.4.1文件错误与状态 322 16.4.2文件的追加 323 16.4.3文件结尾的判断 324 16.4.4在指定位置读写文件 325 16.5文件和流的关联和分离 327 16.6删除文件 328 第17章网络通信 330 17.1TCP/IP 330 17.1.1OSI参考模型 330 |