C语言本质

978-7-115-65837-1
作者: 陈鹏
译者:
编辑: 邓昱洲
分类: 其他

图书目录:

目 录

第01章 绪论001

1.1.C语言初识 002

1.2.C语言的发展 003

1.3.C语言的学习 004

习题 005

第02章 C语言程序基础008

2.1.数据类型与变量 009

2.1.1.字母、数字和特殊符号 009

2.1.2.常量、变量和关键字 009

2.1.3.数据类型 011

2.1.4.转义字符 013

2.1.5.token 014

2.2.输入/输出 014

2.2.1.字符数据输入与输出 015

2.2.2.格式输出与输入 015

2.3.运算符与表达式 019

2.3.1.赋值运算符和赋值表达式 019

2.3.2.逗号运算符和逗号表达式 022

2.3.3.算术运算符和算术表达式 022

2.4.完整的C语言程序 023

本章小结 025

习题 026

第03章 选择结构程序设计031

3.1.选择结构和条件判断 032

3.2.关系运算符和表达式 034

3.3.逻辑运算符和表达式 034

3.4.if语句 037

3.4.1.if语句的3种形式 037

3.4.2.if语句的嵌套 040

3.5.条件运算符和条件表达式 045

3.6.switch语句 048

3.7.计算机中的数 051

3.7.1.类型转换问题 051

3.7.2.浮点数的比较问题 054

本章小结 057

习题 058

第04章 循环结构程序设计062

4.1.概述 063

4.2.while语句 063

4.3.do-while语句 066

4.4.for语句 068

4.5.break和continue语句 074

本章小结 080

习题 080

第05章 利用数组处理批量数据086

5.1.概述 087

5.2.一维数组 087

5.2.1.一维数组的定义 087

5.2.2.一维数组元素的引用 088

5.2.3.一维数组的初始化 089

5.2.4.内存中的数组元素 090

5.2.5.越界检查 090

5.3.二维数组 091

5.3.1.二维数组的定义 091

5.3.2.数组元素的引用 092

5.3.3.二维数组的初始化 092

5.3.4.二维数组的内存图 094

5.4.字符数组 100

5.4.1.字符数组的定义 100

5.4.2.字符数组的初始化 101

5.4.3.字符串和结束标志 101

5.4.4.字符数组的输入/输出 102

5.4.5.字符串处理函数 102

本章小结 110

习题 110

第06章 函数115

6.1.概述 116

6.2.函数定义 118

6.2.1.无参函数与有参函数的定义 118

6.2.2.函数的形参、实参和函数的值 119

6.2.3.函数的声明与函数原型 122

6.3.函数的调用 124

6.3.1.函数调用的方式 124

6.3.2.函数的嵌套调用 125

6.4.函数调用过程中的栈帧分析 128

6.4.1.栈 129

6.4.2.栈帧 130

6.4.3.函数调用过程分析 131

6.5.数组作函数参数 132

6.6.函数的递归调用 136

6.7.局部变量和全局变量 146

6.7.1.局部变量 146

6.7.2.全局变量 147

本章小结 150

习题 150

第07章 再谈数据类型与变量155

7.1.信息的表征与处理 156

7.1.1.二进制表征 156

7.1.2.位运算 161

7.2.不同存储类型的变量 168

7.2.1.自动存储类型变量 169

7.2.2.寄存器存储类型变量 170

7.2.3.静态存储类型变量 172

7.2.4.外部类型存储变量 176

7.2.5.变量的其他修饰符 179

7.3.结构体 180

7.3.1.结构体的定义与使用 180

7.3.2.位域 185

7.4.共用体 188

7.5.枚举类型 192

本章小结 197

习题 197

第08章 指针204

8.1.指针概述 205

8.1.1.变量、地址和值 205

8.1.2.指针变量定义与指针运算符 206

8.2.传值与传地址 209

8.3.数组与指针 216

8.3.1.指针变量运算 216

8.3.2.通过指针引用数组元素 217

8.3.3.指向多维数组的指针和指针变量 224

8.4.动态内存分配 229

8.4.1.静态内存布局 231

8.4.2.动态内存布局 237

8.4.3.动态内存分配的问题 244

8.5.自指结构 251

8.5.1.链表 251

8.5.2.二叉树 255

8.6.指向函数的指针 261

8.6.1.回调函数 262

8.6.2.跳转表 263

本章小结 266

习题 266

第09章 文件272

9.1.概述 273

9.2.文件指针 273

9.3.文件的操作 274

9.3.1.文件的打开与关闭 274

9.3.2.文件读写 276

9.3.3.文件检测函数 284

9.4.一个简单的聊天机器人程序 286

9.4.1.自定义头文件 286

9.4.2.初识C程序的编译过程 288

9.4.3.一个简单的聊天机器人程序 290

本章小结 297

习题 297

第 10章 深入理解Hello World300

10.1.编译的工具与流程 302

10.1.1.GCC编译器核心 302

10.1.2.Binutils工具集 303

10.1.3.glibc库 303

10.1.4.GCC编译流程 304

10.2.预处理阶段 304

10.3.编译阶段 307

10.4.汇编阶段 313

10.5.链接阶段 315

本章小结 323

习题 323

第 11章 结语327

附录A.ASCII码表 330

附录B.C语言运算符优先级 333

附录C.C语言常用库函数 336

附录D.C语言类型转换 344

附录E.C语言的调试 349

参考阅读 352

跋 353

详情

本书主要介绍C语言的语法与语义,包括数据类型、变量、控制语句、循环语句、数组、函数、指针等,以及如何使用C语言编写一些常规程序。同时,本书对函数调用过程、内存管理、程序运行等知识展开介绍,帮助读者初步掌握计算机体系结构方面的知识,了解在操作系统环境下程序的基本内存布局、大致运行过程等。 本书适合高校计算机相关专业的本科生和职业院校的学生阅读、学习,也可供对C语言感兴趣的读者参考。

图书摘要

相关图书

Agent设计模式 图解可复用智能体架构
Agent设计模式 图解可复用智能体架构
Skills+OpenClaw:从零打造个性化AI助理
Skills+OpenClaw:从零打造个性化AI助理
AI Agent 开发实战:MCP+A2A+LangGraph 驱动的智能体全流程开发
AI Agent 开发实战:MCP+A2A+LangGraph 驱动的智能体全流程开发
Coze入门:7天玩转扣子智能体
Coze入门:7天玩转扣子智能体
计算流体力学大串讲轻松解锁CFD     从公式到代码的奇妙之旅
计算流体力学大串讲轻松解锁CFD 从公式到代码的奇妙之旅
数据可视化分析与实践
数据可视化分析与实践

相关文章

相关课程