作品简介

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

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

作品目录

  • 前言
  • 第1章 为什么要学习C语言
  • 1.1 C的起源和发展
  • 1.2 C的特点
  • 1.3 C的应用领域
  • 1.4 C的重要性
  • 1.5 本章总结
  • 第2章 怎样学习C语言
  • 2.1 学习C语言的心得
  • 2.2 学习C语言的目标
  • 2.3 常见问题答疑
  • 2.4 本章总结
  • 第3章 Microsoft Visual C++6.0的使用
  • 3.1 为什么要学习VC++6.0
  • 3.2 如何创建编程文件
  • 3.3 编写一个最简单的程序
  • 3.4 要养成时刻保存的习惯
  • 3.5 编译—链接—执行
  • 3.6 怎样运行第二个程序
  • 3.7 编译—链接—执行时保存路径下的文件夹有什么变化
  • 3.8 如何编写多文件程序
  • 3.9 如何用VC++6.0调试程序
  • 3.10 本章总结
  • 第4章 从一个程序走进C语言
  • 第5章 预备知识
  • 5.1 CPU、内存、硬盘、显卡、主板、显示器之间的关系
  • 5.2 HelloWorld程序是如何运行起来的
  • 5.3 字节
  • 5.4 进制
  • 5.5 数据类型
  • 5.6 常量
  • 5.7 常量是以什么样的二进制代码存储在计算机中的
  • 5.8 补码
  • 5.9 什么是ASCII
  • 5.10 变量
  • 5.11 各类型数据之间的混合运算
  • 5.12 代码规范化
  • 5.13 本章总结
  • 第6章 printf的用法
  • 6.1 printf的格式
  • 6.2 输出控制符
  • 6.3 %x、%X、%#x、%#X的区别
  • 6.4 如何输出“%d”、“”和双引号
  • 6.5 本章总结
  • 第7章 scanf的用法
  • 7.1 概述
  • 7.2 使用scanf的注意事项
  • 7.3 本章总结
  • 第8章 运算符和表达式
  • 8.1 算术运算符
  • 8.2 关系运算符
  • 8.3 逻辑运算符
  • 8.4 赋值运算符
  • 8.5 运算符的优先级
  • 8.6 本章总结
  • 第9章 选择结构程序设计
  • 9.1 流程控制
  • 9.2 选择执行的定义和分类
  • 9.3 if语句
  • 9.4 switch语句
  • 9.5 本章总结
  • 第10章 循环控制
  • 10.1 循环执行的定义和分类
  • 10.2 for循环
  • 10.3 while循环
  • 10.4 清空输入缓冲区
  • 10.5 本章总结
  • 第11章 数组
  • 11.1 一维数组的使用
  • 11.2 数组倒置算法
  • 11.3 数组查找算法
  • 11.4 数组插入、删除算法
  • 11.5 数组排序算法
  • 11.6 二维数组的使用
  • 11.7 本章总结
  • 第12章 函数
  • 12.1 概述
  • 12.2 为什么需要函数
  • 12.3 有参函数
  • 12.4 函数的递归调用
  • 12.5 数组名作为函数参数
  • 12.6 变量的作用域和存储方式
  • 12.7 本章总结
  • 第13章 指针
  • 13.1 指针的重要性
  • 13.2 地址和指针的概念
  • 13.3 指针和指针变量
  • 13.4 指针作为函数参数
  • 13.5 指针和一维数组的关系
  • 13.6 函数、数组、指针相结合的程序练习
  • 13.7 动态内存分配
  • 13.8 通过指针引用二维数组
  • 13.9 函数指针
  • 13.10 本章总结
  • 第14章 字符串
  • 14.1 字符串常量
  • 14.2 不能将一个字符串常量赋给一个字符变量
  • 14.3 字符数组
  • 14.4 字符串与指针
  • 14.5 如何用scanf给字符指针变量所指向的内存单元初始化
  • 14.6 字符串处理函数
  • 14.7 本章总结
  • 第15章 自定义数据类型——结构体
  • 15.1 为什么需要结构体
  • 15.2 定义和使用结构体变量
  • 15.3 结构体数组
  • 15.4 结构体指针
  • 15.5 结构体变量和结构体指针变量作为函数参数
  • 15.6 练习——动态构造存放学生信息的结构体数组
  • 15.7 本章总结
  • 第16章 链表
  • 16.1 为什么要学习链表
  • 16.2 链表的缺点
  • 16.3 链表相关术语
  • 16.4 链表的定义和分类
  • 16.5 编写一个链表程序
  • 16.6 练习——插入结点
  • 16.7 练习——删除结点
  • 16.8 练习——销毁链表
  • 16.9 链表排序算法
  • 16.10 单循环链表
  • 16.11 双向链表
  • 16.12 typedef的用法
  • 16.13 本章总结
  • 第17章 栈
  • 17.1 内存的分区
  • 17.2 线性表
  • 17.3 栈的定义
  • 17.4 栈的基本操作
  • 17.5 链栈程序演示
  • 17.6 栈的应用
  • 17.7 本章总结
  • 第18章 队列
  • 18.1 队列的定义
  • 18.2 顺序队列
  • 18.3 链式队列的基本操作
  • 18.4 链式队列程序演示
  • 18.5 队列的应用
  • 18.6 本章总结
  • 第19章 文件操作
  • 19.1 文件概述
  • 19.2 文件类型指针变量
  • 19.3 文件的打开
  • 19.4 文件的关闭
  • 19.5 文件读写函数概述
  • 19.6 fgetc()和fputc()
  • 19.7 fgets()和fputs()
  • 19.8 移动文件位置指针:fseek()和rewind()
  • 19.9 格式化读写函数:fprintf()和fscanf()
  • 19.10 数据块读写函数:fread()和fwrite()
  • 19.11 本章总结
  • 第20章 头文件
  • 20.1 程序是如何编译生成可执行文件的
  • 20.2 概述
  • 20.3 “#include<>”和“#include""”的区别
  • 20.4 如何自定义头文件
  • 20.5 本章总结
  • 第21章 位操作运算符
  • 21.1 按位与(&)
  • 21.2 按位或(|)
  • 21.3 按位异或(^)
  • 21.4 左移运算符(<<)
  • 21.5 右移运算符(>>)
  • 21.6 本章总结
  • 附录A gcc编译工具的使用
  • 附录B make自动化编译工具的使用
  • 附录C gdb调试工具的使用
  • 附录D 链接库
  • 附录E 运算符的优先级和结合性
  • 常用ASCII码表
展开全部