C语言程序设计案例精粹(全程实录)(含DVD光盘1张) (平装)
分類: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,C语言及其相关,
品牌: 崔丹
基本信息出版社:电子工业出版社; 第1版平装:480页ISBN:9787121116889条形码:9787121116889ASIN:B0042QREUC商品描述内容简介本书由浅入深、循序渐进地讲解了C语言的基础知识,以及如何使用C语言进行程序开发。本书内容包括C语言开发环境、数据类型、运算符、控制语句、输入与输出、数组、函数、指针、结构体与共用体、链表、编译预处理、文件、字符串处理、调试、软件测试、常用算法,以及C语言的实际应用和工程应用等。最后,通过几个实际应用的例子讲解如何使用C语言解决生活中的问题以及如何使用C语言进行工程项目开发。目录第1章 C语言开发环境简介1 1.1 C语言发展历史1 1.2 C语言的特点2 1.3 C语言的广泛应用3 1.4 Visual C++ 6.0开发环境概述4 1.4.1 Visual C++ 6.0 开发环境安装4 1.4.2 Visual C++ 6.0 开发环境介绍8 1.5 Visual C++6.0下创建开发项目10 1.5.1 Visual C++ 6.0 下创建工程项目10 1.5.2 Visual C++ 6.0 下C语言源代码创建12 实训1.1——一个经典的C语言程序15 1.6 疑难解答和上机题16 1.6.1 疑难解答16 1.6.2 上机题18 第2章 基本数据类型19 2.1 数据类型概述19 2.2 进制换算20 2.2.1 进位计数制概述20 2.2.2 二进制与其他进制转换21 2.2.3 八进制与其他进制转换22 2.2.4 十六进制与其他进制转换23 2.2.5 十进制与二进制的转换24 2.2.6 机器数及其在内存中的存储格式25 2.3 常量26 2.3.1 整型常量26 2.3.2 实型常量27 2.3.3 字符常量28 2.3.4 字符串常量29 2.4 变量30 2.4.1 变量与内存结构30 2.4.2 变量的定义31 2.4.3 整型变量32 2.4.4 实型变量34 2.4.5 字符变量35 2.5 枚举35 2.5.1 枚举的定义35 2.5.2 枚举变量的定义与使用36 2.6 疑难解答和上机题38 2.6.1 疑难解答38 2.6.2 上机题40 第3章 运算符和表达式41 3.1 运算符与表达式的分类41 3.1.1 运算符的分类41 3.1.2 表达式的分类43 3.2 运算符的优先级与结合性44 3.3 赋值运算符与赋值表达式46 3.4 算术运算符与算术表达式48 3.4.1 算术运算符与数据类型48 实训3.1——计算圆柱体体积49 3.4.2 模除运算符50 3.4.3 自增自减运算符51 3.5 关系运算符与关系表达式54 3.6 逻辑运算符与逻辑表达式55 3.6.1 逻辑与(&&)55 3.6.2 逻辑或(||)56 3.6.3 逻辑非(!)57 实训3.2——判断闰年58 3.7 位运算符59 实训3.3——交换两变量的值61 3.8 条件运算符64 实训3.4——分段函数计算64 3.9 sizeof运算符65 3.10 强制类型转换66 3.11 疑难解答和上机题68 3.11.1 疑难解答68 3.11.2 上机题70 第4章 C语言标准输入与输出71 4.1 C语言标准库函数概述71 4.2 格式输出函数printf 72 4.2.1 标准格式输出72 4.2.2 格式输出控制76 4.3 格式输入函数scanf 78 4.3.1 标准格式输入78 4.3.2 格式输入控制82 4.4 字符输入输出函数83 4.4.1 putchar函数83 4.4.2 getchar函数83 实训4.1——输出及格率84 4.5 疑难解答和上机题85 4.5.1 疑难解答85 4.5.2 上机题88 第5章 分支结构程序设计89 5.1 结构化程序设计思想89 5.2 简单的if语句90 5.2.1 if语句的定义90 5.2.2 合理设计if语句92 实训5.1——求一元二次方程的实根解93 5.3 多分支if语句95 5.3.1 if-else语句的结构95 5.3.2 if-else语句的应用96 5.3.3 if-else-if语句的结构及应用98 5.4 嵌套if-else语句101 5.4.1 嵌套if-else语句的定义101 5.4.2 嵌套if-else语句的应用103 实训5.2——求一元二次方程的复数根解104 5.5 switch语句107 5.5.1 switch语句的定义108 5.5.2 break语句110 5.5.3 switch语句的执行与应用110 实训5.3——使用switch语句实现四则运算111 5.6 嵌套switch语句113 5.6.1 嵌套switch语句的定义113 5.6.2 嵌套switch语句的执行与应用114 5.7 疑难解答和上机题116 5.7.1 疑难解答116 5.7.2 上机题118 第6章 循环结构程序设计119 6.1 循环语句的提出119 6.2 for循环语句120 6.2.1 for语句的定义121 6.2.2 for语句的执行121 6.2.3 for语句的应用122 6.3 for循环嵌套语句125 6.3.1 for循环嵌套语句的定义与执行125 6.3.2 for循环嵌套语句的应用126 实训6.1——打印九九乘法表127 实训6.2——打印三位数水仙花数129 6.4 while循环语句131 6.4.1 while循环语句的定义131 6.4.2 while循环语句的应用132 实训6.3——记录键盘输入字符数133 6.5 do-while循环语句135 6.5.1 do-while循环语句的定义135 6.5.2 do-while循环语句的应用136 6.6 goto语句139 6.7 break语句和continue语句140 6.7.1 break语句140 6.7.2 continue语句141 6.8 疑难解答和上机题142 6.8.1 疑难解答142 6.8.2 上机题145 第7章 数组147 7.1 一维数组147 7.1.1 一维数组的定义147 7.1.2 一维数组赋值与引用149 7.1.3 一维数组的应用153 实训7.1——数列排序154 7.2 二维数组156 7.2.1 二维数组的定义157 7.2.2 二维数组的赋值与引用158 7.2.3 二维数组的应用160 实训7.2——学员平均成绩计算162 实训7.3——输出杨辉三角164 7.3 字符数组166 7.3.1 字符数组的定义166 7.3.2 字符数组的赋值与引用167 7.3.3 字符数组与字符串169 7.3.4 二维字符数组171 7.4 疑难解答和上机题173 7.4.1 疑难解答173 7.4.2 上机题175 第8章 函数177 8.1 函数的定义177 8.1.1 函数的分类177 8.1.2 函数的定义178 8.2 函数的调用与声明181 8.2.1 函数的调用181 实训8.1——计算数学分段函数183 8.2.2 函数的声明185 实训8.2——近似计算圆周率 188 8.2.3 函数的参数191 8.3 局部变量与全局变量193 8.3.1 局部变量193 8.3.2 全局变量195 8.4 函数的嵌套调用和递归197 实训8.3——汉诺塔程序设计199 8.5 数组作函数参数202 8.6 疑难解答和上机题204 8.6.1 疑难解答204 8.6.2 上机题205 第9章 指针207 9.1 指针的引入207 9.1.1 指针的定义207 9.1.2 指针的引用208 9.2 指针和地址210 9.2.1 指针和地址的关系210 9.2.2 指针和地址的区别214 9.2.3 void指针和空指针216 9.3 指针与数组217 9.3.1 指针与数组首地址217 9.3.2 指针与数组名的区别219 实训9.1——指针转换数组中字母大小写220 9.4 指针与函数223 9.4.1 指针作函数参数223 9.4.2 函数返回指针227 9.4.3 指向函数的指针228 9.5 指针与字符串229 9.5.1 指针与字符串的关系229 9.5.2 指针引用字符串231 9.6 指针与二维数组233 9.6.1 指针和二维数组的关系233 9.6.2 指针数组237 实训9.2——输出main函数参数值239 9.7 内存分配241 9.7.1 指针与内存分配241 9.7.2 malloc函数242 9.7.3 memset函数245 9.7.4 free函数245 实训9.3——指针实现简单月历计算246 9.8 疑难解答与上机题248 9.8.1 疑难解答248 9.8.2 上机题249 第10章 结构体与共用体251 10.1 结构体的定义251 10.2 结构体变量253 10.2.1 结构体变量的定义253 10.2.2 结构体变量的初始化254 10.2.3 结构体变量的引用255 10.2.4 结构体数组257 实训10.1——身份证信息录入258 10.2.5 结构体的嵌套261 10.3 结构体指针262 10.3.1 结构体指针的定义262 10.3.2 结构体指针引用结构体成员263 10.3.3 指向结构体数组的结构体指针264 10.4 结构体变量的内存分配265 10.4.1 动态分配结构体内存265 10.4.2 结构体在内存中的存储结构269 10.5 结构体指针作函数参数270 10.5.1 结构体指针作函数参数的定义271 10.5.2 结构体指针作函数参数的应用272 10.6 共用体的定义273 10.6.1 共用体的定义273 10.6.2 共用体变量的定义与应用273 10.7 共用体的内存结构275 实训10.2——教师学生信息卡设计276 10.8 疑难解答和上机题279 10.8.1 疑难解答279 10.8.2 上机题280 第11章 链表281 11.1 什么是链表281 11.2 结构体实现单链表282 11.2.1 单链表结点的结构体实现283 11.2.2 单链表的结构体实现284 11.3 结构体实现双向链表287 11.3.1 双向链表结点的结构体实现287 11.3.2 双向链表结点的内存分配290 11.4 链表结点的插入与删除291 11.4.1 单链表结点的插入291 11.4.2 双向链表结点的插入292 11.4.3 单链表结点的删除293 11.4.4 双向链表结点的删除294 实训11.1——新员工录入员工信息表294 11.5 疑难解答和上机题297 11.5.1 疑难解答297 11.5.2 上机题298 第12章 编译预处理299 12.1 宏定义299 12.1.1 什么是宏定义300 12.1.2 宏定义的应用302 实训12.1——程序不同Log的打印305 12.1.3 宏定义的终止307 12.2 文件包含307 12.2.1 头文件包含307 实训12.2——银行卡信息录入308 12.2.2 头文件中的函数声明311 12.3 条件编译312 12.3.1 #if…#else和#endif命令312 12.3.2 #ifdef…#endif和#ifndef…#endif命令314 12.4 疑难解答和上机题316 12.4.1 疑难解答316 12.4.2 上机题317 第13章 文件319 13.1 文件和文件指针319 13.1.1 流和文件319 13.1.2 文件指针320 13.2 文件的打开和关闭321 13.2.1 文件的打开321 13.2.2 文件的关闭324 13.3 文件的读写325 13.3.1 字符处理函数fgetc和fputc326 实训13.1——建立readme文件328 13.3.2 字符串处理函数fgets和fputs331 13.3.3 数据段处理函数fread和fwrite334 实训13.2——项目信息录入与输出335 13.3.4 标准格式读写函数fprintf和fscanf340 13.4 文件的定位341 13.5 疑难解答和上机题342 13.5.1 疑难解答342 13.5.2 上机题344 第14章 C语言标准数学库函数345 14.1 平方根计算函数sqrt 345 14.2 指数函数exp和pow 347 14.2.1 指数函数exp347 14.2.2 指数函数pow348 14.3 取对数函数log和log10349 14.3.1 自然对数函数log349 14.3.2 10为底的对数函数log10350 14.4 绝对值函数abs和fabs 351 14.4.1 绝对值函数abs351 14.4.2 绝对值函数fabs352 14.5 三角函数353 14.5.1 正弦函数sin和asin353 14.5.2 其他三角函数354 14.6 取整函数floor和ceil 356 14.6.1 取整函数floor356 14.6.2 取整函数ceil357 14.7 疑难解答和上机题358 14.7.1 疑难解答358 14.7.2 上机题360 第15章 字符串处理361 15.1 字符串复制函数strcpy361 15.1.1 库函数strcpy362 15.1.2 自定义函数strcpy363 15.2 字符串连接与比较函数strcat和strcmp 364 15.2.1 字符串连接函数strcat364 15.2.2 字符串比较函数strcmp365 15.3 字符串长度与查找函数strlen和strchr 367 15.3.1 字符串长度计算函数strlen367 15.3.2 字符串查找函数strchr368 15.4 字符串输入输出函数gets和puts 369 15.4.1 字符串输入函数gets369 15.4.2 字符串输出函数puts370 15.5 其他字符串处理函数371 15.5.1 特定字符串比较函数strcmp371 15.5.2 字符串重设函数strnset372 15.5.3 字符串子串查找函数strstr373 实训15.1——文章中字符串查找与替换375 15.6 疑难解答和上机题377 15.6.1 疑难解答377 15.6.2 上机题379 第16章 C语言调试381 16.1 C语言开发入门381 16.1.1 注释的编写381 16.1.2 代码风格384 16.2 C语言单步调试与跟踪388 16.3 C语言断点调试与跟踪389 16.3.1 设置调试断点389 16.3.2 断点调试391 16.4 查看动态内存393 实训16.1——代码风格设计395 16.5 疑难解答和上机题397 16.5.1 疑难解答397 16.5.2 上机题398 第17章 软件测试399 17.1 软件测试概述399 17.1.1 什么是软件测试399 17.1.2 软件测试模型、分类和流程400 17.2 搭建软件测试环境402 17.2.1 分析被测软件402 17.2.2 搭建软件测试环境403 17.3 软件测试过程404 17.3.1 函数级软件测试404 17.3.2 模块级软件测试411 17.4 疑难解答和上机题413 17.4.1 疑难解答413 17.4.2 上机题414 第18章 C语言常用算法415 18.1 什么是算法415 18.2 排序算法416 18.2.1 起泡排序416 18.2.2 选择排序420 18.2.3 合并排序423 18.2.4 快速排序424 18.3 查找算法426 18.3.1 顺序查找算法427 18.3.2 折半查找算法428 18.4 二叉树429 18.4.1 二叉树的结构430 18.4.2 C语言实现简单的二叉树431 18.4.3 二叉树的简单操作433 实训18.1——合并两个有序数组437 18.5 疑难解答和上机题440 18.5.1 疑难解答440 18.5.2 上机题442 第19章 C语言应用实例443 19.1 C语言巧解问题实例443 19.1.1 求1~1000之内的素数443 19.1.2 巧解古代百钱买百鸡问题445 19.1.3 巧解换钱币问题446 19.1.4 求1~20000之间的平方回文数446 19.1.5 验证卡布列克常数448 19.2 C语言应用实例——计算数学公式450 19.2.1 C语言实现三角函数sinx逼近450 19.2.2 C语言实现三角函数cosx逼近451 19.2.3 C语言计算排列组合452 19.3 C语言编写万年历453 19.3.1 万年历的实现流程453 19.3.2 万年历程序设计流程454 19.3.3 万年历程序编写455 19.3.4 结果验证与代码完善459 19.4 疑难解答和上机题460 19.4.1 疑难解答460 19.4.2 上机题461 附录A ASCII字符集及其编码463 附录B C语言中常用关键字的说明464