词条 | C语言开发实战宝典 |
释义 | 图书信息出版社: 清华大学出版社; 第1版 (2011年1月1日) 平装: 592页 正文语种: 简体中文 开本: 16 ISBN: 9787302242512, 7302242518 条形码: 9787302242512 尺寸: 26 x 21.2 x 3 cm 重量: 1.1 Kg 内容简介《C语言开发实战宝典》从初学者的角度讲述了使用visual c++ 6.0(以及部分turbo c)进行程序开发应该掌握的各项技术,突出“基础”、“全面”、“深入”,同时就像书名所暗示的一样,强调“实战”效果(只掌握和理解技术,而没有实际应用,等于没有掌握技术)。《C语言开发实战宝典》分为3篇,共21章。在“基础知识篇”中,在介绍技术的同时,每一章均提供了相应的实例,同时在各章的结尾安排有实战,通过几个小型项目来综合应用本章所讲解的知识,做到理论联系实际。接着,在“范例演练篇”中,安排了几章的范例使读者巩固所学的知识。最后,在“项目实战篇”中提供了5个完整的项目实例,讲述了从前期规划、设计流程图,到项目最终实施的整个实现过程。《C语言开发实战宝典》适合有志于从事软件开发的初学者、高校计算机相关专业学生和毕业生,也可作为软件开发人员的参考手册,或者高校的教学参考书。 目录基础知识篇 第1章 c语言开发环境 1 1.1 本章知识体系 4 1.2 程序员的成长之路 4 1.3 c语言的重要性 5 1.4 如何学好c语言 5 1.5 c语言常用开发工具简介 6 1.5.1 turbo c 7 1.5.2 visual c++ 6.0 7 1.5.3 c++ builder(bcb) 7 1.5.4 cygwin 7 1.5.5 dev-c++ 7 1.5.6 source insight 8 1.6 了解visual c++集成开发环境 8 1.6.1 开发环境布局 8 1.6.2 菜单 8 1.6.3 工具栏 15 1.6.4 工作区窗口 16 1.6.5 代码编辑窗口 16 1.6.6 输出窗口 16 .1.7 如何在turbo c 2.0下运行c源程序 17 1.8 了解gcc开发编译器 19 1.9 dev-c++ 19 1.9.1 dev-c++概述 19 1.9.2 dev-c++的使用 19 1.10 eclipse for c/c++ 21 1.10.1 eclipse概述 21 1.10.2 eclipse的使用 22 1.11 实战 24 1.11.1 猴子吃桃 24 1.11.2 阳阳买苹果 25 1.12 疑难解惑 26 1.12.1 为什么说c语言可移植性好 26 1.12.2 c语言的应用领域有哪些 26 1.12.3 如何提高c语言的编程效率 27 1.13 小结 27 第2章 c语言开发基础 29 2.1 本章知识体系 30 2.2 编码规范要记牢 30 2.2.1 注释的合理使用 30 2.2.2 程序中的{}要对齐 31 2.2.3 合理使用空格使代码更规范 32 2.2.4 换行使代码更清晰 32 2.3 语言要素 33 2.3.1 关键字 33 2.3.2 标识符 33 2.4 常量 34 2.4.1 整型常量 34 2.4.2 实型常量 36 2.4.3 字符型常量 36 2.4.4 字符串常量 37 2.5 变量 38 2.5.1 什么是变量 38 2.5.2 变量的声明 39 2.6 数据类型 39 2.6.1 什么是数据类型 39 2.6.2 整型 40 2.6.3 实型 42 2.6.4 字符型 42 2.6.5 枚举类型 44 2.7 使用typedef定义类型 45 2.8 变量的存储类型 47 2.8.1 了解变量的存储类型 47 2.8.2 使用auto关键字声明自动变量 48 2.8.3 使用static关键字声明静态变量 48 2.8.4 使用register关键字声明寄存器变量 51 2.8.5 使用extern关键字声明外部变量 52 2.8.6 使用static关键字声明静态外部变量 55 2.9 混合运算 55 2.10 实战 57 2.10.1 十进制转换为二进制 57 2.10.2 求100~200之间的素数 58 2.11 疑难解惑 60 2.11.1 声明变量和定义变量 60 2.11.2 限定词const 60 2.11.3 字符串常量为什么用“\\0”作为结束符 61 2.12 小结 61 第3章 运算符与表达式 63 3.1 本章知识体系 64 3.2 运算符与表达式 64 3.2.1 赋值运算符与表达式 64 3.2.2 加减乘除新认识 67 3.2.3 关系源自比较 68 3.2.4 逻辑出真假 69 3.2.5 逗号运算符与表达式 71 3.2.6 运算符的优先级 72 3.3 自增、自减操作符 73 3.3.1 认识自增、自减操作符 73 3.3.2 自增、自减操作符的副作用 74 3.4 位运算 74 3.4.1 “或”运算符 74 3.4.2 “与”运算符 76 3.4.3 “取反”运算符 77 3.4.4 “异或”运算符 78 3.4.5 “左移”运算符 79 3.4.6 “右移”运算符 80 3.5 实战 81 3.5.1 最大公约数及最小公倍数 81 3.5.2 循环移位 82 3.6 疑难解惑 84 3.6.1 表达式“a=b”和“a= =b”一样吗? 84 3.6.2 如何区分“,”是运算符还是分隔符 84 3.6.3 c语言中有哪些简化的运算表达式 86 3.7 小结 86 第4章 语句 87 4.1 本章知识体系 88 4.2 语句的构成 88 4.2.1 表达式语句 89 4.2.2 函数调用语句 89 4.2.3 控制语句 90 4.2.4 复合语句 91 4.2.5 空语句 91 4.3 如何实现字符数据输入/输出 91 4.3.1 字符数据输出 91 4.3.2 字符数据输入 92 4.4 格式输入/输出 93 4.4.1 格式输出函数 93 4.4.2 格式输入函数 98 4.5 程序的控制结构 101 4.5.1 顺序结构 101 4.5.2 分支结构 101 4.5.3 循环结构 102 4.6 if语句 103 4.6.1 if语句的介绍 103 4.6.2 if语句的嵌套 107 4.7 条件运算符 108 4.8 switch语句 109 4.8.1 switch语句的基本形式 109 4.8.2 剖析if和switch语句 112 4.9 while与do-while语句 113 4.9.1 当型循环语句while 113 4.9.2 直到型循环语句do-while 116 4.9.3 while与do-while的异同 118 4.10 for语句 119 4.10.1 初识for语句 119 4.10.2 for语句的变体 121 4.10.3 for语句的嵌套 123 4.11 跳转语句 125 4.11.1 continue语句跳出本次循环 125 4.11.2 break语句跳出循环 126 4.11.3 用于返回数据的return语句 127 4.11.4 goto语句 128 4.12 实战 129 4.12.1 整数加减法练习 129 4.12.2 一元钱兑换方案 130 4.13 疑难解惑 132 4.13.1 c语言提供的跳转语句各有什么特点 132 4.13.2 循环嵌套时应该注意什么 132 4.13.3 如何提高循环语句的执行效率 132 4.14 小结 133 第5章 数组 135 5.1 本章知识体系 136 5.2 一维数组 136 5.2.1 如何定义和引用一维数组 136 5.2.2 一维数组初始化 137 5.2.3 一维数组应用 139 5.3 二维数组 140 5.3.1 如何定义和引用二维数组 140 5.3.2 二维数组初始化 141 5.3.3 二维数组应用 143 5.4 多维数组 144 5.5 字符数组 144 5.5.1 如何定义和使用字符数组 144 5.5.2 字符数组初始化 145 5.5.3 字符数组的结束标志 147 5.5.4 字符数组的输入和输出 148 5.5.5 字符数组应用 151 5.6 实战 152 5.6.1 逆序存放数据 152 5.6.2 相邻元素之和 154 5.7 疑难解惑 155 5.7.1 数组下标必须从0开始吗 155 5.7.2 数组名作函数参数与数组元素作函数参数有什么不同之处 155 5.7.3 '\\0'和"\\0"有什么区别 155 5.8 小结 156 第6章 函数 157 6.1 本章知识体系 158 6.2 函数概述 158 6.3 函数的定义 160 6.3.1 无参函数 160 6.3.2 有参函数 161 6.3.3 空函数 161 6.4 返回语句 162 6.4.1 从函数返回 162 6.4.2 返回值 162 6.5 函数参数 163 6.5.1 形式参数与实际参数 163 6.5.2 数组作函数参数 165 6.5.3 main参数 170 6.6 函数的调用 171 6.6.1 函数调用方式 171 6.6.2 嵌套调用 172 6.6.3 递归调用 174 6.7 内部函数和外部函数 177 6.7.1 内部函数 177 6.7.2 外部函数 177 6.8 局部变量和全局变量 179 6.8.1 局部变量 179 6.8.2 全局变量 180 6.9 实战 182 6.9.1 求字符串中字符的个数 182 6.9.2 打渔晒网问题 183 6.10 疑难解惑 185 6.10.1 在调用时不使用函数的返回值会产生什么现象 185 6.10.2 c语言中函数的调用方式有哪几种 186 6.10.3 函数定义时容易犯哪些错误 186 6.11 小结 187 第7章 指针 189 7.1 本章知识体系 190 7.2 指针相关概念 190 7.2.1 地址与指针 190 7.2.2 指针变量 191 7.2.3 指针的赋值 192 7.2.4 指针的引用 193 7.3 指针运算 194 7.4 一维数组与指针 196 7.5 指针访问二维数组 200 7.6 字符和指针 203 7.6.1 使用字符指针 203 7.6.2 字符指针数组 205 7.7 指向指针的指针 206 7.8 函数型指针 208 7.9 实战 210 7.9.1 用指针实现数据交换 210 7.9.2 使用指针实现整数排序 212 7.10 疑难解惑 213 7.10.1 指针类型和指针所指向的类型是一样的吗 213 7.10.2 指针运算与取地址运算符有何联系 214 7.10.3 空指针有何意义 214 7.11 小结 214 第8章 结构体和共用体 215 8.1 本章知识体系 216 8.2 结构体 216 8.2.1 结构体类型的概念 216 8.2.2 结构体变量的定义 217 8.2.3 结构体类型的几点说明 219 8.2.4 结构体变量的引用 220 8.2.5 结构体变量的初始化 220 8.3 结构体数组 221 8.3.1 定义结构体数组 221 8.3.2 初始化结构体数组 222 8.4 结构体指针 224 8.4.1 指向结构体变量的指针 224 8.4.2 指向结构体数组的指针 225 8.4.3 结构体作函数参数 226 8.5 包含结构的结构 229 8.6 链表 230 8.6.1 什么是链表 230 8.6.2 创建动态链表 232 8.6.3 链表相关操作 234 8.7 共用体 240 8.7.1 什么是共用体 240 8.7.2 共用体变量的定义和引用 240 8.7.3 共用体类型的初始化 241 8.8 实战 242 8.8.1 约瑟夫环 242 8.8.2 计算开机时间 244 8.9 疑难解惑 246 8.9.1 定义结构体对结构体成员的类型是否有限制 246 8.9.2 成员运算符(.)和指向结构体成员的运算符(-])有何区别 246 8.9.3 结构体和联合体有什么区别和联系 246 8.10 小结 247 第9章 文件 249 9.1 本章知识体系 250 9.2 文件概述 250 9.3 文件基本操作 251 9.3.1 文件的打开 251 9.3.2 文件的关闭 252 9.4 文件的读写 253 9.4.1 fputc函数 253 9.4.2 fgetc函数 254 9.4.3 fread函数和fwrite函数 255 9.5 文件的定位 257 9.5.1 rewind函数 257 9.5.2 ftell函数 259 9.5.3 fseek函数 259 9.6 出错检测 261 9.6.1 ferror函数 261 9.6.2 clearerr函数 263 9.7 实战 264 9.7.1 读取磁盘文件 264 9.7.2 将数据写入磁盘文件 265 9.8 疑难解惑 266 9.8.1 标准文件和一般文件有什么区别 266 9.8.2 c语言的常用库文件包含哪些 266 9.8.3 为什么文件打开以后要及时关闭 268 9.9 小结 268 第10章 预处理 269 10.1 本章知识体系 270 10.2 不带参数的宏定义 270 10.3 带参数的宏定义 272 10.4 #include命令 273 10.5 条件编译 276 10.5.1 #if命令 276 10.5.2 #ifdef及#ifndef命令 279 10.5.3 #undef命令 280 10.5.4 #line命令 280 10.5.5 #pragma命令 281 10.6 实战 282 10.6.1 利用宏计算两个数的乘积 282 10.6.2 利用宏求3个数中的最小数 282 10.7 疑难解惑 283 10.7.1 c语言中包括哪些预处理功能 283 10.7.2 使用宏时需要注意些什么 284 10.7.3 文件包含可以嵌套吗 284 10.8 小结 284 第11章 存储管理 285 11.1 本章知识体系 286 11.2 内存组织方式 286 11.2.1 内存组织方式 286 11.2.2 堆与栈 286 11.3 分配内存函数(malloc和calloc) 289 11.3.1 malloc函数 289 11.3.2 calloc函数 290 11.4 修改已分配内存(relloc函数) 291 11.5 释放内存——free函数 292 11.6 谁偷了我的内存 293 11.7 实战 294 11.7.1 为具有3个元素的数组分配内存 294 11.7.2 为二维数组动态分配内存并释放 294 11.8 疑难解惑 296 11.8.1 什么是“内存泄露” 296 11.8.2 内存耗尽了怎么办 296 11.8.3 常见的内存管理错误有哪些 296 11.9 小结 297 范例演练篇 第12章 排序 301 12.1 选择排序 302 12.1.1 范例功能演示 302 12.1.2 开发思路指引 302 12.1.3 专家难点解析 303 12.1.4 设计过程详解 304 12.1.5 范例开发手记 305 12.1.6 进阶与提高 305 12.2 冒泡排序 306 12.2.1 范例功能演示 306 12.2.2 开发思路指引 306 12.2.3 专家难点解析 307 12.2.4 设计过程详解 308 12.2.5 范例开发手记 309 12.2.6 进阶与提高 309 12.3 插入排序 310 12.3.1 范例功能演示 310 12.3.2 开发思路指引 310 12.3.3 专家难点解析 311 12.3.4 设计过程详解 312 12.3.5 范例开发手记 313 12.3.6 进阶与提高 313 12.4 希尔排序 314 12.4.1 范例功能演示 314 12.4.2 开发思路指引 315 12.4.3 专家难点解析 315 12.4.4 设计过程详解 316 12.4.5 范例开发手记 317 12.4.6 进阶与提高 318 12.5 快速排序 319 12.5.1 范例功能演示 319 12.5.2 开发思路指引 319 12.5.3 专家难点解析 320 12.5.4 设计过程详解 321 12.5.5 范例开发手记 322 12.5.6 进阶与提高 323 第13章 查找 325 13.1 顺序查找 326 13.1.1 范例功能演示 326 13.1.2 开发思路指引 326 13.1.3 专家难点解析 326 13.1.4 设计过程详解 327 13.1.5 范例开发手记 328 13.1.6 进阶与提高 328 13.2 折半查找 329 13.2.1 范例功能演示 330 13.2.2 开发思路指引 330 13.2.3 专家难点解析 330 13.2.4 设计过程详解 331 13.2.5 范例开发手记 332 13.2.6 进阶与提高 332 13.3 分块查找 334 13.3.1 范例功能演示 334 13.3.2 开发思路指引 334 13.3.3 专家难点解析 335 13.3.4 设计过程详解 336 13.3.5 范例开发手记 337 13.3.6 进阶与提高 338 13.4 哈希查找 339 13.4.1 范例功能演示 339 13.4.2 开发思路指引 340 13.4.3 专家难点解析 340 13.4.4 设计过程详解 342 13.4.5 范例开发手记 344 13.4.6 进阶与提高 344 第14章 数据压缩 349 14.1 rle算法实现数据压缩 350 14.1.1 范例功能演示 350 14.1.2 开发思路指引 350 14.1.3 专家难点解析 351 14.1.4 设计过程详解 351 14.1.5 范例开发手记 353 14.1.6 进阶与提高 353 14.2 lzw算法实现数据压缩 355 14.2.1 范例功能演示 355 14.2.2 开发思路指引 355 14.2.3 专家难点解析 355 14.2.4 设计过程详解 356 14.2.5 范例开发手记 359 14.2.6 进阶与提高 359 第15章 图形编程 363 15.1 绘制折线图 364 15.1.1 范例功能演示 364 15.1.2 开发思路指引 364 15.1.3 专家难点解析 364 15.1.4 设计过程详解 366 15.1.5 范例开发手记 367 15.1.6 进阶与提高 368 15.2 饼状图 370 15.2.1 范例功能演示 370 15.2.2 开发思路指引 370 15.2.3 专家难点解析 370 15.2.4 设计过程详解 372 15.2.5 范例开发手记 373 15.2.6 进阶与提高 373 15.3 条形图 375 15.3.1 范例功能演示 375 15.3.2 开发思路指引 375 15.3.3 专家难点解析 375 15.3.4 设计过程详解 377 15.3.5 范例开发手记 379 15.3.6 进阶与提高 379 15.4 画玫瑰花 381 15.4.1 范例功能演示 381 15.4.2 开发思路指引 381 15.4.3 专家难点解析 381 15.4.4 设计过程详解 382 15.4.5 范例开发手记 387 15.4.6 进阶与提高 387 15.5 菜单界面设计 388 15.5.1 范例功能演示 389 15.5.2 开发思路指引 389 15.5.3 专家难点解析 389 15.5.4 设计过程详解 390 15.5.5 范例开发手记 396 15.5.6 进阶与提高 396 第16章 文件的高级应用 399 16.1 创建文件 400 16.1.1 范例功能演示 400 16.1.2 开发思路指引 400 16.1.3 专家难点解析 400 16.1.4 设计过程详解 401 16.1.5 范例开发手记 402 16.1.6 进阶与提高 402 16.2 文件的复制 403 16.2.1 范例功能演示 403 16.2.2 开发思路指引 403 16.2.3 专家难点解析 403 16.2.4 设计过程详解 404 16.2.5 范例开发手记 405 16.2.6 进阶与提高 405 16.3 删除文件 406 16.3.1 范例功能演示 407 16.3.2 开发思路指引 407 16.3.3 专家难点解析 407 16.3.4 设计过程详解 408 16.3.5 范例开发手记 409 16.3.6 进阶与提高 409 16.4 重命名文件 412 16.4.1 范例功能演示 412 16.4.2 开发思路指引 412 16.4.3 专家难点解析 412 16.4.4 设计过程详解 413 16.4.5 范例开发手记 413 16.4.6 进阶与提高 414 16.5 文件加密 415 16.5.1 范例功能演示 415 16.5.2 开发思路指引 416 16.5.3 专家难点解析 416 16.5.4 设计过程详解 417 16.5.5 范例开发手记 418 16.5.6 进阶与提高 418 项目实战篇 第17章 五子棋游戏开发 423 17.1 概述 424 17.2 需求分析 424 17.3 系统设计 424 17.3.1 设计目标 424 17.3.2 开发及运行环境 424 17.4 程序预览 424 17.5 graphics.h文件 425 17.6 设计思路 429 17.7 预处理 429 17.7.1 文件引用 429 17.7.2 宏定义 429 17.8 声明变量 430 17.9 函数声明 430 17.10 主要功能实现 430 17.10.1 主函数 430 17.10.2 开始游戏 432 17.10.3 绘制棋盘 433 17.10.4 绘制棋子 433 17.10.5 清除棋子 434 17.10.6 游戏过程 434 17.10.7 判断胜负结果 440 17.11 开发总结 442 第18章 商品信息管理系统(txt) 443 18.1 概述 444 18.1.1 需求分析 444 18.1.2 功能结构图 444 18.2 预处理 444 18.2.1 文件引用 444 18.2.2 宏定义 445 18.3 声明结构体 445 18.4 函数声明 445 18.5 功能选择界面 446 18.5.1 功能概述 446 18.5.2 主函数 446 18.5.3 自定义菜单功能函数 447 18.6 录入商品信息 448 18.7 查询商品信息 452 18.8 删除商品信息 454 18.9 修改商品信息 456 18.10 插入商品信息 458 18.11 统计商品数 461 18.12 开发总结 462 第19章 网络通信编程 463 19.1 网络通信系统概述 464 19.1.1 开发背景 464 19.1.2 需求分析 464 19.1.3 功能结构图 464 19.2 技术攻关 465 19.2.1 tcp/ip协议 465 19.2.2 ip地址 466 19.2.3 数据包格式 467 19.2.4 建立连接 469 19.2.5 套接字库函数 470 19.3 网络通信系统主程序 473 19.4 点对点通信 477 19.5 服务器中转通信 484 19.6 程序调试与错误处理 491 19.7 开发总结 494 第20章 联系人管理系统(嵌入式) 497 20.1 联系人管理系统概述 498 20.1.1 系统分析 498 20.1.2 总体设计 498 20.2 技术攻关 499 20.2.1 嵌入式 499 20.2.2 超级终端通信 500 20.2.3 烧写与编译 504 20.3 联系人管理系统主程序 511 20.4 添加联系人模块 516 20.5 查找联系人模块 518 20.6 删除联系人模块 521 20.7 浏览联系人模块 523 20.8 联系人详情 527 20.9 程序调试与错误处理 529 20.10 开发总结 533 第21章 图书管理系统(mysql) 535 21.1 概述 536 21.1.1 需求分析 536 21.1.2 开发工具选择 536 21.2 系统设计 536 21.2.1 系统目标 536 21.2.2 系统功能结构 537 21.2.3 系统预览 537 21.2.4 开发及运行环境 540 21.3 数据库设计 540 21.3.1 安装mysql数据库 540 21.3.2 启动mysql数据库 547 21.3.3 创建数据库 548 21.3.4 数据表结构 549 21.4 c语言开发数据库程序的流程 549 21.5 c语言操作mysql数据库 552 21.5.1 mysql常用数据库操作函数 552 21.5.2 连接mysql数据 554 21.5.3 查询图书表记录 555 21.5.4 插入图书表记录 557 21.5.5 修改图书表记录 558 21.5.6 删除图书表记录 560 21.6 文件引用 560 21.7 变量和函数定义 561 21.8 主要功能模块设计 562 21.8.1 显示主菜单信息 562 21.8.2 显示所有图书信息 564 21.8.3 添加图书信息 567 21.8.4 修改图书信息 574 21.8.5 删除图书信息 581 21.8.6 查询图书信息 587 21.9 程序调试及错误处理 590 21.9.1 解决创建数据表为一个文件的问题 590 21.9.2 在创建数据表时,最后一句结尾没有标点 591 21.9.3 无法启动mysql服务 592 21.10 项目开发总结 592 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。