目 录
第I篇 基础入门
第1章 初识庐山真面目——走进C语言的世界 3
1.1 C语言概述 4
1.1.1 C语言的发展史 4
1.1.2 C语言的特点 5
1.1.3 C语言的应用 6
1.2 C语言的常用开发环境 6
1.2.1 Visual C 6.0开发环境 7
1.2.2 Turbo C 2.0开发环境 11
1.3 编写**个C语言程序 13
1.3.1 C语言编译机制 13
1.3.2 在Visual C 6.0中开发C程序 13
1.3.3 在Turbo C中开发C程序 17<p>目 录</p> <p>第I篇 基础入门</p> <p>第1章 初识庐山真面目—— 走进C语言的世界 3</p> <p>1.1 C语言概述 4</p> <p>1.1.1 C语言的发展史 4</p> <p>1.1.2 C语言的特点 5</p> <p>1.1.3 C语言的应用 6</p> <p>1.2 C语言的常用开发环境 6</p> <p>1.2.1 Visual C 6.0开发环境 7</p> <p>1.2.2 Turbo C 2.0开发环境 11</p> <p>1.3 编写**个C语言程序 13</p> <p>1.3.1 C语言编译机制 13</p> <p>1.3.2 在Visual C 6.0中开发C程序 13</p> <p>1.3.3 在Turbo C中开发C程序 17</p> <p>1.4 C语言程序的组成 19</p> <p>1.4.1 C语言程序整体风貌 19</p> <p>1.4.2 #include的秘密 19</p> <p>1.4.3 程序的出入口——main函数 20</p> <p>1.4.4 数据集装箱——常量和变量 21</p> <p>1.4.5 如何输出程序结果——输出函数 21</p> <p>1.4.6 注释 21</p> <p>1.4.7 代码书写规范 22</p> <p>1.5 大神解惑 23</p> <p>1.6 跟我学上机 23</p> <p>第2章 程序中的变与不变——常量与变量 25</p> <p>2.1 标识符和关键字 26</p> <p>2.1.1 标识符 26</p> <p>2.1.2 关键字 26</p> <p>2.2 常量 27</p> <p>2.2.1 整数常量 27</p> <p>2.2.2 浮点常量 28</p> <p>2.2.3 字符常量 28</p> <p>2.2.4 字符串常量 30</p> <p>2.2.5 符���常量 30</p> <p>2.3 变量 31</p> <p>2.3.1 变量的定义 32</p> <p>2.3.2 变量的声明 32</p> <p>2.3.3 变量的初始化与赋值 33</p> <p>2.3.4 变量的分类 34</p> <p>2.4 综合案例——处理学生的期末成绩 38</p> <p>2.5 大神解惑 40</p> <p>2.6 跟我学上机 40</p> <p>第3章 程序中的数据种类——数据类型 41</p> <p>3.1 数制 42</p> <p>3.1.1 二进制 42</p> <p>3.1.2 八进制 42</p> <p>3.1.3 十六进制 42</p> <p>3.1.4 数制间的转换 42</p> <p>3.2 整型数据 45</p> <p>3.2.1 整型数据的存放形式 46</p> <p>3.2.2 整型变量的溢出 47</p> <p>3.3 浮点型数据 48</p> <p>3.3.1 浮点型数据的存放形式 48</p> <p>3.3.2 有效数字 49</p> <p>3.4 字符型数据 50</p> <p>3.5 数据类型的转换 50</p> <p>3.5.1 隐式转换 50</p> <p>3.5.2 显式转换 52</p> <p>3.6 综合案例——各种进制的转换 53</p> <p>3.7 大神解惑 55</p> <p>3.8 跟我学上机 55</p> <p>第4章 用户与计算机的交互——输入和输出 57</p> <p>4.1 标准输入输出 58</p> <p>4.2 格式化输入输出 58</p> <p>4.2.1 格式化输出函数 59</p> <p>4.2.2 格式化输入函数 62</p> <p>4.3 字符输入输出 65</p> <p>4.3.1 字符的输出函数 65</p> <p>4.3.2 字符的输入函数 66</p> <p>4.4 字符串的输入输出 67</p> <p>4.4.1 字符串的输出函数 67</p> <p>4.4.2 字符串的输入函数 68</p> <p>4.5 综合案例——输入和输出的综合应用 69</p> <p>4.6 大神解惑 70</p> <p>4.7 跟我学上机 70</p> <p>第5章 谁来操作数据——运算符和表达式 71</p> <p>5.1 运算符 72</p> <p>5.1.1 运算符的分类 72</p> <p>5.1.2 运算符的优先级和结合性 72</p> <p>5.2 表达式 73</p> <p>5.3 运算符与表达式 74</p> <p>5.3.1 算术运算符与算术表达式 74</p> <p>5.3.2 赋值运算符与赋值表达式 77</p> <p>5.3.3 关系运算符与关系表达式 79</p> <p>5.3.4 逻辑运算符与逻辑表达式 81</p> <p>5.3.5 位运算符与位运算表达式 83</p> <p>5.3.6 条件运算符与条件表达式 85</p> <p>5.3.7 逗号运算符与逗号表达式 86</p> <p>5.4 语句 87</p> <p>5.4.1 表达式语句 87</p> <p>5.4.2 函数调用语句 87</p> <p>5.4.3 控制语句 88</p> <p>5.4.4 复合语句 88</p> <p>5.4.5 空语句 88</p> <p>5.5 综合案例——关系运算符的应用 89</p> <p>5.6 大神解惑 89</p> <p>5.7 跟我学上机 90</p> <p>第6章 程序的执行方向——程序流程控制结构 91</p> <p>6.1 顺序结构 92</p> <p>6.2 选择结构 93</p> <p>6.2.1 if语句 93</p> <p>6.2.2 if…else语句 94</p> <p>6.2.3 选择嵌套语句 95</p> <p>6.2.4 switch分支结构语句 99</p> <p>6.3 循环结构 101</p> <p>6.3.1 while语句 101</p> <p>6.3.2 do…while语句 102</p> <p>6.3.3 for语句 103</p> <p>6.3.4 循环语句的嵌套 105</p> <p>6.4 跳转语句 106</p> <p>6.4.1 break语句 106</p> <p>6.4.2 continue语句 107</p> <p>6.4.3 goto语句 108</p> <p>6.5 综合案例——制作简易计算器 109</p> <p>6.6 大神解惑 111</p> <p>6.7 跟我学上机 112</p> <p> </p> <p>第Ⅱ篇 核心技术</p> <p> </p> <p>第7章 特殊的元素集合——数组 115</p> <p>7.1 数组概述 116</p> <p>7.2 一维数组 116</p> <p>7.2.1 一维数组的定义 116</p> <p>7.2.2 一维数组的引用 118</p> <p>7.2.3 一维数组的初始化 119</p> <p>7.2.4 程序实例 121</p> <p>7.3 二维数组 123</p> <p>7.3.1 二维数组的定义 123</p> <p>7.3.2 二维数组的引用 124</p> <p>7.3.3 二维数组的初始化 125</p> <p>7.3.4 多维数组 127</p> <p>7.3.5 程序实例 128</p> <p>7.4 字符数组 131</p> <p>7.4.1 字符数组的定义和初始化 131</p> <p>7.4.2 字符串和字符数组 133</p> <p>7.4.3 字符数组的输出与输入 134</p> <p>7.4.4 字符串处理函数 137</p> <p>7.5 综合案例——矩阵的乘法 141</p> <p>7.6 大神解惑 143</p> <p>7.7 跟我学上机 143</p> <p>第8章 程序描述——算法与流程图 145</p> <p>8.1 算法概述 146</p> <p>8.1.1 算法的概念 146</p> <p>8.1.2 算法的特性 146</p> <p>8.1.3 算法的优劣 147</p> <p>8.2 流程图简介 148</p> <p>8.2.1 传统流程图 148</p> <p>8.2.2 N-S流程图 150</p> <p>8.3 算法的表示 150</p> <p>8.3.1 自然语言表示法 150</p> <p>8.3.2 流程图表示法 152</p> <p>8.3.3 N-S流程图表示法 156</p> <p>8.3.4 伪代码表示法 159</p> <p>8.3.5 计算机语言表示法 162</p> <p>8.4 结构化程序设计方法 163</p> <p>8.5 综合案例——求解一元二次方程的根 163</p> <p>8.6 大神解惑 166</p> <p>8.7 跟我学上机 166</p> <p>第9章 C语言灵魂——函数与函数中变量 167</p> <p>9.1 函数概述 168</p> <p>9.1.1 函数的概念 168</p> <p>9.1.2 函数的分类 169</p> <p>9.1.3 函数的声明与定义 171</p> <p>9.2 函数的返回语句 174</p> <p>9.2.1 函数的返回值 175</p> <p>9.2.2 函数的结束标志 176</p> <p>9.2.3 函数的返回值类型 177</p> <p>9.3 函数的参数 178</p> <p>9.3.1 形式参数与实际参数 178</p> <p>9.3.2 参数的传递方式 179</p> <p>9.4 函数的调用 182</p> <p>9.4.1 函数调用的方式 182</p> <p>9.4.2 函数的嵌套调用 185</p> <p>9.4.3 函数的递归调用 188</p> <p>9.5 内部函数与外部函数 192</p> <p>9.5.1 内部函数 192</p> <p>9.5.2 外部函数 193</p> <p>9.6 main()函数的参数 195</p> <p>9.7 局部变量和全局变量 196</p> <p>9.7.1 局部变量 196</p> <p>9.7.2 全局变量 198</p> <p>9.8 变量的存储类别 202</p> <p>9.8.1 动态存储与静态存储 203</p> <p>9.8.2 自动变量 203</p> <p>9.8.3 静态变量 205</p> <p>9.8.4 寄存器变量 209</p> <p>9.8.5 外部变量 210</p> <p>9.9 综合案例——求解非线性方程 212</p> <p>9.10 大神解惑 215</p> <p>9.11 跟我学上机 217</p> <p>第10章 灵活调用内存地址——指针 219</p> <p>10.1 指针概述 220</p> <p>10.1.1 地址与指针 220</p> <p>10.1.2 指针变量 221</p> <p>10.1.3 指针变量的引用 223</p> <p>10.2 指针与函数 226</p> <p>10.2.1 指针变量作为函数参数 226</p> <p>10.2.2 函数返回指针 229</p> <p>10.2.3 指向函数的指针 231</p> <p>10.3 指针与数组 233</p> <p>10.3.1 数组元素的指针 234</p> <p>10.3.2 指针的运算 234</p> <p>10.3.3 通过指针引用数组元素 235</p> <p>10.3.4 指向数组的指针变量作为函数参数 238</p> <p>10.3.5 通过指针对多维数组进行引用 244</p> <p>10.4 指针与字符串 250</p> <p>10.4.1 字符指针 250</p> <p>10.4.2 使用字符指针作函数参数 253</p> <p>10.4.3 字符数组与字符指针变量的区别 256</p> <p>10.5 指针数组和多重指针 258</p> <p>10.5.1 指针数组 258</p> <p>10.5.2 指向指针的指针 262</p> <p>10.6 综合案例——使用指针操作数组 267</p> <p>10.7 大神解惑 272</p> <p>10.8 跟我学上机 275</p> <p>第11章 数据存储——操作文件 277</p> <p>11.1 文件概述 278</p> <p>11.1.1 文件类型 278</p> <p>11.1.2 文件指针 279</p> <p>11.1.3 文件的缓冲区 280</p> <p>11.2 文件的打开与关闭 281</p> <p>11.2.1 文件的打开 281</p> <p>11.2.2 文件的关闭 282</p> <p>11.3 文件的读写 283</p> <p>11.3.1 字符的读写 283</p> <p>11.3.2 字符串的读写 287</p> <p>11.3.3 数据块的读写 291</p> <p>11.3.4 格式化读写函数 295</p> <p>11.4 文件定位与文件的随机读写 298</p> <p>11.4.1 文件头定位函数rewind() 299</p> <p>11.4.2 当前读写位置函数ftell() 300</p> <p>11.4.3 随机定位函数fseek() 301</p> <p>11.5 文件检测函数 304</p> <p>11.5.1 文件结束判断函数feof() 304</p> <p>11.5.2 文件读写错误检测函数ferror() 305</p> <p>11.5.3 文件错误标志清除函数clearerr() 307</p> <p>11.6 综合案例——文件的综合操作 308</p> <p>11.7 大神解惑 316</p> <p>11.8 跟我学上机 316</p> <p>第12章 未雨绸缪——编译与预处理指令 317</p> <p>12.1 预处理指令 318</p> <p>12.2 宏定义 318</p> <p>12.2.1 变量式宏定义 318</p> <p>12.2.2 宏定义的嵌套 321</p> <p>12.2.3 宏定义的作用范围 322</p> <p>12.2.4 带参数的宏定义 323</p> <p>12.2.5 宏定义的多行表示 327</p> <p>12.3 文件包含 327</p> <p>12.4 条件编译 329</p> <p>12.4.1 条件编译命令 329</p> <p>12.4.2 调试中使用DEBUG宏 332</p> <p>12.4.3 文件的嵌套包含与条件编译 333</p> <p>12.5 综合案例——求解圆、矩形以及三角形的面积 334</p> <p>12.6 大神解惑 335</p> <p>12.7 跟我学上机 335</p> <p>第13章 提高开发效率——使用库函数 337</p> <p>13.1 标准C库函数 338</p> <p>13.2 数学函数“math.h” 338</p> <p>13.2.1 求幂函数与开平方函数 338</p> <p>13.2.2 指数函数与对数函数 339</p> <p>13.2.3 三角函数 340</p> <p>13.2.4 **值函数 341</p> <p>13.2.5 取整函数与取余函数 342</p> <p>13.3 字符串函数“string.h” 343</p> <p>13.3.1 字符串长度函数 343</p> <p>13.3.2 字符串连接函数 344</p> <p>13.3.3 字符串复制函数 345</p> <p>13.3.4 字符串大小写转换函数 346</p> <p>13.3.5 字符串查找函数 347</p> <p>13.3.6 字符串比较函数 348</p> <p>13.4 字符函数“ctype.h” 349</p> <p>13.4.1 字符的类型判断函数 349</p> <p>13.4.2 字符大小写转换函数 351</p> <p>13.5 其他函数 352</p> <p>13.5.1 随机函数 352</p> <p>13.5.2 日期时间函数 353</p> <p>13.5.3 结束程序函数 354</p> <p>13.6 综合案例——创建报数游戏 355</p> <p>13.7 大神解惑 356</p> <p>13.8 跟我学上机 357</p> <p> </p> <p>第III篇 **应用</p> <p> </p> <p>第14章 内部数据操作——位运算 361</p> <p>14.1 位(bit)与字节(byte)的关系 362</p> <p>14.2 位运算符 362</p> <p>14.2.1 按位与运算符(&) 362</p> <p>14.2.2 按位或运算符(|) 363</p> <p>14.2.3 按位异或运算符(^) 364</p> <p>14.2.4 按位取反运算符(~) 365</p> <p>14.2.5 左移运算符(<<) 366</p> <p>14.2.6 右移运算符(>>) 367</p> <p>14.2.7 位复合赋值运算符 368</p> <p>14.3 循环移位 368</p> <p>14.3.1 循环左移 369</p> <p>14.3.2 循环右移 370</p> <p>14.4 位段 371</p> <p>14.4.1 位段的定义 371</p> <p>14.4.2 位段中数据的引用 371</p> <p>14.5 综合案例——将十进制数转换为二进制数 373</p> <p>14.6 大神解惑 374</p> <p>14.7 跟我学上机 375</p> <p>第15章 灵活定义数据类型——结构体、共用体和枚举 377</p> <p>15.1 结构体概述 378</p> <p>15.1.1 结构体类型 378</p> <p>15.1.2 定义结构体变量 379</p> <p>15.1.3 初始化结构体变量 381</p> <p>15.1.4 结构体变量的引用 381</p> <p>15.2 结构体数组 383</p> <p>15.2.1 定义结构体数组 383</p> <p>15.2.2 结构体数组的初始化 384</p> <p>15.2.3 结构体数组元素的引用 385</p> <p>15.2.4 结构体数组应用实例 386</p> <p>15.3 结构体指针 388</p> <p>15.3.1 指向结构体变量的指针 388</p> <p>15.3.2 指向结构体数组的指针 390</p> <p>15.3.3 结构体变量作为函数参数 391</p> <p>15.3.4 指向结构体变量的指针作为函数参数 393</p> <p>15.3.5 结构体作为函数的返回值 394</p> <p>15.4 共用体 395</p> <p>15.4.1 共用体的定义 395</p> <p>15.4.2 共用体变量的定义 396</p> <p>15.4.3 共用体变量的初始化以及引用 397</p> <p>15.5 枚举 399</p> <p>15.5.1 定义枚举类型 400</p> <p>15.5.2 定义枚举类型变量 400</p> <p>15.6 综合案例——创建学生信息结构体 402</p> <p>15.7 大神解惑 403</p> <p>15.8 跟我学上机 404</p> <p>第16章 动态存储分配—— 动态数据结构 405</p> <p>16.1 动态存储分配概述 406</p> <p>16.1.1 malloc()函数 406</p> <p>16.1.2 calloc()函数 407</p> <p>16.1.3 realloc()函数 408</p> <p>16.1.4 free()函数 409</p> <p>16.2 链表概述 410</p> <p>16.2.1 链表结点的定义 411</p> <p>16.2.2 链表的建立 411</p> <p>16.2.3 链表的遍历 412</p> <p>16.2.4 链表结点的插入 413</p> <p>16.2.5 链表结点的删除 417</p> <p>16.3 综合案例——综合应用链表 420</p> <p>16.4 大神解惑 421</p> <p>16.5 跟我学上机 422</p> <p>第17章 逻辑结构—— 数据结构进阶 423</p> <p>17.1 数据结构概述 424</p> <p>17.2 线性表 425</p> <p>17.3 栈 426</p> <p>17.3.1 栈的基本操作 427</p> <p>17.3.2 顺序栈 427</p> <p>17.3.3 链式栈 429</p> <p>17.4 队列 431</p> <p>17.4.1 队列的基本运算 432</p> <p>17.4.2 顺序队列 432</p> <p>17.4.3 链式队列 436</p> <p>17.5 二叉树 441</p> <p>17.5.1 二叉树的定义 441</p> <p>17.5.2 二叉树的遍历 442</p> <p>17.6 查找 442</p> <p>17.6.1 顺序查找 442</p> <p>17.6.2 折半查找 444</p> <p>17.7 综合案例——使用栈转换数据的进制 446</p> <p>17.8 大神解惑 447</p> <p>17.9 跟我学上机 448</p> <p>第18章 整理数据的妙招——排序 449</p> <p>18.1 排序概述 450</p> <p>18.2 插入排序 450</p> <p>18.2.1 直接插入排序 450</p> <p>18.2.2 希尔排序 452</p> <p>18.3 选择排序 453</p> <p>18.3.1 简单选择排序 453</p> <p>18.3.2 堆排序 455</p> <p>18.4 交换排序 457</p> <p>18.4.1 冒泡排序 457</p> <p>18.4.2 快速排序 458</p> <p>18.5 归并排序 460</p> <p>18.6 基数排序 462</p> <p>18.7 大神解惑 464</p> <p>18.8 跟我学上机 465</p> <p> </p> <p>第IV篇 项目开发实战</p> <p> </p> <p>第19章 项目实训1——开发日历查阅系统 469</p> <p>19.1 需求分析 470</p> <p>19.2 功能分析 470</p> <p>19.3 开发前准备工作 472</p> <p>19.4 系统代码编写 476</p> <p>19.4.1 查询年历函数showCalendarOfYear() 476</p> <p>19.4.2 查询月历函数showCalendarOfMonth() 477</p> <p>19.4.3 日期查询模块 478</p> <p>19.5 系统运行 485</p> <p>19.6 项目总结 486</p> <p>第20章 项目实训2—— 开发员工信息管理系统 487</p> <p>20.1 需求分析 488</p> <p>20.2 功能分析 489</p> <p>20.3 开发前准备工作 490</p> <p>20.4 系统代码编写 491</p> <p>20.4.1 main.c文件 491</p> <p>20.4.2 employee.c文件 495</p> <p>20.5 系统运行 499</p> <p>20.6 项目总结 500</p> <p>第21章 项目实训3——开发迷宫小游戏 501</p> <p>21.1 需求分析 502</p> <p>21.2 功能分析 502</p> <p>21.3 开发前准备工作 504</p> <p>21.4 系统代码编写 505</p> <p>21.4.1 main.c文件 505</p> <p>21.4.2 mazeGame.c文件 507</p> <p>21.5 系统运行 513</p> <p>21.6 项目总结 514</p>显示全部信息前 言前 言
“程序开发案例课堂”系列图书是专门为软件开发和数据库初学者量身定制的一套学习用书,整套书涵盖软件开发、数据库设计等方面,具有以下特点。
* 前沿科技
无论是软件开发还是数据库设计,我们都精选较为前沿或者用户群*大的领域推进,帮助读者认识和了解*新动态。
* 权威的作者团队
组织****实验室和**应用专家联手编著该套图书,融合丰富的教学经验与**的管理理念。
* 学习型案例设计
以技术的实际应用过程为主线,全程采用图解和同步多媒体结合的教学方式,生动、直观、全面地剖析使用过程中的各种应用技能,降低难度、提高学习效率。
为什么要写这样一本书<p>前 言</p> <p> “程序开发案例课堂”系列图书是专门为软件开发和数据库初学者量身定制的一套学习用书,整套书涵盖软件开发、数据库设计等方面,具有以下特点。</p> <p>* 前沿科技</p> <p> 无论是软件开发还是数据库设计,我们都精选较为前沿或者用户群*大的领域推进,帮助读者认识和了解*新动态。</p> <p>* 权威的作者团队</p> <p> 组织****实验室和**应用专家联手编著该套图书,融合丰富的教学经验与**的管理理念。</p> <p>* 学习型案例设计</p> <p> 以技术的实际应用过程为主线,全程采用图解和同步多媒体结合的教学方式,生动、直观、全面地剖析使用过程中的各种应用技能,降低难度、提高学习效率。</p> <p>为什么要写这样一本书</p> <p> C语言是一门历史悠久、博大精深的程序设计语言。它对计算机技术的发展起到了极其重要的促进作用,而且这种促进作用一直在持续并将继续持续下去。它从产生之时就肩负了很多重要使命,开发操作系统、开发编译器、开发驱动程序,几乎可以解决计算机中的大部分问题。C语言几乎是每一个致力于程序设计人员的必学语言。但从学习之初,很多C语言的初学者都苦于找不到一本通俗易懂、容易入门和案例实用的参考书。通过本书的案例实训,读者可以很快地上手流行的工具,提高职业技能,从而帮助解决公司与求职者的双重需求问题。</p> <p>本书特色</p> <p>* 零基础、入门级的讲解</p> <p> 无论您是否从事计算机相关行业,无论您是否接触过C语言编程,都能从本书中找到*佳起点。</p> <p>* 超多、实用、专业的范例和项目</p> <p> 本书在编排上紧密结合深入学习C语言编程技术的先后过程,从C语言的基本语法开始,逐步带领大家深入地学习各种应用技巧,侧重实战技能,使用简单易懂的实际案例进行分析和操作指导,让读者读起来简明轻松,操作起来有章可循。</p> <p>* 随时检测自己的学习成果</p> <p> 每章首页中均提供了学习目标,以指导读者**学习及学后检查。</p> <p> 大部分章节*后的“跟我学上机”板块,均根据本章内容精选而成,读者可以随时检测自己的学习成果和实战能力,做到融会贯通。</p> <p>* 细致入微、贴心提示</p> <p> 本书在讲解过程中,在各章中使用了“注意”和“提示”等小贴士,使读者在学习过程中更清楚地了解相关操作、理解相关概念,并轻松掌握各种操作技巧。</p> <p>* 专业创作团队和技术支持</p> <p> 无论您在学习过程中遇到任何问题,均可加入QQ群(案例课堂VIP)进行提问,专家人员会在线答疑。</p> <p>超值赠送资源</p> <p>* 全程同步教学录像</p> <p> 涵盖本书所有知识点,详细讲解每个实例及项目的过程及技术关键点,比看书更轻松地掌握书中所有的C语言编程知识,而且扩展的讲解部分可以使您得到比书中更多的收获。</p> <p>* 超多容量**资源大放送</p> <p> 赠送大量**资源,包括本书实例源文件、精美教学幻灯片、精选本书教学视频、C语言标准库函数查询手册、C程序员职业规划、全国计算机等级考试二级C考试大纲及应试技巧、C程序员面试技巧、C常见面试题、C常见错误及解决方案、C开发经验及技巧大汇总等。读者可以通过QQ群(案例课堂VIP)获取赠送资源,还可以通过配套网站下载赠送资源。</p> <p>读者对象</p> <p>* 没有任何C语言编程基础的初学者;</p> <p>* 有一定的C语言编程基础,想精通C语言开发的人员;</p> <p>* 有一定的C语言基础,没有项目经验的人员;</p> <p>* 正在进行毕业设计的学生;</p> <p>* 大专院校及培训学校的老师和学生。</p> <p>创作团队</p> <p> 本书由刘春茂和李琪编著,参加编写的人员还有蒲娟、刘玉萍、裴雨龙、展娜娜、周佳、付红、李园、郭广新、侯永岗、王攀登、刘海松、孙若淞、王月娇、包慧利、陈伟光、胡同夫、王伟、梁云梁和周浩浩。在编写过程中,我们尽所能地将*好的讲解呈现给读者,但也难免有疏漏和不妥之处,敬请不吝指正。</p> <p> </p> <p> 编 者 </p>显示全部信息免费在线读第3章 程序中的数据种类——数据类型
在C语言中,数据的基本类型一般分为整型与浮点型两种。在本章中,将对整型与浮点型两种基本数据类型进行讲解。
本章目标(已掌握的在方框中打钩)
了解什么是数制
掌握数制之间的转换
了解整型数据的存放形式
了解什么是整型变量的溢出
了解浮点型数据的存放形式
了解什么是浮点型数据的有效数字
了解字符型数据的存放形式
掌握如何对变量进行类型转换
3.1 数 制
生活中在计算比较复杂的运算时,人们常常使用计算机,但是实际上计算机的内部并不是使用人们常用的十进制,它的数据是通过0和1表示的,也就是二进制。当人们将十进制数输入计算机后,它通过转换为二进制进行运算,再把结果转换为十进制呈现。生活中使用十进制,逢十进一,在计算机中使用二进制,逢二进一,这种进位计数制的计数规则,就被称为数制。常见的数制有二进制、八进制和十六进制。
3.1.1 二进制
二进制数制的计数规则是逢二进一。在实际生活中所使用的计算机就是使用二进制的数制系统。其原因是计算机中使用的晶体管就好比是一个开关,使用0表示关闭,1表示开启,以这样的方式从0到1来计数。当然,计算机中不可能只存在两个晶体管,要进行更为复杂的运算,将会需要更多。