手把手教你学C语言

手把手教你学C语言

作品简介

本书是学习C语言的入门书籍,内容非常全面,包含C语言基础知识、流程控制、数组、函数、指针、字符串、结构体、链表、文件操作、栈和队列、自定义头文件、多文件编译、Linux下C文件的编译和链接、链接库等知识点。本书并不单纯讲解理论,还配有大量的程序,每个知识点都结合程序解讲。这样读者理解起来更加容易,也能够在遇到实际问题时进行编程。

本书主要针对学习C语言的初学者,即使完全没有编程基础,也能够通过阅读本书快速掌握C语言的核心知识。

作品目录

  1. 前言
  2. 第1章 为什么要学习C语言
  3. 1.1 C的起源和发展
  4. 1.2 C的特点
  5. 1.3 C的应用领域
  6. 1.4 C的重要性
  7. 1.5 本章总结
  8. 第2章 怎样学习C语言
  9. 2.1 学习C语言的心得
  10. 2.2 学习C语言的目标
  11. 2.3 常见问题答疑
  12. 2.4 本章总结
  13. 第3章 Microsoft Visual C++6.0的使用
  14. 3.1 为什么要学习VC++6.0
  15. 3.2 如何创建编程文件
  16. 3.3 编写一个最简单的程序
  17. 3.4 要养成时刻保存的习惯
  18. 3.5 编译—链接—执行
  19. 3.6 怎样运行第二个程序
  20. 3.7 编译—链接—执行时保存路径下的文件夹有什么变化
  21. 3.8 如何编写多文件程序
  22. 3.9 如何用VC++6.0调试程序
  23. 3.10 本章总结
  24. 第4章 从一个程序走进C语言
  25. 第5章 预备知识
  26. 5.1 CPU、内存、硬盘、显卡、主板、显示器之间的关系
  27. 5.2 HelloWorld程序是如何运行起来的
  28. 5.3 字节
  29. 5.4 进制
  30. 5.5 数据类型
  31. 5.6 常量
  32. 5.7 常量是以什么样的二进制代码存储在计算机中的
  33. 5.8 补码
  34. 5.9 什么是ASCII
  35. 5.10 变量
  36. 5.11 各类型数据之间的混合运算
  37. 5.12 代码规范化
  38. 5.13 本章总结
  39. 第6章 printf的用法
  40. 6.1 printf的格式
  41. 6.2 输出控制符
  42. 6.3 %x、%X、%#x、%#X的区别
  43. 6.4 如何输出“%d”、“\”和双引号
  44. 6.5 本章总结
  45. 第7章 scanf的用法
  46. 7.1 概述
  47. 7.2 使用scanf的注意事项
  48. 7.3 本章总结
  49. 第8章 运算符和表达式
  50. 8.1 算术运算符
  51. 8.2 关系运算符
  52. 8.3 逻辑运算符
  53. 8.4 赋值运算符
  54. 8.5 运算符的优先级
  55. 8.6 本章总结
  56. 第9章 选择结构程序设计
  57. 9.1 流程控制
  58. 9.2 选择执行的定义和分类
  59. 9.3 if语句
  60. 9.4 switch语句
  61. 9.5 本章总结
  62. 第10章 循环控制
  63. 10.1 循环执行的定义和分类
  64. 10.2 for循环
  65. 10.3 while循环
  66. 10.4 清空输入缓冲区
  67. 10.5 本章总结
  68. 第11章 数组
  69. 11.1 一维数组的使用
  70. 11.2 数组倒置算法
  71. 11.3 数组查找算法
  72. 11.4 数组插入、删除算法
  73. 11.5 数组排序算法
  74. 11.6 二维数组的使用
  75. 11.7 本章总结
  76. 第12章 函数
  77. 12.1 概述
  78. 12.2 为什么需要函数
  79. 12.3 有参函数
  80. 12.4 函数的递归调用
  81. 12.5 数组名作为函数参数
  82. 12.6 变量的作用域和存储方式
  83. 12.7 本章总结
  84. 第13章 指针
  85. 13.1 指针的重要性
  86. 13.2 地址和指针的概念
  87. 13.3 指针和指针变量
  88. 13.4 指针作为函数参数
  89. 13.5 指针和一维数组的关系
  90. 13.6 函数、数组、指针相结合的程序练习
  91. 13.7 动态内存分配
  92. 13.8 通过指针引用二维数组
  93. 13.9 函数指针
  94. 13.10 本章总结
  95. 第14章 字符串
  96. 14.1 字符串常量
  97. 14.2 不能将一个字符串常量赋给一个字符变量
  98. 14.3 字符数组
  99. 14.4 字符串与指针
  100. 14.5 如何用scanf给字符指针变量所指向的内存单元初始化
  101. 14.6 字符串处理函数
  102. 14.7 本章总结
  103. 第15章 自定义数据类型——结构体
  104. 15.1 为什么需要结构体
  105. 15.2 定义和使用结构体变量
  106. 15.3 结构体数组
  107. 15.4 结构体指针
  108. 15.5 结构体变量和结构体指针变量作为函数参数
  109. 15.6 练习——动态构造存放学生信息的结构体数组
  110. 15.7 本章总结
  111. 第16章 链表
  112. 16.1 为什么要学习链表
  113. 16.2 链表的缺点
  114. 16.3 链表相关术语
  115. 16.4 链表的定义和分类
  116. 16.5 编写一个链表程序
  117. 16.6 练习——插入结点
  118. 16.7 练习——删除结点
  119. 16.8 练习——销毁链表
  120. 16.9 链表排序算法
  121. 16.10 单循环链表
  122. 16.11 双向链表
  123. 16.12 typedef的用法
  124. 16.13 本章总结
  125. 第17章 栈
  126. 17.1 内存的分区
  127. 17.2 线性表
  128. 17.3 栈的定义
  129. 17.4 栈的基本操作
  130. 17.5 链栈程序演示
  131. 17.6 栈的应用
  132. 17.7 本章总结
  133. 第18章 队列
  134. 18.1 队列的定义
  135. 18.2 顺序队列
  136. 18.3 链式队列的基本操作
  137. 18.4 链式队列程序演示
  138. 18.5 队列的应用
  139. 18.6 本章总结
  140. 第19章 文件操作
  141. 19.1 文件概述
  142. 19.2 文件类型指针变量
  143. 19.3 文件的打开
  144. 19.4 文件的关闭
  145. 19.5 文件读写函数概述
  146. 19.6 fgetc()和fputc()
  147. 19.7 fgets()和fputs()
  148. 19.8 移动文件位置指针:fseek()和rewind()
  149. 19.9 格式化读写函数:fprintf()和fscanf()
  150. 19.10 数据块读写函数:fread()和fwrite()
  151. 19.11 本章总结
  152. 第20章 头文件
  153. 20.1 程序是如何编译生成可执行文件的
  154. 20.2 概述
  155. 20.3 “#include<>”和“#include""”的区别
  156. 20.4 如何自定义头文件
  157. 20.5 本章总结
  158. 第21章 位操作运算符
  159. 21.1 按位与(&)
  160. 21.2 按位或(|)
  161. 21.3 按位异或(^)
  162. 21.4 左移运算符(<<)
  163. 21.5 右移运算符(>>)
  164. 21.6 本章总结
  165. 附录A gcc编译工具的使用
  166. 附录B make自动化编译工具的使用
  167. 附录C gdb调试工具的使用
  168. 附录D 链接库
  169. 附录E 运算符的优先级和结合性
  170. 常用ASCII码表
载入中

大家都喜欢