logo

只搜索本站

《C语言点滴》网站

前言         读者评价     目录     第三章     第十四章    扩展内容     参考文献     购买

目 录

1章 程序猿 && 程序媛... 1

1.1  装备篇... 1

1.1.1  衣着... 1

1.1.2  键盘和鼠标... 2

1.1.3  电脑... 4

1.2  程序猿和互联网... 6

1.2.1  搜索引擎... 6

1.2.2  通信... 9

1.2.3  社交... 12

1.2.4  论坛与博客... 14

1.2.5  夺宝奇兵... 17

1.2.6  互联网精神... 19

1.3  熬夜指南... 20

1.4  程序=数据结构+算法... 22

1.4.1  数据结构... 23

1.4.2  算法... 24

1.5  内功修炼... 28

1.5.1  数学... 28

1.5.2  软件工程... 31

2章 编程基础知识... 33

2.1  编程语言... 33

2.1.1  C语言的昨天... 34

2.1.2  C语言的今天... 35

2.2  如何学好C语言... 38

2.3  开发平台... 40

2.4  开发工具... 42

2.4.1  集成开发工具... 42

2.4.2  文档生成工具... 45

2.4.3  版本控制工具... 47

2.4.4  推荐开发流程... 49

2.5  编程风格... 50

2.5.1  变量名... 51

2.5.2  缩进和大括号匹配... 52

2.5.3  函数的长度和分布... 53

2.5.4  编程字体... 54

2.5.5  风格和重构... 55

3章 数据类型... 58

3.1  原码、反码和补码的解释... 58

3.2  整型数的溢出... 62

3.3  溢出深入分析... 64

3.3.1  溢出的定义... 64

3.3.2  溢出的边界... 65

3.3.3  溢出的危害... 66

3.3.4  避免溢出的方法... 66

3.4  无符号数... 67

3.5  intchar的关系... 70

3.5.1  char就是short short 70

3.5.2  char的符号... 71

3.6  浮点数的有效位... 72

3.7  判断两个浮点数相等... 75

3.8  常量与常量后缀... 76

3.9  sizeof运算符... 77

3.9.1  sizeof返回值... 77

3.9.2  sizeof的用处... 77

3.9.3  sizeof(指针)和sizeof(数组)的区别... 78

3.10  本章小结... 79

4章 表达式和运算符... 81

4.1  自增(减)运算符... 81

4.2  左值和右值... 83

4.3  布尔值... 84

4.4  数据类型转换... 85

4.5  写表达式的注意事项... 88

4.5.1  用括号来确定运算优先级... 88

4.5.2  避免运算顺序问题... 89

4.6  有趣的模运算%.. 90

4.6.1  模运算的基本知识和用法... 90

4.6.2  模运算和哈希(Hash)结构... 91

4.7  位运算... 94

4.8  本章小结... 96

5章 输入输出... 97

5.1  ... 97

5.2  stdinstdoutstderr 99

5.3  单个字符输入输出... 100

5.3.1  字符输入输出函数... 101

5.3.2  getch函数... 103

5.4  字符串输胧涑�... 104

5.5  格式化输入输出... 105

5.5.1  scanf函数的基本知识... 105

5.5.2  scanf函数的输入特点... 107

5.5.3  scanf函数处理字符、数字和字符串... 109

5.5.4  scanf函数注意事项... 111

5.5.5  scanf函数总结... 114

5.5.6  格式化输出printf函数... 116

5.5.7  选择合适的格式控制符... 117

5.6  输入规则全真七子... 118

5.7  字符串的安全输入方法... 119

5.8  本章小结... 121

6章 控制结构... 122

6.1  控制结构常见错误... 122

6.2  语句块... 124

6.3  for循环... 125

6.4  结构化编程及goto语句... 127

6.5  假死现象... 129

6.6  本章小结... 130

7章 函数、模块和宏定义... 132

7.1  预处理指令... 132

7.1.1  文件包含... 132

7.1.2  条件编译... 133

7.1.3  宏替换... 134

7.2  main函数... 135

7.3  命令行解析... 138

7.4  staticconst 139

7.5  编译和链接... 142

7.6  声明和定义... 144

7.7  头文件... 145

7.8  头文件的重复包含... 147

