目录

  • 1 C语言程序设计概述
    • 1.1 计算机和编程语言
    • 1.2 C语言介绍
    • 1.3 第一个C程序
  • 2 变量与表达式
    • 2.1 变量详解
    • 2.2 表达式
    • 2.3 编程练习
  • 3 选择结构程序设计
    • 3.1 关系表达式与if语句
    • 3.2 嵌套的if-else
    • 3.3 级联的if-else if
    • 3.4 if-else的常见错误
    • 3.5 多分支结构
  • 4 循环结构程序设计
    • 4.1 循环的概念
    • 4.2 用while语句实现循环
    • 4.3 用do-while语句实现循环
    • 4.4 循环结构的应用举例
      • 4.4.1 循环计算
      • 4.4.2 猜数游戏
      • 4.4.3 求平均数
      • 4.4.4 整数逆序
    • 4.5 用for语句实现循环
      • 4.5.1 for语句构成循环的方法
      • 4.5.2 循环的计算与选择
      • 4.5.3 循环的控制
    • 4.6 循环的嵌套
    • 4.7 从嵌套的循环中跳出来
  • 5 程序举例
    • 5.1 前n项数据求和
    • 5.2 整数分解
    • 5.3 求最大公约数
    • 5.4 习题解析
      • 5.4.1 给定条件的整数集
      • 5.4.2 水仙花数
      • 5.4.3 九九乘法表
      • 5.4.4 统计素数并求和
      • 5.4.5 猜数游戏
      • 5.4.6 n项求和
      • 5.4.7 其它
  • 6 C语言的数据类型
    • 6.1 基本数据类型
      • 6.1.1 整数类型
      • 6.1.2 整数在计算机内部存储方法
      • 6.1.3 整数的表示范围
      • 6.1.4 整数的格式化输入/输出
      • 6.1.5 整数类型的选择
      • 6.1.6 浮点类型:float和double
      • 6.1.7 浮点类型的表示范围和精度
      • 6.1.8 字符类型
      • 6.1.9 转意字符
      • 6.1.10 数据类型间的相互转换
    • 6.2 逻辑类型数据及其运算
      • 6.2.1 逻辑类型
      • 6.2.2 逻辑运算
      • 6.2.3 条件运算与逗号运算
  • 7 用户自定义函数
    • 7.1 函数概念
    • 7.2 函数的定义和调用
    • 7.3 函数返回
    • 7.4 函数原型声明
    • 7.5 函数的参数传递与作用域
    • 7.6 本地参数
    • 7.7 函数庶事
  • 8 数组
    • 8.1 数组的引入
    • 8.2 一维数组的定义、引用及初始化
    • 8.3 一维数组的应用举例:统计个数
    • 8.4 一维数组的运算
    • 8.5 一维数组的应用例子:素数
    • 8.6 二维数组与多维数组
  • 9 指针及其应用
    • 9.1 指针的概念
      • 9.1.1 取地址运算符(&)
      • 9.1.2 指针变量
      • 9.1.3 指针的使用
      • 9.1.4 指针与数组
      • 9.1.5 指针与const
    • 9.2 指针的应用
      • 9.2.1 指针运算
      • 9.2.2 动态内存分配
  • 10 字符串与字符数组
    • 10.1 字符串的概念
      • 10.1.1 字符串的引入
      • 10.1.2 字符串变量
      • 10.1.3 字符串的输入/输出方法
      • 10.1.4 字符串数组
    • 10.2 字符串函数
      • 10.2.1 字符输入/输出(getchar与putchar)
      • 10.2.2 测字符串长度的函数strlen
      • 10.2.3 字符串比较的函数strcmp
      • 10.2.4 字符串复制的函数strcpy和strncpy
      • 10.2.5 字符串连接的函数strcat
      • 10.2.6 字符串搜索函数
  • 11 用户自定义数据类型
    • 11.1 枚举类型
    • 11.2 结构体类型
      • 11.2.1 结构体的概念
      • 11.2.2 结构体与函数
      • 11.2.3 结构体中的结构体
    • 11.3 自定义数据类型
    • 11.4 共用体类型
  • 12 变量的作用域与宏定义
    • 12.1 变量的作用域
      • 12.1.1 全局变量与局部变量
      • 12.1.2 静态变量
      • 12.1.3 有关返回指针的函数
    • 12.2 宏定义
      • 12.2.1 宏定义
      • 12.2.2 带参数的宏
    • 12.3 多个源文件
      • 12.3.1 多个源代码文件
      • 12.3.2 头文件的编写
      • 12.3.3 外部变量声明
  • 13 文件操作与位运算
    • 13.1 格式化的输入/输出printf和scanf
    • 13.2 文件操作
      • 13.2.1 文件的输入/输出
      • 13.2.2 二进制文件操作
    • 13.3 二进制位运算
      • 13.3.1 按位运算
      • 13.3.2 移位运算
      • 13.3.3 位运算举例
      • 13.3.4 位段
  • 14 可变数组与链表
    • 14.1 可变数组
      • 14.1.1 可变数组的概念
      • 14.1.2 可变数组的数据访问
      • 14.1.3 可变数组的自动增长
      • 14.1.4 可变数组的缺陷
    • 14.2 可变数组的应用——链表
  • 15 总结、复习资料
    • 15.1 程序框架结构,printf、scanf的使用
变量的作用域

12.1.1   全局变量与局部变量

12.1.2    静态变量

12.1.3    有关返回指针的函数