共找到 112 项 “徐磊” 相关结果
- 全部分类
- 全部
- 文学
- 历史
- 哲学/宗教
- 法律
- 政治/社会
- 医学
- 教育/心理学
- 艺术/传媒
- 研究生考试
- 资格认证考试
- 公开课
- 语言
- 经济金融
- 管理学
- IT/计算机
- 自然科学
- 工学/工程
- 体育
- 行业资料
- 音乐
- 汽车机械制造
- 文档模板
- 创业
- 农学
- 生活
- 数据库教程
- 民族
作者: 杨彦强,刘袁红,王浩等编著
出版社:机械工业出版社,2012
简介: 所属分类:计算机网络 > 程序设计> c c++ c# vc vc++ > 阅读和学习本书并不要求读者有c++语言的基础,通过几百个简洁高效的代码,本书将带领读者循序渐进地领略c++语言的魅力所在。本书采用从无到有、由浅入深、逐级递进的编写方式,尤其适合无c++语言基础或c语言基础薄弱的程序员阅读。 本书共分为六篇21章,介绍了 visualc++6开发环境的搭建、c++语言的基本数据类型、c++语言的表达式、函数、函数重载、类的继承、多态、内存管理方式、文件存储、错误与异常、rtti、string类、编码风格与程序编译等内容,最后还对世界500强中it公司常见面试题进行了讲解。 本书非常适合c++语言的初、中级学者阅读,并可作为开发人员的参考手册。 前言 第一篇 c++基础 第1章 c++概述 1 1.1 了解计算机 1 1.1.1 计算机硬件 2 1.1.2 计算机软件 3 1.2 程序设计语言 3 1.2.1 机器语言 3 1.2.2 汇编语言 4 1.2.3 高级语言 5 1.2.4 数据结构和算法 6 1.2.5 面向过程的 程序设计(pop) 6 1.2.6 面向对象的 程序设计(oop) 6 1.3 c++简介 7 1.3.1 c++语言发展历程 7 1.3.2 c++语言特点 8 1.3.3 c++程序开发基本过程 8 1.4 c++开发环境的搭建 9 1.4.1 visualc++ 6开发环境简介 9 1.4.2 开发步骤 10 1.5 第一个c++程序 11 1.6 小结 12 1.7 上机实践习题 12 第2章 开始c++之旅 13 2.1 c++程序的结构 13 2.1.1 注释 14 2.1.2 编译预处理与新旧标准 14 2.1.3 主函数 14 2.1.4 名称空间 16 2.1.5 c++语素 17 2.2 变量与基本类型 18 2.2.1 变量 18 2.2.2 整型 20 2.2.3 浮点型 21 2.2.4 基本字符型 21 2.2.5 宽字符型 22 2.2.6 布尔型 22 2.3 常量 22 2.3.1 整型常量和浮点型常量 23 2.3.2 字符型常量 23 2.3.3 字符串常量 25 2.3.4 符号常量 26 2.3.5 枚举常量 27 2.4 运算符与表达式 28 2.4.1 算术运算 28 2.4.2 逻辑运算 30 2.4.3 短路表达式 30 2.4.4 关系运算 31 2.4.5 大有文章: 变量是否为“0” 31 2.4.6 条件运算 32 2.4.7 位运算 32 2.4.8 赋值运算 35 2.4.9 ++和-- 37 2.4.10 逗号表达式 38 2.4.11 sizeof运算符与sizeof表达式 38 2.4.12 运算符的优先级和结合性 38 2.5 类型转换 40 2.5.1 赋值转换 40 2.5.2 表达式中的转换 43 2.5.3 强制类型转换 44 2.5.4 函数调用和传递参数时的类型转换 45 2.6 流程控制语句 45 2.6.1 if...else...选择结构 45 2.6.2 switch结构 47 2.6.3 if...else...结构和switch结构的比较 51 2.6.4 for循环结构 51 2.6.5 for循环结构嵌套 53 2.6.6 while循环结构 54 2.6.7 do...while循环结构 54 2.6.8 循环语句的效率 55 2.6.9 流程转向控制语句之break 55 2.6.10 流程转向控制语句之continue 56 2.6.11 自由转向语句goto 56 2.6.12 程序中止函数exit() 57 2.7 小结 58 2.8 上机实践习题 58 第二篇 c++过程开发 第3章 数组和c风格字符串 61 3.1 什么是数组 61 3.2 一维数组 62 3.2.1 一维数组的声明 62 3.2.2 初始化一维数组 63 3.2.3 一维数组应用举例 64 3.2.4 数组操作注意事项 65 3.3 c 风格字符串 65 3.3.1 c 风格字符串的声明 65 3.3.2 字符数组的cin和cout 66 3.3.3 get()函数和getline()函数 67 3.3.4 cin与get()/getline()函数的搭配问题 68 3.3.5 访问c风格字符串中的某个元素 69 3.3.6 c风格字符串处理函数 69 3.4 多维数组 71 3.4.1 声明一个多维数组 71 3.4.2 初始化多维数组 72 3.4.3 多维数组应用举例 72 3.4.4 多维数组在内存中是如何排列元素的 73 3.5 小结 74 3.6 上机实践习题 74 第4章 指针和引用 76 4.1 指针的定义与使用 76 4.1.1 声明一个指针变量 76 4.1.2 初始化指针变量 79 4.1.3 指向指针的指针 80 4.1.4 指针赋值 80 4.2 指针的运算 81 4.2.1 指针与整数的加减 81 4.2.2 同类型指针间的比较 82 4.2.3 同类型指针相减 82 4.3 动态内存分配 83 4.3.1 使用new动态分配内存 83 4.3.2 使用delete动态释放及动态申请的内存 83 4.3.3 使用new申请动态数组 83 4.3.4 不要使用或释放已经释放的内存块 85 4.3.5 使用malloc和free动态申请内存 85 4.3.6 动态内存申请并不一定能成功 87 4.4 指针和const 87 4.4.1 禁止改写指针(常量指针或常指针) 87 4.4.2 禁止改写间接引用 88 4.4.3 既禁止改写指针,又禁止改写间接引用 88 4.5 指针与数组 88 4.5.1 数组名指针 88 4.5.2 数组元素的指针形式 90 4.5.3 指向数组的指针 90 4.5.4 指针数组 92 4.6 引用 95 4.6.1 引用的声明 95 4.6.2 引用的特点 95 4.6.3 引用的使用限制 96 4.6.4 其他要说明的问题 97 4.7 小结 97 4.8 上机实践习题 98 第5章 结构、共用体和链表 99 5.1 结构 99 5.1.1 如何定义一个结构 99 5.1.2 结构变量的声明和使用 100 5.1.3 结构变量的初始化 102 5.1.4 结构变量间是否可以相互赋值 102 5.1.5 结构体变量的sizeof 103 5.2 共用体 105 5.2.1 共用体的定义 105 5.2.2 共用体和结构的区别 105 5.2.3 共用体变量的声明和初始化 107 5.2.4 共用体使用举例 107 5.2.5 共用体的sizeof 109 5.3 结构数组和共用体数组 109 5.3.1 结构数组的声明和初始化 109 5.3.2 共用体数组的声明和初始化 110 5.4 指向结构的指针 111 5.4.1 声明一个结构指针 111 5.4.2 结构指针的初始化 112 5.4.3 使用指针访问结构成员 114 5.5 链表 114 5.5.1 链表的结构 115 5.5.2 创建链表 115 5.5.3 链表与数组的区别 116 5.5.4 链表的遍历和查找 116 5.5.5 链表的插入和删除 118 5.6 小结 121 5.7 上机实践习题 122 第6章 用函数合理组织程序 124 6.1 模块化带来的好处 124 6.1.1 函数的调用过程 124 6.1.2 抽象和封装 125 6.1.3 实现一个函数 126 6.2 函数定义 126 6.2.1 函数头 127 6.2.2 函数体 127 6.2.3 函数定义补充说明 128 6.3 函数声明 129 6.3.1 为什么要进行函数声明 129 6.3.2 如何声明一个函数 130 6.3.3 分割程序文件 131 6.4 函数调用 132 6.4.1 形参和实参 133 6.4.2 参数类型转换 133 6.4.3 值传递 134 6.4.4 指针传递 135 6.4.5 引用传递 136 6.4.6 对3种传递的补充 137 6.4.7 默认参数调用 138 6.4.8 inline函数 140 6.5 递归 141 6.6 函数的重载 143 6.6.1 何时使用函数重载 144 6.6.2 如何实现函数重载 144 6.6.3 陷阱:隐式转换导致重载函数出现二义性 144 6.7 c++如何使用内存 145 6.7.1 自动存储(栈存储) 145 6.7.2 静态存储(编译器预分配) 148 6.8 作用域与可见域 152 6.8.1 作用域 153 6.8.2 可见域 153 6.8.3 函数的作用域和可见域 156 6.9 小结 156 6.10 上机实践习题 157 第7章 关于函数的高级专题 158 7.1 内存使用错误剖析 158 7.1.1 内存泄露 158 7.1.2 野指针 159 7.1.3 试图修改常量 160 7.1.4 用错sizeof 161 7.1.5 内存越界访问 161 7.1.6 变量的初始化 162 7.2 重申:函数参数传递和返回机制 162 7.2.1 参数传递时的“副本” 162 7.2.2 函数返回时的“副本” 164 7.3 函数与指针 165 7.3.1 指向函数的指针 165 7.3.2 typedef 167 7.3.3 通过函数指针将函数作为另一个函数的参数 168 7.3.4 函数指针数组 169 7.3.5 返回函数指针的函数 171 7.3.6 带参主函数 171 7.4 函数与数组 172 7.4.1 数组名作为函数参数 172 7.4.2 通过指针得到多于1个的回传值 175 7.5 函数与结构体、共用体及类对象 176 7.5.1 3种参数调用 176 7.5.2 3种返回机制 177 7.6 函数编写的建议 177 7.6.1 合理使用const 177 7.6.2 检查输入参数的有效性 178 7.6.3 函数返回类型的判断 179 7.7 小结 179 7.8 上机实践习题 179 第三篇 面向对象的c++ 第8章 面向对象技术基础 181 8.1 面向对象基本概念 181 8.1.1 类的概念 182 8.1.2 类是分层的 182 8.1.3 类和对象的关系 183 8.2 c++类的定义 183 8.2.1 类定义的基本形式 183 8.2.2 类定义示例 184 8.2.3 class和struct 185 8.3 c++类的实现 185 8.3.1 在类定义时定义成员函数 185 8.3.2 在类定义的外部定义成员函数 186 8.4 c++类的使用 187 8.4.1 声明一个对象 188 8.4.2 对象的作用域、可见域和生存期 189 8.5 对象的创建和撤销 189 8.5.1 构造函数的作用 189 8.5.2 构造函数可以有参数 190 8.5.3 构造函数支持重载 191 8.5.4 构造函数允许按参数默认方式调用 192 8.5.5 初始化表达式 192 8.5.6 析构函数 194 8.5.7 显式调用析构函数 195 8.6 复制构造函数 196 8.6.1 复制构造函数调用机制 196 8.6.2 默认复制构造函数带来的问题 198 8.6.3 解决方案—显式定义复制构造函数 199 8.6.4 关于构造函数和复制构造函数 201 8.7 特殊数据成员 202 8.7.1 const数据成员 202 8.7.2 引用成员 204 8.7.3 类对象成员 206 8.7.4 特别说明 210 8.7.5 static数据成员 210 8.8 特殊函数成员 212 8.8.1 静态成员函数 212 8.8.2 const与成员函数 214 8.9 对象的组织 215 8.9.1 const对象 215 8.9.2 指向对象的指针 217 8.9.3 对象的大小 218 8.9.4 this指针 219 8.9.5 对象数组 220 8.9.6 对象链表 221 8.10 为对象动态分配内存 221 8.10.1 使用new和delete为单个对象分配/释放动态内存 221 8.10.2 使用new和delete为对象数组分配/释放动态空间 222 8.10.3 malloc和free能否为对象动态申请内存 224 8.11 小结 224 8.12 上机实践习题 225 第9章 关于对象的高级专题 227 9.1 类的作用域 227 9.2 类定义的作用域与可见域 229 9.3 对象的生存期、作用域和可见域 232 9.3.1 先定义,后实例化 232 9.3.2 对象内存的释放与堆内存 232 9.4 友元 232 9.4.1 友元的非成员函数 233 9.4.2 友元的成员函数 234 9.4.3 友元函数的重载 236 9.4.4 友元类 236 9.4.5 友元是否破坏了封装性 237 9.5 运算符重载 238 9.5.1 运算符重载规则 238 9.5.2 以成员函数形式重载运算符 239 9.5.3 以友元函数形式重载运算符 242 9.5.4 友元函数形式和成员函数形式的比较 245 9.5.5 对运算符重载的补充说明 246 9.6 运算符重载范例 247 9.6.1 赋值运算符 247 9.6.2 函数调用运算符 250 9.6.3 下标运算符 251 9.7 类型转换 253 9.7.1 由其他类型向定义类的转换 253 9.7.2 由自定义类向其他类型的转换 255 9.7.3 隐式转换带来的二义性 257 9.8 重载函数选择规则 257 9.8.1 重载解析 258 9.8.2 什么是完全匹配 258 9.9 小结 259 9.10 上机实践习题 259 第10章 继承 262 10.1 什么是继承 262 10.1.1 简单示例 262 10.1.2 继承的层次性 264 10.2 派生类 264 10.2.1 public派生与private派生 264 10.2.2 protected成员与 protected派生 265 10.3 多基派生 266 10.3.1 多基派生的声明和定义 266 10.3.2 二义性问题 267 10.3.3 解决方案 268 10.4 虚基类 268 10.4.1 共同基类带来的二义性 268 10.4.2 解决方案 270 10.4.3 虚基派生二义性与多基派生二义性不同 271 10.5 派生类的构造函数和析构函数 271 10.5.1 派生类的构造函数 271 10.5.2 派生类的析构函数 273 10.5.3 多基派生类的构造函数和析构函数 275 10.5.4 虚基派生类的构造函数和析构函数 275 10.6 分清继承还是组合 278 10.6.1 继承不是万金油 278 10.6.2 组合 278 10.7 基类与派生类对象间的相互转换 280 10.7.1 类型适应 280 10.7.2 多基继承时的情况 282 10.7.3 公共基类 282 10.7.4 虚基类的情况 284 10.8 小结 284 10.9 上机实践习题 285 第11章 多态 287 11.1 多态与虚函数 287 11.1.1 静态联编 287 11.1.2 动态联编 287 11.1.3 为什么需要虚函数 287 11.1.4 虚函数的声明和定义 290 11.2 虚函数的访问 290 11.2.1 对象名访问 291 11.2.2 指针访问 292 11.2.3 引用访问 292 11.2.4 类内访问 293 11.2.5 在构造函数或析构函数中进行访问 294 11.3 纯虚函数与抽象类 295 11.3.1 纯虚函数的声明和定义 295 11.3.2 抽象类 296 11.3.3 另一种抽象类:类中只定义了 protected型的构造函数 299 11.3.4 延伸:构造函数能否为private型 301 11.3.5 虚析构函数 302 11.4 虚函数引入的二义性 305 11.4.1 多基派生 305 11.4.2 共同基类和虚继承 307 11.5 重载、覆盖与隐藏 309 11.5.1 重载 309 11.5.2 覆盖 309 11.5.3 隐藏 310 11.6 小结 311 11.7 上机实践习题 312 第四篇 泛 型 编 程 第12章 模板 315 12.1 为什么要定义模板 315 12.1.1 类型参数化 315 12.1.2 模板的定义 317 12.2 函数模板 318 12.2.1 函数模板的使用 318 12.2.2 隐式实例化 318 12.2.3 显式实例化 320 12.2.4 特化 321 12.2.5 重载 322 12.2.6 优先级与执行顺序 322 12.3 类模板 324 12.3.1 定义类模板 324 12.3.2 隐式实例化 326 12.3.3 显式实例化 326 12.3.4 显式特化 327 12.3.5 部分特化 328 12.3.6 重载和优先级 328 12.4 模板的嵌套 329 12.4.1 函数成员模板 329 12.4.2 对象成员模板 330 12.5 模板参数 331 12.6 小结 332 12.7 上机实践习题 333 第13章 标准模板库 335 13.1 理解stl 335 13.1.1 容器 335 13.1.2 适配器 336 13.1.3 迭代器 336 13.1.4 算法 336 13.2 使用序列式容器 336 13.2.1 序列式容器的创建和元素的访问 336 13.2.2 所有容器都支持的特征 338 13.2.3 序列式容器中元素的插入和删除 339 13.2.4 vector容器 344 13.2.5 deque容器 344 13.2.6 list容器 344 13.3 使用关联式容器 344 13.3.1 set容器 345 13.3.2 multiset容器 346 13.3.3 map容器 346 13.3.4 multimap容器 348 13.4 关联式容器支持的成员函数操作 349 13.4.1 元素的插入 349 13.4.2 元素的删除 352 13.4.3 元素的查找与访问 354 13.5 迭代器 355 13.5.1 理解迭代器本质 355 13.5.2 迭代器类型 355 13.5.3 为什么要定义这么多迭代器 357 13.5.4 容器中定义的迭代器类型与5种类型的对应 358 13.5.5 流迭代器 358 13.5.6 迭代器失效 360 13.6 泛型算法 360 13.6.1 什么是函数对象 360 13.6.2 算法分类 361 13.7 适配器 365 13.7.1 容器适配器 366 13.7.2 迭代器适配器 367 13.7.3 函数适配器 369 13.8 小结 371 13.9 上机实践习题 371 第五篇 输入输出处理和编程规范 第14章 输入输出和文件 373 14.1 输入输出概述 373 14.1.1 什么是文件 374 14.1.2 流 374 14.1.3 缓冲区 375 14.1.4 重定向 375 14.1.5 3种输入输出机制 376 14.2 高层i/o 377 14.2.1 标准输出函数printf 377 14.2.2 标准输入函数scanf 381 14.2.3 扫描集 384 14.2.4 sprintf函数和sscanf函数 385 14.2.5 fprintf函数和fscanf函数 386 14.2.6 文件访问机制 386 14.3 流类库 390 14.3.1 流类库更安全、更高效 390 14.3.2 流类库层次 390 14.4 输出流 394 14.4.1 操作符<< 394 14.4.2 其他ostream方法 395 14.4.3 格式状态字 397 14.4.4 格式控制值的默认值 398 14.4.5 flag函数读取和设定格式状态字 398 14.4.6 使用setf函数和unsetf函数设定格式关键字 400 14.4.7 设置域宽 402 14.4.8 填充字符 404 14.4.9 浮点数输出和显示精度 404 14.4.10 控制符 406 14.5 输入流 408 14.5.1 >>操作符 408 14.5.2 输入流与格式状态字 408 14.5.3 输入流与域宽 410 14.5.4 使用get函数读取单个字符 411 14.5.5 使用get函数和getline函数读取c风格字符串 413 14.5.6 其他istream方法 415 14.6 流状态 417 14.6.1 什么是流状态 417 14.6.2 读取流状态 417 14.6.3 管理流状态 418 14.7 重载>>和<< 420 14.7.1 插入符的重载 420 14.7.2 抽取符的重载 422 14.8 文件操作 423 14.8.1 文件操作基本过程 423 14.8.2 文件的打开 423 14.8.3 取消文件和流的关联 425 14.8.4 文件的读写 426 14.8.5 文本文件的读写 427 14.8.6 二进制文件的读写 428 14.8.7 文件定位指针和随机读取 429 14.9 字符串流 431 14.9.1 strstream类族 431 14.9.2 sstream类族 434 14.10 小结 437 14.11 上机实践习题 437 第15章 名称空间 439 15.1 什么是名称空间 439 15.1.1 名称空间范例 439 15.1.2 定义名称空间 440 15.2 实体的作用域与可见域 441 15.2.1 实体可见域 442 15.2.2 可见域的扩展 442 15.2.3 using声明机制 443 15.2.4 using声明带来的多重声明问题(二义性) 445 15.2.5 空间内的屏蔽 445 15.2.6 先声明,后使用 446 15.3 名称空间的作用域与可见性 447 15.3.1 名称空间的定义策略 447 15.3.2 推荐用法 450 15.3.3 名称空间嵌套 451 15.3.4 using编译指令 452 15.3.5 未命名的名称空间 453 15.4 对名称空间的思考 454 15.5 小结 454 15.6 上机实践习题 454 第16章 异常和错误 456 16.1 编码时的防错 456 16.1.1 调用abort函数或exit函数 456 16.1.2 返回错误标志 457 16.2 异常机制 458 16.2.1 关键字throw 460 16.2.2 异常处理程序 460 16.2.3 自定义异常对象 463 16.2.4 有继承关系的类异常 464 16.2.5 terminate函数和set_terminate函数 466 16.2.6 unexpected函数与set_unexpected函数 467 16.2.7 标准异常 468 16.2.8 对unexpected函数的补充 470 16.3 异常发生时的内存管理 471 16.3.1 堆栈解退 471 16.3.2 异常处理机制与函数的不同 472 16.3.3 构造函数中抛出异常 473 16.3.4 内存泄露 474 16.3.5 析构函数中可否抛出异常 475 16.4 auto_ptr类 476 16.4.1 使用auto_ptr类模板 477 16.4.2 关于auto_ptr的若干问题 477 16.5 小结 478 16.6 上机实践习题 479 第17章 rtti和类型转换操作符 481 17.1 rtti机制 481 17.1.1 dynamic_cast操作符 482 17.1.2 typeinfo类和typeid操作符 483 17.1.3 补充说明 484 17.2 类型转换操作符 484 17.2.1 const_cast操作符 484 17.2.2 static_cast操作符 485 17.2.3 reint erpret_cast操作符 486 17.3 小结 486 17.4 上机实践习题 487 第18章 string字符串类 489 18.1 为什么要使用string类 489 18.2 声明一个字符串 489 18.3 字符串的输入输出 491 18.4 string类功能 492 18.4.1 string字符串和c风格字符串的转换 492 18.4.2 赋值和清空 492 18.4.3 元素删除 493 18.4.4 元素追加与相加 493 18.4.5 元素插入 494 18.4.6 大小和容量 494 18.4.7 元素存取 494 18.4.8 字符串比较 495 18.4.9 提取子串 495 18.4.10 搜索与查找 495 18.5 小结 496 18.6 上机实践习题 496 第19章 编码风格 497 19.1 程序的排版 497 19.1.1 注释 497 19.1.2 空行的用法 498 19.1.3 代码行 498 19.1.4 空格 498 19.1.5 缩进与对齐 499 19.1.6 &和*的位置 499 19.2 命名规则 499 19.2.1 windows风格和unix风格 500 19.2.2 如何对程序实体命名 500 19.3 项目文件的组织 500 19.3.1 模块划分 500 19.3.2 头文件 500 19.3.3 定义文件 501 19.3.4 目录结构 501 19.4 小结 501 19.5 上机实践习题 502 第20章 程序编译 503 20.1 程序的编译流程 503 20.2 预处理 504 20.2.1 头文件包含 505 20.2.2 宏 505 20.2.3 条件编译 506 20.2.4 #ifdef、 #ifndef与重复包含 507 20.2.5 使用const代替#define定义常量 508 20.2.6 inline与#define的比较 509 20.3 vc6调试入门 509 20.3.1 断点的设置与去除 509 20.3.2 条件断点 510 20.3.3 数据断点 510 20.3.4 消息断点 511 20.3.5 观察视图(watch) 511 20.3.6 内存视图(memory) 511 20.3.7 变量视图(variables) 511 20.3.8 寄存器视图(registers) 511 20.3.9 调用堆栈视图(call stack) 512 20.3.10 反汇编视图(disassembly) 512 20.3.11 进程控制 512 20.4 其他调试手段 512 20.4.1 debug模式和release模式 512 20.4.2 assert宏 512 20.4.3 输出字符串 513 20.5 小结 513 20.6 上机实践习题 513 第六篇 面试题精选 第21章 常见面试题 517 21.1 常见基本知识问答题 517 面试题1:简述面向对象的3个基本特征 517 面试题2:局部变量能否和全局变量重名 517 面试题3:类成员函数的重载、覆盖和隐藏的区别是什么 518 面试题4:用变量a给出下面的定义 518 面试题5:在c++中,下面的结构是合法的吗?如果是,其作用是什么 519 面试题6:在非c++中建类 a 和 b,在哪几种情况下b能隐式转化为a 519 面试题7:c++中的空类,默认产生哪些类成员函数 519 面试题8:c++有哪些性质(面向对象特点) 519 面试题9:子类析构时要调用父类的析构函数吗 520 面试题10:什么是引用?声明和使用“引用”要注意哪些问题 520 面试题11:将引用作为函数返回值类型的格式及优点有哪些 520 面试题12:引用与指针的区别是什么 520 面试题13:重载和重写(覆盖)的区别 520 面试题14:多态的作用是什么 520 面试题15:请指出const与#define相比有何优点 521 面试题16:c语言中static关键字的具体作用有哪些 521 面试题17:如何判断程序是由c 编译程序还是由c++编译程序编译的 521 面试题18:关键字const的含义是什么 521 21.2 世界500强公司的智力问答题 522 面试题19:工人分金条 522 面试题20:分蛋糕 522 面试题21:过桥问题 522 面试题22:黑白帽子 523 面试题23:电梯与钻石 523 面试题24:手电筒传递 523 面试题25:烧绳问题 524 面试题26:圆的下水道盖子 524 面试题27:选建筑师 524 面试题28:天平分盐 524 面试题29:分不开的钱 524 面试题30:小鸟追火车 525 面试题31:给红色最大的机会 525 面试题32:镜子中的影像 525 面试题33:污染的药丸 525 面试题34:称出不是标准重量的水 525 面试题35:多彩的果冻 526 面试题36:电子游戏机 526 面试题37:监狱里的囚犯 526 面试题38:灯的状态 526 面试题39:时针和分针 527 面试题40:3个奇数 527 面试题41:屋内的灯 527 面试题42:找出最重的球 528 面试题43:盲人分袜子 528 面试题44:烧香计时 528 面试题45:平分蜂蜜 528 面试题46:猜经理女儿的年龄 528 面试题47:两个圆环 529 面试题48:喝啤酒 529 面试题49:算24点 529 面试题50:聪明人 529 面试题51:海盗分金币 529 面试题52:到底是什么牌 530 面试题53:聪明的老板娘 531 面试题54:找出不同重量的球 531 21.3 分析题 532 面试题55:分析下面的程序段,显示最后的结果 532 面试题56:分析程序最后的输出结果 532 面试题57:分析最后输出的结果 533 面试题58:求下面函数的返回值 533 面试题59:分析最后输出的结果 534 面试题60:分析最后输出的结果 535 21.4 编程题 536 面试题61:结果输出到文件 536 面试题62:string类的具体实现 537 面试题63:链表题,一个链表的节点结构 538 面试题64:写一个函数并找出在一个整数数组中第二大的数 540 面试题65:字符串的逆序输出 541 面试题66:判断操作系统的位数 541 面试题67:实现对数组的降序排序 542 面试题68:斐波那契数列1、1、2、3、5等,编写程序求第10项 543 ·由浅入深,循序渐进,从零开始学c++,一点都不难 ·编程基础、编程进阶、编程应用、项目实战、上机练习、面试指南 ·266个实例、42个练习题、68个面试题 本书主要由杨彦强、刘袁红、王浩编著,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光。 作 者 2012年1月
作者: 张熠等编著
出版社:机械工业出版社,2012
简介: 所属分类:计算机网络 > 程序设计> html xml > 本书站在零基础学习的角度,以通俗易懂的语言,结合丰富多彩的实例,来帮助初学者学习和掌握html语言和css样式设计。本书列举了大量的小型实例、综合实例,并包含3个项目案例,内容详尽、实例丰富、叙述清晰。 本书主要分为四篇:第一篇为第1~11章,讲解了网页文字、字体、表格、段落、超级链接、图像、表单、框架、 多媒体等技术;第二篇为第12~14章,对div+css的语法和相关属性进行了详细的解释和说明;第三篇为第15~30章,详细介绍了css的字体、文本、背景、边框、定位、列表、选择符等知识点;最后一篇为第31~34章,包括实战案例和实战面试,先通过3个案例介绍了网页的设计思路;然后通过面试题考查读者所学。 本书适合作为中、高等学校师生以及各种 网页设计培训班的教材或参考书,同时也可供网站建设专业人士参考使用。 前言 第一篇 html基础知识 第1章 认识html语言 1.1 html简介 1.2 html的标记组成 1.2.1 单标记 1.2.2 双标记 1.3 创建第一张网页 1.4 浏览html的浏览器兼容 1.5 编写html的工具 1.5.1 aptana代码提示工具 1.5.2 dreamweaver网页开发工具 1.6 小结 1.7 上机实践 第2章 常用html标记和格式 2.1 设置正文的标题 2.1.1 标题设置的语法 2.1.2 标题设置经典案例—字号由大到小 2.2 设置段落 2.3 强制换行 2.4 给代码添加注释 2.5 粗体与斜体 2.6 下划线与删除线 2.7 上标与下标 2.8 html标记和格式实例 2.8.1 标题用h1 2.8.2 设置每一行为一段落 2.8.3 粗体和删除线 2.8.4 加上化学元素和数学平方根 2.9 小结 2.10 上机实践 第3章 字体标记 3.1 设置字体大小 3.2 设置字体颜色 3.3 设置标题字体样式 3.3.1 标题的字体 3.3.2 设置字体的大小和颜色 3.4 字体标记 3.4.1 物理字体 3.4.2 逻辑字体 3.5 字体实例 3.5.1 插入字体 3.5.2 字体颜色设为红色 3.5.3 把文字设为标题h1 3.5.4 设为斜体并加删除线 3.5.5 设置字体为 3.6 小结 3.7 上机实践 第4章 文字布局 4.1 行的控制 4.1.1 换行控制 4.1.2 不换行控制 4.2 文字对齐 4.3 段落设置 4.4 列表 4.4.1 无序列表 4.4.2 有序列表 4.5 其他方式修饰文本 4.5.1 欲格式化文本 4.5.2 计算机输出格式 4.6 文字布局实例 4.6.1 设置文字换行与不换行 4.6.2 设置文字对齐 4.6.3 显示列表 4.6.4 在网页中显示计算机源代码 4.7 小结 4.8 上机实践 第5章 图像 5.1 图像的基本语法 5.1.1 在网页中插入图像 5.1.2 图像无法显示时的提示信息 5.1.3 控制图像的大小 5.2 图像的链接 5.3 图像和文字对齐 5.4 图像的边框 5.5 图像映射图 5.6 图像实例 5.6.1 在网页上引入图像标记 5.6.2 设置图像参数alt 5.6.3 给图像做超链接 5.6.4 设置图像的边框 5.6.5 设置文本与图像对齐 5.6.6 设置图像的映射图 5.7 小结 5.8 上机实践 第6章 超级链接 6.1 文字链接 6.1.1 最简单的文字超链接 6.1.2 超链接网页的打开方式 6.1.3 链接的注释 6.2 图片链接 6.3 锚点链接 6.4 邮箱地址链接 6.5 相对路径与绝对路径 6.5.1 相对路径 6.5.2 绝对路径 6.6 链接实例 6.6.1 在网页中做文字链接 6.6.2 给图片设置超链接 6.6.3 设置锚点链接 6.6.4 邮箱链接 6.7 小结 6.8 上机实践 第7章 表单 7.1 表单基本语法 7.2 文本框和密码框 7.2.1 文本框 7.2.2 密码框 7.3 单选框和复选框 7.3.1 单选框 7.3.2 复选框 7.4 下拉列表与文本域 7.4.1 下拉列表 7.4.2 文本域 7.5 按钮 7.6 表单实例 7.6.1 插入表单 7.6.2 添加文本框和密码框 7.6.3 添加单选框和复选框 7.6.4 添加下拉列表和文本域 7.6.5 在表单中添加提交按钮 7.7 小结 7.8 上机实践 第8章 表格 8.1 表格基本语法 8.2 跨多行、多列表元 8.2.1 跨多行表元 8.2.2 跨多列表元 8.3 设置表格大小 8.3.1 设置表格边框 8.3.2 设置表格高度和宽度 8.4 表格内文字对齐 8.5 表格在网页中对齐 8.6 表格实例 8.6.1 表格中嵌入表格 8.6.2 设置跨行和跨列 8.7 小结 8.8 上机实践 第9章 框架 9.1 框架基本语法 9.2 框架分栏 9.2.1 框架垂直分栏 9.2.2 框架水平分栏 9.3 框架的常用属性 9.3.1 设置不可调节框架大小 9.3.2 浏览器不支持框架 9.3.3 设置框架边框 9.3.4 设置滚动条 9.4 框架链接 9.4.1 导航框架 9.4.2 内联框架 9.5 框架实例 9.5.1 在网页中插入框架 9.5.2 设置框架的滚动条和边框 9.5.3 设置不支持框架文字 9.5.4 设置框架导航链接 9.6 小结 9.7 上机实践 第10章 移动的字体和图片 10.1 移动属性基本语法 10.2 文字的移动 10.3 图片的移动 10.4 如何设置对象移动 10.4.1 文本移动的方向 10.4.2 文本的滚动循环 10.4.3 文本的移动速度 10.4.4 应用文本的全部移动标记 10.5 移动实例—电影结束效果 10.6 小结 10.7 上机实践 第11章 网页 多媒体 11.1 网页 多媒体的基本语法 11.2 设置自动播放 11.3 设置 多媒体循环播放 11.4 隐藏面板的设置 11.5 设置面板大小 11.6 对齐方式 11.7 网页 多媒体实例—在网页中播放视频 11.7.1 引入视频文件 11.7.2 设置 多媒体为非自动播放 11.7.3 设置 多媒体无循环播放 11.7.4 设置控制面板的大小 11.8 小结 11.9 上机实践 第二篇 div+css布局 第12章 为什么用div布局 12.1 div与table布局比较 12.1.1 什么是div 12.1.2 div与table的区别 12.2 如何用div布局 12.2.1 设置div选择符 12.2.2 设置css修饰div效果 12.2.3 设置div的背景颜色 12.3 使用div注意事项 12.4 小结 12.5 上机实践 第13章 div与span 13.1 解读span 13.2 何时用span 13.3 div与span的区别 13.3.1 默认宽度不同 13.3.2 块元素与行内元素 13.4 div与span实例—多层布局 13.5 小结 13.6 上机实践 第14章 div与css结合 14.1 用css控制div 14.2 css文件链接 14.2.1 内联定义 14.2.2 链入内部css 14.2.3 链接外部css 14.3 div+css布局实例 14.3.1 确定布局 14.3.2 定义body样式 14.3.3 定义主要的div 14.3.4 设置层居中 14.4 小结 14.5 上机实践 第三篇 css部分 第15章 css基础知识 15.1 css简介 15.2 css文件链接方式 15.3 选择符 15.4 伪类 15.5 注解 15.6 单位 15.7 用编写css工具演示 15.7.1 打开css工具软件 15.7.2 新建css文件 15.7.3 保存为css后缀文件 15.7.4 打开aptana工具 15.7.5 在菜单栏中新建css文件 15.8 css与浏览器兼容性 15.9 css基础实例 15.9.1 在aptana中新建网页 15.9.2 在aptana中新建css文件 15.9.3 链接css文件到html页面中 15.9.4 用不同的浏览器测试页面 15.10 小结 15.11 上机实践 第16章 字体设置 16.1 字体的复合属性 16.2 字体颜色 16.3 字体大小 16.4 字体重量 16.5 字体类型 16.6 行距 16.7 如何设置文本间距与间隔 16.7.1 文本间距 16.7.2 文本间隔 16.8 字体实例—字体花样 16.8.1 加入字体名字 16.8.2 加入css控制字体 16.8.3 设置行距 16.8.4 设置文本间隔 16.9 小结 16.10 上机实践 第17章 文本设置 17.1 字母大小写转换 17.2 文本修饰 17.3 空格处理方式 17.4 设置文本的垂直与水平对齐 17.4.1 文本垂直对齐 17.4.2 文本水平对齐 17.5 文本缩进 17.6 文本设置—给段落设置缩进 17.6.1 对div布局 17.6.2 设置文本首行缩进 17.7 小结 17.8 上机实践 第18章 设置背景 18.1 背景语法 18.2 设置背景颜色 18.3 设置背景图像 18.3.1 设置背景图像滚动 18.3.2 设置背景图像位置 18.3.3 设置背景图像如何铺排 18.4 背景实例 18.4.1 设置层背景为绿色 18.4.2 设置层背景图像 18.4.3 设置背景为不铺排 18.4.4 设置背景图像位置 18.5 小结 18.6 上机实践 第19章 设置尺寸 19.1 设置宽度 19.2 设置高度 19.3 尺寸实例—设置层居中 19.3.1 尺寸实例手把手 19.3.2 设置层居中 19.4 小结 19.5 上机实践 第20章 设置外补丁 20.1 外补丁基本语法 20.2 外补丁的四边设置 20.2.1 顶端外补丁用法 20.2.2 右端外补丁用法 20.2.3 底端外补丁用法 20.2.4 左端外补丁用法 20.3 外补丁实例—设置层与层的距离 20.3.1 层与层的距离效果 20.3.2 对层布局 20.3.3 设置层的尺寸 20.3.4 设置层漂移 20.3.5 设置层与层之间的间隔 20.4 小结 20.5 上机实践 第21章 设置内补丁 21.1 内补丁基本语法 21.2 内补丁的四边属性 21.2.1 顶端内补丁用法 21.2.2 右端内补丁用法 21.2.3 底端内补丁用法 21.2.4 左端内补丁用法 21.3 内补丁实例 21.3.1 设置顶部内补丁 21.3.2 设置其他位置的内补丁 21.3.3 用复合属性padding设置内补丁 21.4 小结 21.5 上机实践 第22章 设置对象边框 22.1 边框的基本语法 22.2 边框颜色 22.3 边框样式 22.4 边框宽度 22.5 对象的四个边框 22.5.1 设置顶端边框的属性 22.5.2 设置右端边框的属性 22.5.3 设置底端边框的属性 22.5.4 设置左端边框的属性 22.6 边框实例—双边框 22.6.1 实例手把手 22.6.2 设置多层边框 22.7 小结 22.8 上机实践 第23章 定位 23.1 定位的基本语法 23.2 设置对象层叠顺序 23.3 设置对象的边框位置 23.4 定位实例—圆角制作 23.4.1 相对定位实例 23.4.2 绝对定位实例 23.4.3 实例—圆角制作 23.5 小结 22.6 上机实践 第24章 列表 24.1 列表的基本语法 24.2 设置列表的图像 24.3 设置列表的文本排列 24.4 列表的预设标记 24.5 列表实例 24.5.1 设置列表图像文字内显示 24.5.2 设置列表样式为空心圆 24.5.3 设置文本外自定义列表图像 24.6 小结 24.7 上机实践 第25章 用css控制表格 25.1 控制表格的基本语法 25.2 设置表格边框独立或合并 25.3 设置表格布局的算法 25.4 css控制表格实例 25.4.1 布局好表格 25.4.2 表格边框独立和合并 25.4.3 设置表格算法为自动和固定 25.5 小结 25.6 上机实践 第26章 css设置滚动条 26.1 滚动条的基本语法 26.2 设置滚动条亮边框颜色 26.3 设置3d界面亮边颜色和表面颜色 26.4 设置滚动条方向箭头颜色 26.5 设置滚动条3d界面暗边颜色和暗边框颜色 26.6 设置滚动条基准颜色和拖动区域颜色 26.7 小结 26.8 上机实践 第27章 css布局 27.1 设置层的漂移 27.2 清除层的漂移范围 27.3 设置层的可视区域 27.4 内容超过层大小时 27.5 鼠标指针的不同表示 27.6 设置对象可见性 27.6.1 设置对象是否隐藏 27.6.2 设置对象是否显示 27.7 小结 27.8 上机实践 第28章 选择符 28.1 通配选择符 28.2 类型选择符 28.3 包含选择符 28.4 布局常用选择符 28.4.1 id选择符 28.4.2 类选择符 28.5 分组选择符 28.6 小结 28.7 上机实践 第29章 伪类 29.1 伪类概念 29.2 伪类的四种状态 29.2.1 访问链接的状态 29.2.2 鼠标光标置于其上的状态 29.2.3 获得焦点的状态 29.2.4 访问过后的状态 29.3 小结 29.4 上机实践 第30章 单位 30.1 长度单位 30.2 颜色单位 30.3 小结 30.4 上机实践 第四篇 实 践 部 分 第31章 游戏网站布局 31.1 网站主页规划 31.2 用div+css布局 31.2.1 实现页面头部 31.2.2 实现中间部分 31.2.3 实现页面底部 31.3 加入文字 31.4 调整全页面的兼容性 31.5 小结 第32章 企业网站布局 32.1 企业主页规划 32.2 对网页布局 32.2.1 将页面用div布局出框图 32.2.2 用css实现页面头部 32.2.3 用css实现页面体 32.3 添加文本等信息 32.4 调整全页面和浏览器兼容 32.5 其他二级页面模块制作 32.6 小结 第33章 博客主要页面布局 33.1 博客网站主页规划 33.1.1 分析主页需求 33.1.2 确定内容模块 33.1.3 画出效果图 33.2 用div布局框图 33.2.1 页眉 33.2.2 实现内容模块 33.2.3 页脚 33.3 css实现框图 33.3.1 实现内容模块 33.3.2 实现整页效果 33.4 添加图片 33.5 加入文字 33.6 调整全页面 33.7 其他页面的布局 33.8 小结 第34章 面试题 面试题1 div与span的区别 面试题2 html的框架是什么 面试题3 css引入的方式有哪些 面试题4 前端页面由哪三层构成,各层的作用是什么 面试题5 浏览器的内核有哪些?常用的浏览器都是什么内核 面试题6 img元素的alt text属性和title属性有什么不同 面试题7 document.body和document.documentelement有什么不同 面试题8 xhtml 和 dhtml 有什么区别 面试题9 写出实现效果所需的css代码 面试题10 写出一段左边固定、右边随电脑屏幕浮动而变动的html+css代码 面试题11 写一段两个div交叉重叠的css样式 面试题12 怎样使一个层垂直居中于浏览器中 面试题13 firefox嵌套div标签居中问题的处理方法 面试题14 用纯css实现带下拉的二级横向导航菜单 面试题15 在网页制作中为什么要使用css技术 面试题16 css+div开发 web页面的优势有哪些 面试题17 实现两列高度自适应的css代码 ·由浅入深,循序渐进,从零开始学html+css,一点都不难 ·编程基础、编程进阶、编程应用、项目实战、上机练习、面试指南 ·211个实例、3个案例、59个练习题、17个面试题 第一篇 html基础知识 第1章认识h7ml语言 从奉章开始,本书将介绍h7ml+css方面的知识。首先主要介绍h7ml(hyper textmarkup language,超文本标记语言),然后介绍如何在h7ml中用div和css相结合来控制html标签表达页面效果,接着介绍css常用的属性,最后,用不同的网站风格来布局主页,灵活运用学过的html和iicss知识。 本章主要向读者介绍h7ml语言,通过介绍,让读者对h7ml语言有初步的认识。学好html是网页前台制作的基础,从而为以后做网页打好基础。在学习本章前,先介绍h7ml语言最基础的部分,如什么是h7ml,用什么来写html代码,怎么查看写完代码后的效果等。将要介绍绘读者的知识点内容加下 html标记概念; 怎样创建网页; h7ml页面运行环境; 如何在 windows系统安装用于编写html的软件; h7ml最基本的代码是什么; html有哪些浏览器支持。 1.1 html简介 html是一种用来制作超文本文档的简单标记语言。用ijtml编写的超文本文档称为html文档,自l990年以来,html就一直被当作万维网(world wide web)上的信息表示语言,用于描述网页的格式设计和它与万维网上其他页面的连接信息。 html语言是利用各种标记(tag)来标识文档的结构以及标识超链接(hyperlink)的信息。但有时因浏览器不同显示不同的效果,这就是为什么同一文档在不同的浏览器中展示的效果会不一样。 目前html语言的版本是5.0,它是从sgml(standard generalized markup language,标准通用标识语言。是一套用来描述数字化文档的结构并管理其内容的复杂的规范)中的一个子集演变而来的。 …… 本书主要由张熠编著,其他参与编著和资料整理的人员包括:冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光。 作者 2012年2月
作者: 谢贤芳,古万荣等编著
出版社:机械工业出版社,2012
简介: 所属分类:计算机网络 > 程序设计> c c++ c# vc vc++ > 本书站在零基础学习的角度,使初学者能尽快掌握 visualc++ 程序设计的精髓。在讲解知识点时,笔者采用从无到有、由浅入深的逐级递进学习方式。 本书涵盖了 visualc++的所有语法知识,包括基础数据类型、类与对象、函数与模板、继承与多态、标准模板库、文件读写等。关于mfc类库应用,本书还详细介绍了菜单、控件、消息映射、工具栏、状态栏、通用类、文本、图形、动态链接库、多线程、网络编程、数据库编程等高级知识。本书对 visualc++的每个知识点的讲解均通过最基本、最常用的方案实现,并辅以简单易懂而贴近工程应用的实例来阐明。本书还附赠1张dvd,内容为笔者为本书录制的全程 多媒体语音教学视频及本书所涉及的源代码。 本书可作为 visualc++的基础教程,适合于 visualc++的初学者,特别是大中专院校刚学习完c++语言的低年级学生。 前言 第一篇 visualc++与c++基础篇 第1章 visualc++ 6.0开发环境和应用程序框架 1.1 安装并测试 visualc++ 6.0 1.1.1 visualc++ 6.0的安装 1.1.2 visualc++ 6.0开发环境 1.1.3 visualc++ 6.0应用程序向导和项目创建 1.2 visualc++ 6.0简介 1.2.1 c/c++编译器 1.2.2 编辑器 1.2.3 资源编辑器和资源符号 1.2.4 连接器和调试器 1.2.5 visualc++6.0的主要菜单项功能 1.2.6 项目和解决方案 1.2.7 本机帮助和联机帮助 1.3 win32基本应用程序的创建 1.3.1 使用appwizard应用程序向导 1.3.2 win32应用程序的生成 1.3.3 visualc++ 6.0的调试:变量跟踪和函数调用栈 1.4 microsoft应用程序框架 1.4.1 全局对象 1.4.2 mfc的消息映射和消息分类 1.5 实例:编写第一个c++程序-hello, c++! 1.6 实例:创建第一个mfc程序-hello, mfc! 1.7 小结 1.8 上机实践练习 第2章 c++语法基础 2.1 c++简介 2.2 数据类型定义和使用 2.2.1 简单变量 2.2.2 算术运算符 2.2.3 枚举、指针和数组 2.2.4 string类和c风格字符串 2.2.5 结构体类型 2.2.6 类类型 2.2.7 实例:成绩管理系统(1.0版) 2.3 运算符、表达式和语句 2.3.1 几种常用的运算符 2.3.2 循环语句:for语句、while语句和do...while语句 2.3.3 判断语句:if语句和switch语句 2.3.4 实例:成绩管理系统(2.0版) 2.4 函数定义和调用 2.4.1 定义函数和函数原型 2.4.2 函数通过指针来调用数组 2.4.3 函数指针 2.4.4 具有引用参数的函数 2.4.5 函数重载 2.4.6 函数模板的定义和使用 2.4.7 实例:成绩管理系统(3.0版) 2.5 类的定义和对象构造 2.5.1 自然界中的类型和c++的类定义 2.5.2 实现类成员函数 2.5.3 实例化类对象并使用 2.5.4 类的构造函数和析构函数 2.5.5 运算符重载与this指针的使用 2.5.6 友元函数和友元类 2.5.7 实例:成绩管理系统(4.0版) 2.6 类继承 2.6.1 is-a关系 2.6.2 多态公有继承 2.6.3 protected访问控制 2.6.4 抽象基类 2.6.5 私有继承和保护继承 2.6.6 多继承 2.6.7 类模板 2.7 c++异常机制 2.7.1 异常处理类型 2.7.2 exception类 2.8 标准模板库(stl) 2.8.1 auto_ptr类的使用 2.8.2 vector模板类的定义和使用 2.8.3 通用算法 2.8.4 实例:使用stl和通用算法开发成绩管理系统(5.0版) 2.9 i/o流和文件 2.9.1 c++的输入和输出 2.9.2 文件输入和输出 2.9.3 实例:在 visualc++ 6.0创建c++源文件,使用磁盘文件读写 2.10 小结 2.11 上机实践练习 第3章 windows编程与mfc基础 3.1 windows编程基础 3.1.1 windowsapi函数 3.1.2 窗口与句柄 3.1.3 事件与消息 3.1.4 常用的 windows数据类型 3.2 windows应用程序分析 3.2.1 winmain函数 3.2.2 创建窗口 3.2.3 消息循环 3.2.4 win proc窗口函数 3.2.5 windows编程实例 3.3 mfc基础 3.3.1 mfc概述 3.3.2 mfc基础类及其层次结构 3.3.3 mfc中的全局函数 3.4 mfc应用程序框架分析 3.4.1 入口函数 3.4.2 应用程序对象 3.4.3 initinstance函数 3.4.4 run函数 3.4.5 mfc的消息映射 3.4.6 mfc消息分类 3.5 小结 3.6 上机实践练习 第二篇 visualc++常用类、控件、资源篇 第4章 基本输入-键盘和鼠标消息 4.1 键盘消息及其处理 4.1.1 键盘消息 4.1.2 键盘消息处理 4.1.3 按键消息的处理 4.1.4 按键消息处理函数 4.1.5 字符消息的处理 4.1.6 创建键盘插入符 4.2 鼠标消息及其处理 4.2.1 鼠标消息 4.2.2 鼠标消息处理函数 4.2.3 鼠标消息处理实例 4.2.4 鼠标光标的创建与使用 4.2.5 捕捉鼠标 4.2.6 锁定鼠标的作用区域 4.3 小结 4.4 上机实践练习 第5章 菜单、工具栏和状态栏编程 5.1 菜单及其相关资源的使用 5.1.1 菜单的种类及开发步骤 5.1.2 菜单的创建与编辑 5.1.3 菜单消息 5.1.4 菜单命令消息的处理 5.1.5 菜单更新消息的处理 5.1.6 为菜单项设置快捷键 5.1.7 弹出菜单的创建与使用 5.2 工具栏的使用 5.2.1 工具栏的创建 5.2.2 编辑工具栏 5.2.3 工具栏命令处理 5.2.4 工具栏类ctoolbar的简单介绍 5.3 状态栏的使用 5.3.1 状态栏的创建 5.3.2 状态栏编程 5.3.3 状态栏类cstatusbar的简单介绍 5.4 小结 5.5 上机实践练习 第6章 使用 windows标准控件 6.1 windows标准控件 6.1.1 windows控件简介 6.1.2 使用对话框编辑器创建控件 6.1.3 控件类的基类cwnd 6.1.4 控件的消息及其处理 6.2 按钮控件 6.2.1 按钮控件简介 6.2.2 按钮控件类cbutton 6.2.3 按钮控件的属性与消息 6.2.4 按钮状态的确定 6.2.5 按钮控件使用实例 6.3 静态控件与编辑控件 6.3.1 静态控件的创建与使用 6.3.2 静态控件类cstatic 6.3.3 编辑控件的创建 6.3.4 编辑控件类cedit 6.3.5 编辑控件的消息 6.3.6 编辑控件的应用实例 6.4 列表框控件和组合框控件 6.4.1 列表框控件的创建 6.4.2 列表框控件类clistbox 6.4.3 列表框控件的消息 6.4.4 列表框控件实例 6.4.5 组合框控件的创建 6.4.6 组合框控件类ccombobox 6.4.7 组合框控件的消息 6.5 微调控件、滑块控件和进度条 6.5.1 微调控件的创建 6.5.2 微调控件的使用 6.5.3 滑块控件的创建 6.5.4 滑块控件的使用 6.5.5 进度条控件的创建及使用 6.5.6 微调控件、滑块控件和进度条编程实例 6.6 列表视图控件和树形视图控件 6.6.1 列表视图控件的创建 6.6.2 列表视图控件类clistctrl 6.6.3 列表视图控件的通知消息 6.6.4 树形视图控件的创建 6.6.5 树形视图控件类ctreectrl 6.6.6 树形视图控件的消息 6.6.7 列表视图和树形视图编程实例 6.7 activex控件的使用 6.7.1 activex控件的结构 6.7.2 visualc++中的组件和控件库 6.7.3 mfc程序中activex控件的使用 6.7.4 activex控件使用实例 6.8 小结 6.9 上机实践练习 第7章 mfc常用的通用类 7.1 字符串类(cstring) 7.1.1 cstring对象的创建 7.1.2 cstring类的成员函数 7.1.3 cstring类的常用操作 7.1.4 cstring的格式化与类型转换 7.2 mfc的集合类 7.2.1 数组类 7.2.2 数组类的使用实例 7.2.3 链表类 7.2.4 链表类的使用实例 7.3 日期、时间类 7.3.1 ctime类 7.3.2 ctime对象的格式化 7.3.3 ctimespan类 7.3.4 计时器的使用 7.4 mfc文件操作类(cfile) 7.4.1 构造文件对象并打开文件 7.4.2 文件的读写操作 7.4.3 文件的定位操作 7.4.4 文件的管理操作 7.4.5 使用cfile类进行文件操作实例 7.5 mfc异常类 7.5.1 mfc异常类简介 7.5.2 文件异常类cfile exception 7.5.3 异常的捕获 7.6 小结 7.7 上机实践练习 第8章 文本、图形输出 8.1 基础知识 8.1.1 gdi绘图的实现 8.1.2 mfc图形对象类 8.1.3 库存gdi对象 8.1.4 与图形绘制有关的简单数据类型 8.1.5 mfc应用程序框架中的图形绘制与刷新 8.2 mfc设备描述表(cdc类) 8.2.1 cdc及其派生类 8.2.2 文本输出 8.2.3 cdc的常用绘图函数 8.3 使用画笔和画刷进行绘图 8.3.1 画笔对象及其使用 8.3.2 使用画笔绘图实例 8.3.3 画刷对象及其使用 8.3.4 使用画刷绘图实例 8.4 字体对象 8.4.1 字体对象的创建 8.4.2 获取字体信息 8.4.3 字体对象使用实例 8.5 位图和区域对象 8.5.1 设备相关位图(ddb) 8.5.2 cbitmap应用实例 8.5.3 设备无关位图(dib) 8.5.4 区域对象(crgn) 8.5.5 crgn应用实例 8.6 坐标系统与映射模式 8.6.1 坐标系统 8.6.2 映射模式 8.6.3 自定义映射模式 8.6.4 坐标映射使用实例 8.7 小结 8.8 上机实践练习 第三篇 visualc++基本应用程序开发篇 第9章 文档/视图结构的应用程序开发 9.1 文档/视图结构 9.1.1 文档/视图结构概述 9.1.2 文档/视图结构的分类 9.2 文档/视图结构应用程序框架分析 9.2.1 利用appwizard创建单文档程序框架 9.2.2 程序框架中的主要类及相互关系 9.2.3 文档类、视图类核心函数及作用 9.2.4 新建、保存和打开的实现 9.2.5 多文档应用程序框架 9.3 文档/视图结构应用程序的开发 9.3.1 实现目标 9.3.2 创建基本的程序框架 9.3.3 创建文档数据 9.3.4 在视图类中实现绘图操作 9.3.5 文档的序列化 9.3.6 对例程数据进行序列化 9.3.7 让文档程序支持滚动条 9.4 窗口分割与多视图 9.4.1 窗口分割基础知识 9.4.2 动态分割窗口的实现 9.4.3 静态分割窗口与多视图的实现 9.5 小结 9.6 上机实践练习 第10章 对话框的应用 10.1 对话框的工作方式、种类和创建方法 10.1.1 对话框在应用程序中的工作方式 10.1.2 对话框的种类 10.1.3 对话框模板的创建与编辑 10.2 对话框与程序连接 10.2.1 创建对话框类 10.2.2 为对话框类添加成员变量 10.2.3 对话框数据交换与验证 10.2.4 对话框控件通知消息的处理 10.3 对话框的创建与显示 10.3.1 创建模态对话框 10.3.2 创建非模态对话框 10.3.3 非模态对话框创建实例 10.3.4 基于对话框的应用程序 10.4 属性表对话框 10.4.1 属性表对话框的创建 10.4.2 属性表对话框的运行机制 10.5 消息对话框与公用对话框 10.5.1 消息对话框 10.5.2 颜色对话框 10.5.3 文件对话框 10.5.4 字体对话框 10.5.5 查找、替换对话框 10.5.6 打印对话框 10.5.7 公用对话框使用实例 10.6 小结 10.7 上机实践练习 第11章 动态链接库编程 11.1 基本概念 11.1.1 动态链接库的概念 11.1.2 动态链接库的优点 11.1.3 visualc++ 6.0可开发的dll 11.1.4 dll文件的组成 11.2 dll的创建与调用 11.2.1 win32 dll的创建 11.2.2 dll的导出 11.2.3 应用程序链接dll 11.3 mfc常规dll的创建与使用 11.3.1 基本概念 11.3.2 mfc常规dll的创建 11.3.3 mfc常规dll创建实例 11.3.4 mfc常规dll的调用 11.4 mfc扩展dll的创建与使用 11.4.1 mfc扩展dll的创建 11.4.2 mfc扩展dll的创建实例 11.4.3 mfc扩展dll的调用 11.5 dll的查看与调试 11.5.1 使用depends工具查看dll接口 11.5.2 dll的调试 11.6 小结 11.7 上机实践练习 第四篇 visualc++程序开发提高篇 第12章 多线程程序开发 12.1 多线程的引入 12.1.1 单线程程序的不足 12.1.2 问题的解决 12.2 多线程编程的基础知识 12.2.1 进程和线程 12.2.2 spy++工具 12.2.3 win32 api对多线程编程的支持 12.2.4 mfc对多线程编程的支持 12.3 多线程程序开发 12.3.1 使用win32 api函数开发多线程程序 12.3.2 mfc用户界面线程的开发 12.3.3 mfc工作者线程的开发 12.4 线程间的通信 12.4.1 使用全局变量实现线程间的通信 12.4.2 使用自定义的消息实现线程间的通信 12.5 线程的同步 12.5.1 等待函数 12.5.2 cevent类实现线程同步 12.5.3 使用cevent类实现线程同步实例 12.5.4 ccriticalsection类实现线程同步 12.5.5 ccriticalsection类实现线程同步实例 12.5.6 csemaphore类实现线程同步 12.5.7 csemaphore类实现线程同步实例 12.6 小结 12.7 上机实践练习 第13章 visualc++网络编程 13.1 网络通信及开发基础 13.1.1 tcp/ip协议 13.1.2 tcp/ip协议 13.1.3 windowssockets基础 13.1.4 客户端/服务器模式 13.2 基本网络通信开发 13.2.1 casyncsocket类及常用成员函数的使用 13.2.2 使用winsock进行无连接的通信 13.2.3 无连接通信实例 13.2.4 使用winsock进行有连接的通信 13.2.5 有连接通信实例 13.3 网络 程序设计与开发 13.3.1 网络程序的一些概念 13.3.2 socket事件 13.3.3 socket事件的激发控制 13.3.4 socket信息的获取与处理 13.3.5 网络程序开发实例 13.4 wini net开发inter net客户端程序 13.4.1 mfc wini net开发包 13.4.2 wini net开发客户端程序的流程 13.4.3 wini net开发http客户端程序实例 13.5 简单的 web浏览器开发 13.5.1 chtmlview视图类简介 13.5.2 浏览器开发实例 13.6 小结 13.7 上机实践练习 第14章 visualc++数据库编程 14.1 数据库基础 14.1.1 数据库的基本概念 14.1.2 数据库管理系统(dbms) 14.1.3 结构化查询语言( sql) 14.2 数据库开发技术简介 14.2.1 odbc api/mfc odbc技术 14.2.2 dao技术 14.2.3 ado技术 14.3 在 visualc++中使用ado开发数据库应用程序 14.3.1 visualc++对ado的支持 14.3.2 创建数据库与实例工程 14.3.3 引入ado对象 14.3.4 连接数据源 14.3.5 开发技术-连接对象(connection) 14.3.6 创建表并添加数据 14.3.7 开发技术-ado对象命令的执行 14.3.8 开发技术-recordset对象 14.3.9 遍历、删除、编辑记录的实现 14.4 使用odbc数据源连接数据库 14.4.1 手动实现设置odbc数据源 14.4.2 ado连接odbc数据源 14.4.3 visualc++程序实现设置odbc数据源 14.4.4 使用 visualc++程序设置odbc数据源实例 14.5 小结 14.6 上机实践练习 第15章 使用 visualc++ 6.0开发家庭财务管理系统 15.1 提出问题:设计一个家庭财务管理系统 15.1.1 功能概述 15.1.2 界面需求 15.2 数据库设计 15.2.1 数据关系分析 15.2.2 e-r图设计 15.2.3 数据库表的生成 15.3 算法设计 15.3.1 连接数据库 15.3.2 添加数据 15.3.3 修改数据库内容 15.3.4 统计数据库信息 15.4 软件项目开发过程 15.4.1 开发家庭财务管理系统项目的流程 15.4.2 根据e-r图创建数据库表 15.4.3 功能研发的准备工作 15.4.4 实现算法设计 15.4.5 测试 15.5 小结 第16章 常见的面试题及解答技巧 16.1 理论基础知识:数学、智力题 面试题1:请把一盒蛋糕切成8份,分给8个人,但蛋糕盒里还必须留有一份 面试题2:小猫奔跑问题 面试题3:4、4、10和7这4个数只使用一次,运用加、减、乘、除,怎么得出24 面试题4:为什么下水道的盖子是圆的 面试题5:美国有多少辆私家车 面试题6:为什么镜子中的影像可以颠倒左右,却不能颠倒上下 面试题7:请估算一下密西西比河的水的总质量 16.2 程序设计面试题 面试题8:如何理解面向对象和面向过程?用c++编写的程序就是面向对象程序吗 面试题9:在c/c++ 程序设计中,局部变量能否和全局变量重名 面试题10:如何引用一个已经定义过的全局变量 面试题11:全局变量是否可以定义在可被多个.c文件包含的头文件中 面试题12:static全局变量与普通的全局变量有什么区别 面试题13:对于一个频繁使用的短小函数,在c和c++语言中分别用什么 面试题14:关键字const有什么含义 面试题15:虚函数和普通函数有什么不同 面试题16:抽象基类不能实例化,为什么还有抽象基类这个语法特性 面试题17:在c++ 程序设计语言中,vector和数组有何不同 面试题18:c++编译器自动完成和调用了哪些函数 面试题19:为什么要定义拷贝构造函数 面试题20:名称空间有何作用 面试题21:在构造函数中初始化和使用初始化列表有什么不同 面试题22:为什么要避免将数据成员放在公共域中 面试题23:为什么要尽量定义const 面试题24:c和c++的注释风格有何不同,为什么尽量选择c++风格的注释 面试题25:程序编译时编译器会有一些警告信息,你如何看待这些警告信息 16.3 计算机理论知识题 面试题26:基本的数据结构有哪些类型 面试题27:什么是平衡二叉树(avl树) 面试题28:给出一系列的二进制码,如何判断这些编码是前缀码 面试题29:什么是左式堆 面试题30:请简单阐述3nf(第三范式)和bcnf(巴克斯范式)的基本概念 面试题31:数据库并发操作可能会带来什么问题?如何防止这些问题 面试题32:简述cmm和cmmi 面试题33:在一个查询中,使用哪一个关键字能够除去重复列值 面试题34:什么是快照?它的作用是什么 面试题35:简述存储过程和触发器的相关概念 面试题36: sql server2000是否支持行级锁定,有什么好处 面试题37:事务是什么?事务具备哪些特性 面试题38:事前触发和事后触发有何区别?语句级触发和行级触发有何区别 面试题39:解决死锁的方法有哪些 面试题40:提高数据库运行效率的办法有哪些 面试题41:以你的工作经验,简述数据库的设计过程 面试题42:在为视图创建索引前,视图本身必须满足哪些条件 面试题43:什么是 sql server的确定性函数和不确定性函数 面试题44:哪类视图是可以更新的?哪类视图是不可更新的?各举一例说明 面试题45:所有的视图是否都可以更新?为什么 面试题46:什么是基本表?什么是视图 面试题47:数据库中为什么要有视图?试述视图的优点 16.4 程序设计与算法题 面试题48:使用c++,输入一个字符串,将其逆序后输出 面试题49:判断给定代码是否有问题 面试题50:用c++编写判断操作系统是16位还是32位的程序,不能用sizeof函数 面试题51:在不用第三方参数的情况下,交换两个参数的值 面试题52:程序解读,判断问题 面试题53:使用 sql语句进行数据库建表与查询 面试题54:编写一个算法,利用栈的基本运算返回指定栈的栈底元素 面试题55:写出两种中序遍历二叉树的方法 面试题56:简述哈夫曼树的意义及其创建过程 16.5 小结 ·由浅入深,循序渐进,从零开始学vc,一点都不难 ·编程基础、编程进阶、编程应用、项目实战、上机练习、面试指南 ·150个实例、1个案例、27个练习题、56个面试题 本书主要由谢贤芳、古万荣编著,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光。 笔者 2012年1月
作者: 赵建领,薛园园等编著
出版社:机械工业出版社,2012
简介: 所属分类:计算机网络 > 程序设计> c c++ c# vc vc++ > 单片机c51语言是目前最流行的单片机 程序设计语言。本书由浅入深、循序渐进地讲解了c51语言的方方面面。本书知识点覆盖全面、结构安排紧凑、讲解详细、通俗易懂、实例丰富。内容包括51系列单片机开发环境和流程、 程序设计基础以及编程指南,并给出了一些常用的典型案例。全书分为四篇,共21章,全面详细地讲述了单片机的 程序设计基础、编程指南及应用案例。首先介绍了51系列单片机的基本结构以及单片机的开发概述,其次详细介绍了单片机 程序设计的c51语言,随后结合单片机的硬件资源细致讲解了如何应用c51语言进行编程操作,最后结合实际应用,重点分析了在各个领域中常用到的一些典型案例,使读者更加融会贯通地掌握c51语言,以供读者在学习和工作中进行参考。在第21章中还介绍了部分常见的面试题及解答,方便读者做好入职前的准备工作。 本书适合广大单片机程序开发人员、电子设计爱好者、工程师和大专院校师生阅读,尤其是适用于单片机及其编程语言的初学者。 前言 第一篇 单片机c51概述 第1章 单片机开发概述 1.1 单片机介绍 1.1.1 单片机简介 1.1.2 单片机的主要组成部分 1.1.3 单片机引脚及功能 1.1.4 单片机的应用领域 1.2 单片机开发流程 1.2.1 系统分析 1.2.2 单片机选型 1.2.3 程序设计 1.2.4 仿真测试 1.2.5 程序下载 1.3 单片机开发语言概述 1.3.1 单片机汇编语言 1.3.2 单片机c51语言 1.4 小结 1.5 习题与上机实践 第2章 构建c51集成开发环境 2.1 51系列单片机的最小硬件系统 2.1.1 时钟振荡电路 2.1.2 单片机的复位电路 2.2 keil m vision3集成开发环境 2.2.1 keil m vision3简介 2.2.2 keil m vision3安装 2.2.3 keil m vision3界面概览 2.2.4 keil m vision3的各种常用窗口 2.3 keil m vision3中c51的开发流程 2.3.1 创建项目 2.3.2 创建源文件 2.3.3 编译项目 2.3.4 仿真调试 2.3.5 程序下载 2.4 小结 2.5 习题与上机实践 第二篇 c51语言 程序设计指南 第3章 c51语言 程序设计基础 3.1 c51程序的基本结构 3.2 c51编程规范及注意事项 3.2.1 注释 3.2.2 命名 3.2.3 格式 3.3 c51的标识符与关键字 3.3.1 标识符 3.3.2 关键字 3.4 c51的变量类型 3.4.1 c51的数据类型 3.4.2 整型变量 3.4.3 浮点型变量 3.4.4 字符型变量 3.4.5 指针型变量 3.4.6 无值型变量 3.5 c51的常量类型 3.5.1 整型常量 3.5.2 浮点型常量 3.5.3 字符型常量 3.5.4 转义字符 3.6 变量作用域 3.6.1 变量作用域的基本规则 3.6.2 自动变量 3.6.3 全局变量 3.6.4 静态变量 3.6.5 寄存器变量 3.7 分隔符与const修饰符 3.7.1 c51分隔符 3.7.2 const修饰符 3.8 c51的运算符 3.8.1 算术运算符 3.8.2 逻辑运算符 3.8.3 关系运算符 3.8.4 位运算符 3.8.5 “,”运算符 3.8.6 “?”运算符 3.8.7 “sizeof”运算符 3.8.8 地址操作运算符 3.8.9 联合操作运算符 3.8.10 类型转换运算符 3.8.11 运算符优先级和结合性 3.9 c51的表达式 3.9.1 算术表达式 3.9.2 赋值表达式 3.9.3 逗号表达式 3.9.4 关系表达式 3.9.5 逻辑表达式 3.10 小结 3.11 上机实践 第4章 c51语句和流程 4.1 c51语句 4.1.1 变量声明语句 4.1.2 表达式语句 4.1.3 复合语句 4.1.4 循环语句 4.1.5 条件语句 4.1.6 开关语句 4.1.7 程序跳转语句 4.1.8 函数调用语句 4.1.9 函数返回语句 4.1.10 空语句 4.2 c51的流程控制结构及程序示例 4.2.1 顺序结构 4.2.2 选择结构 4.2.3 循环结构 4.2.4 流程控制结构程序示例 4.3 小结 4.4 上机实践 第5章 c51的数据结构 5.1 c51的数组 5.1.1 数组定义及数组元素 5.1.2 一维数组 5.1.3 一维字符串数组 5.1.4 二维数组 5.1.5 二维字符串数组 5.1.6 多维数组 5.2 c51的指针 5.2.1 指针及相关概念 5.2.2 指针变量的定义及赋值 5.2.3 取址运算符和取值运算符 5.2.4 指针变量的运算 5.2.5 c51的字符指针 5.2.6 c51的数组指针 5.2.7 c51的指针数组 5.3 c51的结构 5.3.1 结构的声明 5.3.2 结构变量的声明 5.3.3 结构变量的初始化 5.3.4 结构变量的使用 5.3.5 c51的结构数组 5.3.6 c51的结构指针 5.3.7 c51的嵌套式结构 5.3.8 c51的位结构 5.4 c51的联合 5.4.1 联合的声明和使用 5.4.2 结构和联合的区别 5.5 c51的枚举 5.5.1 枚举和枚举变量的声明 5.5.2 枚举变量的赋值和使用 5.6 c51的位域 5.6.1 位域和位域变量的声明 5.6.2 位域变量的使用 5.7 c51的自定义类型 5.7.1 自定义类型的声明 5.7.2 自定义类型的使用 5.8 小结 5.9 上机实践 第6章 c51的函数 6.1 函数 6.1.1 函数的概述 6.1.2 函数的分类 6.1.3 函数的定义 6.1.4 函数的参数 6.1.5 函数的返回值 6.2 函数的作用域 6.2.1 函数的作用范围 6.2.2 函数变量的作用域 6.3 函数的调用 6.3.1 赋值调用 6.3.2 引用调用 6.3.3 递归调用 6.3.4 嵌套调用 6.4 c51的main函数 6.4.1 无参main函数 6.4.2 有参main函数 6.5 c51的库函数 6.5.1 i/o函数库 6.5.2 标准函数库 6.5.3 字符函数库 6.5.4 字符串函数库 6.5.5 内部函数库 6.5.6 数学函数库 6.5.7 绝对地址访问函数库 6.5.8 变量参数表函数库 6.5.9 全程跳转函数库 6.5.10 偏移量函数库 6.6 小结 6.7 上机实践 第7章 c51的存储结构 7.1 单片机的存储器结构 7.1.1 51系列单片机的存储区域 7.1.2 片内ram的存储器结构 7.2 c51的存储类型 7.2.1 code存储类型 7.2.2 data存储类型 7.2.3 bdata存储类型 7.2.4 idata存储类型 7.2.5 pdata存储类型 7.2.6 xdata存储类型 7.3 c51的扩展数据类型 7.3.1 sfr和sfr16型变量 7.3.2 sbit型变量 7.3.3 bit型变量 7.3.4 51单片机寄存器的定义 7.4 c51变量的存储模式 7.4.1 small模式 7.4.2 compact模式 7.4.3 large模式 7.5 c51的存储器指针 7.5.1 一般指针 7.5.2 存储器指针 7.6 小结 7.7 上机实践 第8章 c51的预处理命令和用户配置文件 8.1 c51的预处理命令概述 8.2 文件包含指令 8.2.1 #include命令 8.2.2 c51常用的头文件 8.3 宏定义指令 8.3.1 #define命令 8.3.2 #undef命令 8.4 条件编译指令 8.4.1 #if、#else和#endif命令 8.4.2 #elif命令 8.4.3 #ifdef、#ifndef命令 8.5 其他编译指令 8.5.1 #line命令 8.5.2 #error命令 8.5.3 #pragma命令 8.6 c51的用户配置文件 8.6.1 c51的启动代码详解 8.6.2 c51的变量初始化文件 8.6.3 c51的基本i/o函数文件 8.6.4 c51的分组配置文件 8.7 小结 8.8 上机实践 第三篇 c51单片机编程指南 第9章 c51定时器/计数器 程序设计 9.1 定时器/计数器简介 9.1.1 定时器/计数器的结构 9.1.2 方式控制寄存器tmod 9.1.3 中断控制寄存器tcon 9.1.4 定时器/计数器的初值 9.1.5 定时器/计数器的初始化 9.2 定时器/计数器工作模式0的c51 程序设计 9.2.1 定时器/计数器工作模式0 9.2.2 定时器/计数器模式0的 程序设计 9.3 定时器/计数器工作模式1的c51 程序设计 9.3.1 定时器/计数器工作模式1 9.3.2 定时器/计数器模式1的 程序设计 9.4 定时器/计数器工作模式2的c51 程序设计 9.4.1 定时器/计数器工作模式2 9.4.2 定时器/计数器模式2的 程序设计 9.5 定时器/计数器工作模式3的c51 程序设计 9.5.1 定时器/计数器工作模式3 9.5.2 定时器/计数器模式3的 程序设计 9.6 小结 9.7 上机实践 第10章 c51中断 程序设计 10.1 单片机的中断系统 10.1.1 单片机的中断类型 10.1.2 中断请求标志及其c51访问 10.1.3 中断允许标志及其c51访问 10.1.4 中断优先级标志及其c51访问 10.1.5 中断的c51处理过程 10.2 外部中断源的c51 程序设计 10.3 定时中断源的c51 程序设计 10.4 串行中断源的c51 程序设计 10.5 小结 10.6 上机实践 第11章 c51串行接口 程序设计 11.1 51系列单片机的串行接口 11.1.1 单片机串行通信概述 11.1.2 单片机串行接口的内部结构 11.1.3 串行接口控制寄存器scon 11.1.4 特殊功能寄存器pcon 11.2 串行口工作模式0的c51 程序设计 11.2.1 模式0的波特率 11.2.2 模式0的数据发送及c51 程序设计 11.2.3 模式0的数据接收及c51 程序设计 11.3 串行口工作模式1的c51 程序设计 11.3.1 模式1的波特率 11.3.2 模式1的数据发送及c51 程序设计 11.3.3 模式1的数据接收及c51 程序设计 11.4 串行口工作模式2的c51 程序设计 11.4.1 模式2的波特率 11.4.2 模式2的数据发送及c51 程序设计 11.4.3 模式2的数据接收及c51 程序设计 11.5 串行口工作模式3的c51 程序设计 11.5.1 模式3的波特率 11.5.2 模式3的数据发送及c51 程序设计 11.5.3 模式3的数据接收及c51 程序设计 11.6 小结 11.7 上机实践 第12章 c51下的rtx-51实时多任务操作系统 12.1 rtx-51实时多任务操作系统简介 12.1.1 单任务程序与多任务程序的比较 12.1.2 rtx-51实时多任务操作系统种类 12.2 rtx-51的系统函数 12.2.1 中断调用的发送信号函数 12.2.2 清除信号标志函数 12.2.3 启动任务函数 12.2.4 删除任务函数 12.2.5 当前任务号函数 12.2.6 任务调用的发送信号函数 12.2.7 等待函数 12.3 rtx-51的任务调度 12.3.1 循环任务调度 12.3.2 事件任务调度 12.3.3 信号任务调度 12.3.4 优先级及抢先任务切换 12.3.5 rtx-51的主要概念和特性 12.4 rtx-51 tiny的任务管理 12.4.1 rtx-51 tiny的任务状态 12.4.2 rtx-51 tiny的事件 12.4.3 rtx-51 tiny的任务切换 12.5 rtx-51 tiny的系统配置 12.5.1 rtx-51 tiny系统配置文件 12.5.2 rtx-51 tiny系统参数 12.6 rtx-51 tiny的要求及注意事项 12.6.1 rtx-51 tiny的要求及技术参数 12.6.2 rtx-51 tiny的注意事项 12.7 rtx-51 full实时多任务操作系统简介 12.7.1 rtx-51 full函数一览 12.7.2 rtx-51的技术参数 12.8 小结 12.9 上机实践 第13章 keil m vision3的调试和仿真 13.1 keil m vision3的程序调试 13.1.1 keil m vision3的程序调试模式 13.1.2 断点 13.1.3 性能分析器 13.1.4 代码覆盖分析器 13.1.5 调试命令 13.2 系统资源仿真 13.2.1 并行i/o端口仿真 13.2.2 寄存器仿真 13.2.3 中断仿真 13.2.4 串行接口仿真 13.2.5 定时器/计数器仿真 13.2.6 看门狗定时器的仿真 13.2.7 低功耗仿真 13.3 小结 13.4 上机实践 第四篇 c51 程序设计典型案例 第14章 c51矩阵式键盘 程序设计 14.1 键盘接口概述 14.1.1 独立式按键和矩阵式键盘 14.1.2 键盘设计注意事项 14.2 矩阵式键盘c51 程序设计 14.2.1 扫描法及c51 程序设计 14.2.2 线反转法及c51 程序设计 14.2.3 中断法及c51 程序设计 14.3 c51矩阵式键盘设计实例 14.3.1 电路图 14.3.2 程序设计 14.4 小结 14.5 上机实践 第15章 c51液晶显示模块 15.1 液晶显示模块概述 15.1.1 液晶显示模块的分类 15.1.2 液晶显示模块的特点 15.2 液晶显示控制驱动器 15.2.1 液晶显示控制驱动器概述 15.2.2 液晶显示控制驱动器功能说明 15.3 液晶显示控制器指令集 15.3.1 基本指令集 15.3.2 扩充指令集 15.3.3 控制器指令操作方式 15.4 点阵图形型液晶操作子函数 15.4.1 指令操作子函数 15.4.2 数据操作子函数 15.4.3 初始化子函数 15.4.4 清屏子函数 15.4.5 汉字显示子函数 15.4.6 图形显示子函数 15.5 液晶汉字显示实例 15.5.1 电路设计 15.5.2 程序设计 15.6 液晶图形显示实例 15.6.1 图形数组的提取 15.6.2 图形显示 程序设计 15.7 小结 15.8 上机实践 第16章 c51模拟i2c总线 16.1 i2c总线概述 16.1.1 i2c总线工作原理 16.1.2 i2c总线器件的寻址方式 16.1.3 i2c总线数据操作 16.2 i2c总线接口ee prom存储器 16.3 c51模拟i2c总线协议 16.3.1 延时子函数 16.3.2 起始信号子函数 16.3.3 终止信号子函数 16.3.4 应答信号子函数 16.3.5 非应答信号子函数 16.3.6 应答位检查子函数 16.3.7 单字节写子函数 16.3.8 单字节读子函数 16.3.9 多字节写子函数 16.3.10 多字节读子函数 16.4 c51读写ee prom实例 16.4.1 电路设计 16.4.2 程序设计 16.4.3 仿真分析 16.5 小结 16.6 上机实践 第17章 c51模拟单总线接口 17.1 单总线接口概述 17.2 单总线温度传感器及c51操作 17.2.1 温度传感器ds18s20概述 17.2.2 ds18s20的数据操作及指令 17.2.3 ds18s20的访问流程 17.2.4 温度转换操作 17.2.5 c51模拟单总线操作子函数 17.3 c51单总线温度传感器实例 17.3.1 电路设计 17.3.2 程序设计 17.3.3 仿真分析 17.4 小结 17.5 上机实践 第18章 实时时钟芯片应用 18.1 实时时钟芯片ds1302概述 18.1.1 实时时钟芯片ds1302引脚 18.1.2 实时时钟芯片ds1302的日期操作 18.1.3 实时时钟芯片ds1302的控制操作 18.1.4 实时时钟芯片ds1302的ram操作 18.1.5 实时时钟芯片ds1302数据传输方式 18.2 ds1302的控制子函数 18.2.1 复位子函数 18.2.2 字节读取子函数 18.2.3 字节写入子函数 18.2.4 年设置子函数 18.2.5 月设置子函数 18.2.6 日设置子函数 18.2.7 星期设置子函数 18.2.8 小时设置子函数 18.2.9 分钟设置子函数 18.2.10 秒设置子函数 18.2.11 写保护子函数 18.2.12 写允许子函数 18.2.13 充电控制子函数 18.2.14 初始化子函数 18.2.15 ram字节写入子函数 18.2.16 时钟显示子函数 18.2.17 多字节突发方式读取ram子函数 18.2.18 多字节突发方式写入ram子函数 18.3 c51读写实时时钟芯片实例 18.3.1 电路图 18.3.2 程序设计 18.3.3 仿真分析 18.4 小结 18.5 上机实践 第19章 c51通信接口 程序设计 19.1 串行接口通信概述 19.1.1 串行接口通信标准 19.1.2 串行接口芯片 19.1.3 双机及多机通信原理 19.2 c51双机通信实例 19.2.1 电路原理图 19.2.2 发送方 程序设计 19.2.3 接收方 程序设计 19.3 c51多机通信实例 19.3.1 主机 程序设计 19.3.2 从机 程序设计 19.4 小结 19.5 上机实践 第20章 道路交通灯多任务控制系统 20.1 交通灯多任务控制系统概述 20.2 c51交通灯多任务控制系统 20.2.1 电路原理图 20.2.2 建立rtx-51 tiny项目 20.2.3 多任务划分 20.2.4 多任务 程序设计 20.2.5 串行通信及命令获取子函数 20.2.6 仿真调试 20.3 小结 20.4 上机实践 第21章 常见面试题及解答 21.1 c51编程类面试题 21.1.1 预处理 21.1.2 c51语言基础 21.1.3 循环 21.1.4 位操作 21.1.5 实用子函数 21.2 与mcs-51硬件相关的面试题 21.2.1 mcs-51硬件基础 21.2.2 硬件编程 ·由浅入深,循序渐进,从零开始学单片机编程,一点都不难 ·编程基础、编程进阶、编程应用、项目实战、上机练习、面试指南 ·210个实例、6个案例、80个练习题、39个面试题 本书主要由赵建领、薛园园编著,其他参与编著和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平及顾旭光。 作 者 2012年1月
作者: 徐磊编著
出版社:高等教育出版社,2009
简介:本书为建筑设计系列教材之一。1.本书结合建筑设计表现的绘画步骤,详尽阐述建筑设计课题的表现技法,进行大量的实例分析。2.内容包括总平面图、平面图、立面图、剖面图的绘制要点,表现技法、立体描绘、加阴影、上色、运用电脑、徒手描绘等方面的技巧。3.每章都有文字介绍以及相应的图例。如在第一章中主要是以设计大师的作品为例,为读者提供一个关于表达的最佳视点,使其重新认识设计表达的内涵与设计思维的辨证关系,以及为了适应新的发展趋势,设计师应该怎样提高自己的设计表达能力。4.辅学光盘内容包括设计草图、实施过程、最终结果,表现形式有图片、视频和动画。本书主要适用于高等院校本科建筑专业和环境艺术设计专业。
作者: 徐磊编著
出版社:清华大学出版社,2008
简介: 本书由浅入深、通俗易懂地讲解了网页制作和动态网站建设的知识与 实战项目。全书共24章,从网站建设的基本概念开始,讲解了网站设计基 础、网站图像设计、动态网站开发等知识。书中通过大量的实例讲解知识 要点,读者可以运用书中的知识与实例用于练习和开发。 本书共有5个方面的内容,其中网站建设基础部分讲解了网站的基础知 识、HTML语言和网页的色彩知识,网页设计制作部分讲解了网页的平面设 计和网页的切图、布局排版、网页特效等内容,动态网站开发部分讲解了 ASP编程与数据库开发基础知识,网站的发布与维护部分讲解了网站的发布 与后期管理维护等内容,综合案例部分讲解了两个企业网站的开发实例。 本书语言通俗易懂,内容丰富,知识涵盖面广,非常适合于网站开发 的初学者、网站开发人员、毕业设计的学生、选修课或自学网页设计的学 生阅读。
作者: 徐磊等编著
出版社:电子工业出版社,2008
简介: 本书由浅入深、通俗易懂地讲解了Linux系统下的C程序设计。全书共24 章,从Linux系统安装开始,讲解了Linux常用命令、Shell编程、C语言基础 、指针与函数、C程序网络编程、图形界面程序设计等内容。书中通过大量 的实例来讲解知识要点,读者可以通过这些实例和练习对C程序有一个系统 的学习和提高。 本书共有7个方面的内容。Linux基础讲述了Linux系统的安装与编辑器 的使用。Shell编程介绍了Linux常用命令和Shell程序的设计。C程序基础从 C语言的变量和语句开始,讲解了C程序设计的基础语法知识。指针与函数是 C程序设计中的重点和难点,使用了大量的实例进行讲解。文件与目录讲述 了C语言对文件和目录的访问。网络编程讲述C程序网络通信的实现。图形界 面设计讲述了如何使用GTK库开发出Linux系统的图形界面程序。 本书语言通俗易懂,内容丰富,注重理解与实例,知识涵盖面广。非常 适合C语言的初学者、高校学生、程序开发人员以及Linux工作人员阅读和学 习。
作者: 阿泽多摩利克 著,徐磊 译
出版社:机械工业出版社 2014-6-1
简介: SDN(软件定义网络)是未来网络发展的趋势,它将网络管理功能从网络设备中分离出来,使得用户可以构建简便、灵活、高度可扩展的网络。OpenFlow是第一个专为SDN设计的标准接口,是SDN概念的早期实现方案之一。我们如何利用OpenFlow构建SDN? 本书是利用OpenFlow实际动手搭建SDN的系统实践指南。书中不仅深入浅出地讲解OpenFlow的基础知识,还详细阐述基于OpenFlow的网络应用开发、网络虚拟化、云计算中的安装与配置等具体过程。具体内容包括流的概念、流的转发、OpenFlow的功能、OpenFlow表的功能以及OpenFlow的特点和局限性;OpenFlow交换机的实现方案;OpenFlow控制器的作用及其API;环境的搭建;以学习型交换机和防火墙为例,展示网络应用开发;网络分片的获取;云计算中的OpenFlow;与OpenFlow有关的一些活跃的开源项目的概览。 本书内容全面,既涵盖OpenFlow的基本构件,又包括利用OpenFlow实现SDN方面的内容,适合网络工程师、网络管理员、系统软件开发人员、网络应用开发人员,以及任何希望对OpenFlow有更多了解的人阅读。
Windows Sockets network programming
作者: (美)Bob Quinn,(美)Dave Shute著;徐磊[等]译
出版社:机械工业出版社,2012
简介:《Windows Sockets网络编程》是Windows Sockets网络编程领域公认的经典著作,由Windows Sockets 2.0规范解释小组负责人亲自执笔,权威性毋庸置疑。它结合大量示例,对Windows Sockets规范进行了深刻地解读,系统讲解了Windows Sockets网络编程及其相关的概念、原理、主要命令、操作模式,以及开发技巧和可能的陷阱,从程序员的角度给出了大量的建议和最佳实践,是学习Windows Sockets网络编程不可多得的参考书。
作者: 徐磊青,杨公侠编著
出版社:同济大学出版社,2002
简介: 本书的大多数章节都有一个经精心安排的相似的结构:1)阐述主题的范畴和性质,并为其下定义2)介绍这个主题的主要理论;3)整合与该主题有关的研究资料,并为这些已经积累的知识做总结;4)介绍了几个如何在环境设计中应用这些知识的实例。 为使心理学基础薄弱的建筑师、规划师和其他环境设计人员更好地阅读本书,我们尽可能用朴素的语言来解释一些关键词和术语。另外,本书经过合理的安排,做到了每个章节尽可能地独立与完整,当读者由于时间有限或是只对本书的一个部分感兴趣时,他就可以只阅读某可以只读某一章节的某一段落。譬如当他对理论不感兴趣时,便可以跳过理论部分而直接阅读有关的研究资料,以及面向环境设计的研究实例。 本书保持了我们一贯坚持的实证主义的观点,并对其他非实证主义的研究持保留和警惕的态度,这可能是本书的一大特点,但也可能是自缚手脚,很多建筑学方向的资料就没有被考虑进去。另一方面,我们不是心理学家,心理学知识非常有限,尽管我们竭力避免,但书中肯定有许多不妥之处,敬请读者和有关专家指正,我们将深深以为幸。
作者: 徐磊青编著
出版社:中国建筑工业出版社,2006
简介: 这是提供给建筑师、室内设计师和环境设计师使用的一本理论和工具书 。 本书系统阐述了如何在环境设计中,应用人体工程学、环境行为学和环 境心理学的知识,以“人体-动作-空间-场所-环境”为主线,并循序渐 进的将这些知识编织起来,使学生、设计师和相关者在建筑和环境设计中正 确运用人体工程学、环境行为学和环境心理学的基本知识,创造出更加安全 、健康、高效、舒适、美观和宜人的生活和工作环境。 本书共分十二章。主要内容包括:人的因素与设计,人体的运动能力, 人体测量与人体尺寸,人体尺寸的设计应用,工作空间设计,坐与椅子设计 ,感知与环境知觉的要点,人的环境需要及环境之意义,环境中的空间行为 ,私密性、领域性与场所,安全和健康的环境,和环境的舒适与效能等。本 书集作者十多年来的教学和科研成果,并综合国内外最新的研究资料,具有 重要的教学、科研和实践应用价值。
作者: 徐磊,陈梅主编
出版社:上海交通大学出版社,2006
简介:本书根据《法学概论》的课程要求,以我国现有法律体系中重点部门法 为单位,分为法理学、宪法、刑法、刑事诉讼法、民法、商法、民事诉讼法 与仲裁制度、行政法律制度、国际法,共九章。每一章首先对相应部门法的 知识点进行概要性阐述,然后设置若干典型案例。在案例讲解时,给出简洁 、准确的参考答案,并进行较深入的法理透析。 本书案例精当,重点突出,适合于高等职业学校、高等专科学校、应用 型本科院校、成人高校 及本科院校举办的二级职业技术学院和民办高校使用。
作者: 徐磊青,杨公侠编著
简介: 這是一本討論人與實質環境相互關係的書,目的是把有關行為和環境的相關研究編織在一起。本書隱含的目標是理解與揭示怎樣的環境設計是適合人們的生活、生產和學習的,在創造人工環境時應注意哪些方面,以及幫助人們如何利用環境中的各項線索來達到自己的目標,並藉此促進人與環境之間良性的互動過程。 本書章節結構如下:(1)闡述主題的範疇和性質,並為其下定義;(2)介紹主題的主要理論;(3)整合與主題有關的研究資料,並為這些已經累積的知識做總結;(4)介紹幾個如何在環境設計中應用這些知識的實例。
作者: 徐磊著
出版社:陕西师范大学出版社,2006
简介:本书将围绕安史之乱向您展现这场使一个朝代发生巨变的事件——大唐惊变。 渔阳鼙鼓动地来,九重城阙烟尘生。公元755年(天宝十四年),安史之乱爆发,赫赫大唐盛世开始了走向衰落的道路。悲剧的序幕拉开了,帝王、权臣、英雄、叛将、宦官纷纷登场…… 在诸多王朝当中,唐的衰落最让人叹息。和一般王朝相比,唐朝非常有个性,几乎是突然就兴盛起来了,然后又突然衰落下去——兴则万国来朝,衰则一落千丈。这次战乱,成为中国古代社会的一座分水岭,直接影响了中国的发展和进步。
作者: (法)伊夫·潘基里(Yves Pinguilly)著;(法)奥利维尔·巴雷(Olivier Balez)插图;徐磊译
出版社:江苏少年儿童出版社,2002
简介:本书内容:这是一个隐藏在黑白照片中的阴谋诡计。非洲人塞万努乘飞机到巴黎寻找一条神圣的蟒蛇。他来到一个被杀害的珠宝制造者家中,不幸,被怀疑为凶手,并不得不躲藏起来……。