Skip to content

1. 预处理指令 ​

在C语言中,预处理指令是在编译之前由预处理器处理的指令,以 # 开头,不以分号 ; 结尾。

1.1 #include 预处理指令 ​

  • 作用:将一个头文件的内容包含到当前文件中。
  • 两种形式:
    1. #include <>:
      • 系统直接按系统指定的目录检索头文件。
      • 通常用于包含标准库头文件,如 #include <stdio.h>。
    2. #include "":
      • 首先以当前文件所在目录作为起点检索头文件,如果找不到,再按系统指定的目录检索。
      • 通常用于包含用户自定义的头文件,如 #include "myheader.h"。

2. 注释 ​

注释是程序中用于解释代码的文字,不会被编译器执行,但对程序员理解代码非常重要。

2.1 注释的分类 ​

  1. 单行注释:
    • 语法:// 被注释内容
    • 使用范围:可以在任何地方使用,如函数外面、里面,或每一条语句后面。
    • 作用范围:从 // 到这一行末尾。
    • 示例:
      c
      // 这是一个单行注释
      int age = 25; // 定义一个变量表示年龄
  2. 多行注释:
    • 语法:/* 被注释内容 */
    • 使用范围:可以在任何地方使用。
    • 作用范围:从 /* 到最近的 */。
    • 示例:
      c
      /* 这是一个多行注释
         可以跨越多行 */

2.2 注释的注意点 ​

  • 单行注释:
    • 可以嵌套单行注释和多行注释。
    • 示例:
      c
      // 单行注释 // 嵌套单行注释
      // 单行注释 /* 嵌套多行注释 */
  • 多行注释:
    • 可以嵌套单行注释,但不能嵌套多行注释。
    • 示例:
      c
      /* 多行注释
         // 嵌套单行注释
         不能嵌套多行注释 */

2.3 使用注释的好处 ​

  • 提高代码可读性:
    • 注释可以帮助其他程序员或未来的自己快速理解代码的意图。
  • 整理实现思路:
    • 在编写代码之前,先写注释可以帮助程序员理清思路。
  • 方便调试和维护:
    • 注释可以记录代码的修改历史或特殊处理的原因。

3. 代码规范 ​

良好的代码规范可以提高代码的可读性和可维护性。

3.1 示例 ​

c
// 作者:贾修
// 描述:这段代码的作用

/*
哈哈哈
     /*嘻嘻嘻*/  // 错误:多行注释不能嵌套多行注释
 呵呵呵 
*/

3.2 代码规范要点 ​

  1. 一行里最多包含一条语句:
    • 示例:
      c
      int a = 10; // 正确
      int b = 20; int c = 30; // 不推荐
  2. 同级别的语句应该上下对齐:
    • 示例:
      c
      if (a > b) {
          printf("a is greater than b\n");
      } else {
          printf("b is greater than a\n");
      }
  3. 在合适的时候使用空格和空行:
    • 示例:
      c
      int sum = a + b; // 运算符前后加空格
      printf("%d\n", sum); // 逗号后加空格

4. 数据 ​

在C语言中,数据是程序操作的基础,包括常量和变量。

4.1 常量 ​

常量是程序运行过程中值不能被改变的量。

4.1.1 关键字 ​
  • C语言中预先保留了32个关键字,如 int、float、return 等。
  • 特点:
    • 所有关键字都是由小写字母构成的。
    • 在开发工具中会显示特殊颜色。
4.1.2 字符常量 ​
  • 用单引号 '' 括起来,如 'A'、'1'。
  • 特殊情况:转义字符,如 '\n'(换行符)、'\0'(空字符)。
4.1.3 字符串常量 ​
  • 用双引号 "" 括起来,如 "Hello"、"123"。

4.2 变量 ​

变量是程序运行过程中值可以被改变的量。

4.2.1 变量的定义 ​
  • 标识符:
    • 用于标识变量、函数等的名称。
    • 命名规则:
      1. 不能是关键字。
      2. 只能由字母、数字、下划线组成。
      3. 第一个字符必须为字母或下划线。
      4. 区分大小写,如 Fun 和 fun 不同。
    • 命名规范:
      • 望文生义:如 name 表示名字,age 表示年龄。
      • 驼峰命名:如 lastChangeTime、oldName。
4.2.2 变量的作用 ​
  • 存储程序中需要变化的数据,如年龄、计数器等。

总结 ​

  • 预处理指令:如 #include 用于包含头文件。
  • 注释:单行注释 // 和多行注释 /* */,用于解释代码。
  • 代码规范:提高代码的可读性和可维护性。
  • 常量与变量:常量是固定值,变量是可变化的值,标识符的命名需遵循规则和规范。

知识如风,常伴吾身