7.9  多文件项目... 150

7.10  CC++语言混合项目... 152

7.11  本章小结... 154

8章 库函数... 155

8.1  数学相关... 156

8.2  字符串相关... 156

8.3  字符和数字相互转换... 159

8.4  时间函数... 160

8.5  随机数探讨... 162

8.6  系统相关函数... 165

8.7  库函数使用建议... 166

8.8  本章小结... 167

9章 数组... 169

9.1  数组的基本知识... 169

9.2  数组初始化和数组之间赋值... 170

9.3  数组与函数... 171

9.4  数组越界... 172

9.5  debugrelease的区别... 173

9.6  二维数组... 174

9.6.1  二维数组的定义和初始化... 175

9.6.2  二维数组的访问... 176

9.7  本章小结... 177

10章 指针... 178

10.1  指针的基本知识和定义... 179

10.2  指针类型和指针指向的类型... 181

10.3  指针定义中常见错误... 183

10.3.1  野指针... 183

10.3.2  指针赋值原则... 184

10.4  voidNULL. 185

10.4.1  void. 185

10.4.2  NULL. 187

10.5  指针和数组的关系初探... 188

10.6  指针与数组关系的再探... 192

10.6.1  四个概念的联系... 193

10.6.2  指针型指针和指针数组... 195

10.6.3  数组指针和二维数组... 198

10.7  C语言的内存映像... 200

10.8  动态内存分配... 202

10.8.1  典型用法... 202

10.8.2  malloc函数和calloc函数... 203

10.8.3  realloc函数... 204

10.8.4  内存释放free. 206

10.8.5  内存操作函数... 208

10.8.6  内存使用的效率建议... 209

10.9  动态数组... 210

10.9.1  动态一维数组... 210

10.9.2  动态二维数组... 211

10.10  字符串... 212

10.11  函数和指针... 215

10.11.1  用指针类型作为函数形参... 215

10.11.2  函数返回指针类型... 217

10.12  函数指针... 219

10.12.1  函数指针基本知识... 219

10.12.2  回调函数... 220

10.12.3  函数指针作用的深度思考... 222

10.13  复杂声明... 227

10.13.1  复杂声明分析... 227

10.13.2  返回函数指针的函数... 230

10.13.3  复杂声明定义... 232

10.13.4  复杂声明用于强制类型转换... 233

10.14  本章小结... 234

11章 结构体... 236

11.1  自定义数据类型... 236

11.2  定义一个结构体变量的三种方法... 237

11.3  结构体中的“洞”... 239

11.4  结构体的赋值和比较... 240

11.5  结构体的读写... 242

11.6  函数与结构体... 243

11.7  枚举... 244

11.8  本章小结... 245

12章 文件... 247

12.1  文件基础知识... 247

12.1.1  文件指针的解释... 247

12.1.2  路径名... 248

12.1.3  r+w+的区别... 249

12.2  同时读写... 249

12.3  断行标志符... 251

12.4  文本格式和二进制格式... 254

12.5  文件末尾与feof函数... 256

12.5.1  feof函数的基本知识... 256

12.5.2  正确使用feof函数... 260

12.6  文件读写的错误处理... 261

12.7  本章小结... 262

13章 Bug错误及调试... 264

13.1  Bug、错误(error)及异常(exception... 265

13.1.1  三个概念的区别... 265

13.1.2  Debug和错误处理... 266

13.2  Bug以及Debug. 267

13.2.1  Bug的分类... 267

13.2.2  bug的避免及发现... 269

13.2.3  常见的Debug的工具和方法... 274

13.2.4  程序员和bug. 276

13.3  C语言中的错误处理机制... 278

13.3.1  错误的检测... 278

13.3.2  错误的处理方法... 280

13.4  面向对象语言中的异常处理机制... 281

13.4.1  返回值返回错误的缺点... 281

13.4.2  异常处理简介... 283

13.4.3  异常处理一般策略... 285

13.5  本章小结... 287

14章 后话... 289

14.1  程序的效率... 289

14.2  C语言的使用原则... 291

14.3  加深对C语言的理解... 292

14.4  CC++以及C#java... 294

14.5  我们现在在哪里?... 296

14.6  计算机领域的继续学习... 298

参考文献... 301