![]()
内容推荐 本书以“学完C语言之后知道能做什么”为编写目标,共包括9章,分别是Linux C语言程序设计、C语言基础Ⅰ、C语言基础Ⅱ、链表、C标准库、Linux系统调用、Socket编程、Pthreads编程和GTK图形界面编程。其中,C语言基础Ⅰ、C语言基础Ⅱ、C标准库和Linux系统调用为本书最基础、最重要的四章,全面介绍了标准C语言的基本语法和Linux系统调用编程。其他章节告诉读者C语言具体能做什么。本书坚守“空谈无用,给我看代码”(Linux之父Linus Torvalds所言)的信条,通过正确无误的示例代码向读者展示C语言的具体用法。本书内容实用、结构清晰、图文并茂,力求让读者可以饶有兴趣地学习Linux C语言编程。 本书适合作为高等学校各专业的C语言程序设计课程教材,也可作为从事计算机相关工作的科技人员、计算机爱好者及各类自学人员的参考书。 目录 第1章 Linux C语言程序设计 1.1 C语言 1.1.1 C语言简介 1.1.2 C语言发展历史 1.1.3 C语言特点 1.2 Linux简介 1.3 Linux C语言程序设计简介 1.3.1 Linux应用编程、系统编程和内核编程 1.3.2 Linux图形界面编程 1.4 Linux C语言编程环境 1.4.1 安装Ubuntu Linux虚拟机 1.4.2 gedit、vim和nano 1.4.3 C语言编译器及集成开发环境 1.4.4 编写Hello World程序 1.5 使用gcc编译程序 1.6 使用make和Makefile构建程序 1.7 使用cmake和CMakeLists.txt构建程序 1.8 完整的编译过程 习题 第2章 C语言基础Ⅰ 2.1 数据 2.1.1 数据类型 2.1.2 常量 2.1.3 变量和标识符 2.1.4 数据类型转换 2.1.5 转义字符(转义序列) 2.2 运算符 2.2.1 运算符和表达式 2.2.2 算术运算 2.2.3 赋值运算 2.2.4 关系运算 2.2.5 逻辑运算符 2.2.6 条件运算符 2.2.7 逗号运算符 2.2.8 sizeof运算符与typedef类型声明 2.2.9 位运算 2.2.10 复合赋值运算符 2.3 结构化程序设计 2.3.1 顺序结构 2.3.2 分支结构 2.3.3 循环结构 2.4 输入/输出 2.4.1 标准输出函数printf 2.4.2 标准输入函数scanf 2.5 数组 2.5.1 一维数组 2.5.2 二维数组 2.5.3 一维字符数组 2.5.4 一维字符数组的输入/输出 2.5.5 字符串处理函数 2.5.6 二维字符数组 2.6 习题 第3章 C语言基础Ⅱ 3.1 函数 3.1.1 函数定义和声明 3.1.2 函数调用及参数传递 3.1.3 函数的嵌套与递归 3.1.4 回调函数 3.1.5 return语句 3.1.6 全局变量、局部变量和作用域 3.1.7 变量的存储类别及生存期 3.1.8 内部函数和外部函数 3.2 预处理 3.2.1 预处理的步骤 3.2.2 宏定义和内联函数 3.2.3 条件编译 3.2.4 文件包含 3.3 指针 3.3.1 指针的基本运算 3.3.2 指针与数组 3.3.3 指针与const限定符 3.3.4 指针与字符串 3.3.5 指针函数与函数指针 3.3.6 再讲回调函数 3.3.7 可变参数 3.3.8 二级指针与多级指针 3.3.9 指针数组和数组指针 3.3.10 动态内存管理 3.4 结构体、共用体和枚举 3.4.1 结构体 3.4.2 位域 3.4.3 共用体 3.4.4 枚举 3.5 零长数组、变长数组和动态数组 3.6 编码风格与缩进工具indent 3.7 习题 第4章 链表 4.1 单向链表 4.1.1 单链表结构与链表结点类型 4.1.2 创建单链表 4.1.3 插入结点 4.1.4 删除结点 4.1.5 读取结点 4.1.6 查找结点 4.1.7 打印单链表 4.1.8 逆转单链表 4.1.9 构建单循环链表 4.1.10 销毁单链表 4.1.11 主函数及测试结果 4.2 双向链表 4.2.1 双链表结构与链表结点类型 4.2.2 创建双链表 4.2.3 插入结点 4.2.4 删除结点 4.2.5 读取结点 4.2.6 查找结点 4.2.7 打印双链表 4.2.8 逆转双链表 4.2.9 构建双循环链表 4.2.10 销毁双循环链表 4.2.11 主函数及测试结果 4.3 内核链表 4.3.1 list_head 4.3.2 offsetof、container_of和list_entry 4.3.3 链表初始化 4.3.4 插入结点 4.3.5 删除结点 4.3.6 替换结点 4.3.7 移动结点 4.3.8 判断函数 4.3.9 合并结点 4.3.10 遍历链表 4.3.11 用户空间使用内核链表 4.4 习题 第5章 C标准库 5.1 C语言标准和glibc 5.2 标准输入/输出函数库(stdio.h) 5.2.1 fopen/fclose 5.2.2 stdin/stdout/stderr 5.2.3 errno与perror函数 5.2.4 以字节为单位的I/O函数 5.2.5 以字符串为单位的I/O函数 5.2.6 以记录为单位的I/O函数 5.2.7 格式化读写文件 5.2.8 操作读写位置的函数 5.2.9 FILE结构体及I/O缓冲区 5.3 标准工具函数库(stdlib.h) 5.3.1 动态内存分配与释放 5.3.2 整数算术 5.3.3 随机数 5.3.4 数值字符串转换 5.3.5 宽字符和多字节字符转换 5.4 字符串处理函数库(string.h) 5.4.1 初始化字符串 5.4.2 取字符串的长度 5.4.3 复制字符串 5.4.4 比较字符串 5.4.5 搜索字符串 5.4.6 连接字符串 5.4.7 分割字符串 5.4.8 本地函数 5.5 字符处理函数库(ctype.h) 5.6 数学函数库(math.h) 5.7 学生信息管理系统的设计与实现 5.7.1 系统设计要求 5.7.2 系统设计 5.7.3 函数设计 5.7.4 参考程序 5.7.5 运行 |