该系列为本人的学习笔记,主要由本人整理书写而成。部分内容来自教材、视频课程等,不能保证完全原创性。

萌新的学习笔记,写错了恳请斧正。

# C 语言如何将代码变成可执行程序?

代码. c — 编译→目标文件. obj — 链接→可执行程序. exe

# 头文件与源文件

C 语言中. c 结尾的是头文件,.h 结尾的是头文件 (header)。

我们一般写代码是写源文件,把函数变量啥的写进去

头文件一般是提前给好的,包括我们写代码用到的各种函数或者别的什么东西的定义,是告诉编译器这些玩意是干啥的。

# 主函数

C 语言程序都是从主函数 (main) 开始执行

每个程序有且只有一个主函数

下面程序为例:

#include <stdio.h>
 
int main()    //int 表示 main 函数执行结束时应返回一个 int 类型的数,即整数
{
    printf("Hello world!\n");    // 将 Hello world 打在公屏上
    return 0;    // 此处返回一个整数,一般规定为 0 表示程序执行成功
}

# 库函数

上面的示例中使用了 printf 来把 Hello world 打在公屏上

那么 printf 是什么呢?printf 是一种库函数

那么库函数是什么呢?

库函数是 C 语言为了程序员方便规定的一些基础的函数,方便我们直接使用。

C 语言规定了一系列基础的函数,这些函数组成的函数库成为标准库

这些库函数的声明 (类似定义) 包含在对应的头文件中

这些函数使用前必须在程序中包含对应的头文件

比如上方示例程序中 printf 是 stdio.h 头文件中的,所以在程序前面有

#include <stdio.h>

stdio.h 是很常用的头文件,std 代表 standrad (标准),i 代表 input (输入),o 代表 output (输出)

所以 stdio 就是规定了标准输入输出函数的头文件

那怎么知道各种头文件包含啥函数嘞?

这个网站→头文件大全

# 关键字

上面的实例程序中还有没讲到的内容,那就是 int、return, 这些是啥嘞?

在 C 语言中,有一些保留的词,比如上面的 int、return, 这些词被规定了特殊的含义,它们被称为关键字 / 保留字

我们自己定义一些名字的时候,不能和这些关键字重复,会报错。

那我们怎么知道有哪些关键字呢?

这个网站→关键字大全

# ASCII 码

计算机对各种字符的二进制编码

这个网站→ASCII 码大全

ASCII 码我们需要知道:

  • ASCII 码一共 0 ~ 127 共 128 个编码
  • 字符 A ~ Z 的 ASCII 码值从 65 ~ 90
  • 字符 a ~ z 的 ASCII 码值从 97 ~ 122
  • 数字字符 0 ~ 9 的 ASCII 码值从 48 ~ 57
  • 换行 \ n 的 ASCII 值是 10
  • 0 ~ 31 这 32 个字符是不可打印字符

# 转义字符

差点忘了,上面示例中 printf 里除了 “Hello world!” 还有一个 “\n”

“\n” 是一种转义字符

C 语言中,有一种特殊的字符叫转义字符

顾名思义,就是把原本意思改变了的字符

转义字符都以 “\” 开头,共有如下几种形式:

  • ' 单引号字符,避免被认为是有编程意义的单引号
  • " 双引号字符,避免被认为是有编程意义的双引号
  • \ 反斜杠字符,避免被认为是转义字符的标志
  • \a 警报:终端发出提示音或闪烁
  • \b 退格:backspace 不是删一个字符,是光标回退一格,但是下一个字符将覆盖回退路过的这个字符导致效果如同删去一个字符
  • \f 换页符:没啥用了,效果跟垂直制表符差不多
  • \n 换行符:符如其名
  • \r 回车符:把光标移到本行开头
  • \t 水平制表符 tab: 光标右移一个制表位
  • \v 垂直制表符:光标到下一行同一位
  • \ddd 这边 ddd 不是真的 ddd, 而是 1~3 个八进制数字,代表对应的 ASCII 码,比如 \ 66 就是 6
  • \xdd 这个和上面一样,只不过 dd 这里是 16 进制数,比如 \ x3f 是?
  • ? ‘?’字符,避免被认为是三字母词,但现在没有三字母词,所以没啥意义了

# 语句

C 语言语句以 ";" 结尾,有如下几种

  1. 空语句

    ;    
    // 一个分号就是一个空语句,没有实际意义
  2. 表达式语句

    int a = 1;
    int b = 0;
    b = a + 1;   
    // 这就是表达式语句,一个表达式
  3. 函数调用语句

    printf("阿巴阿巴\n");   
    // 调用了函数就是调用函数语句
  4. 复合语句

    #include <stdio.h>
     
    int main()
    {
        printf("Hello world!\n");
        return 0;
    }
    // 一个大括号里的就是一个代码块,即一个复合语句 (可以嵌套)
  5. 控制语句

C 语言一共有 9 种控制语句,有如下几类:

  • 条件判断:if、switch
  • 循环执行:do while、while、for
  • 转向:break、goto、continue、return

# 注释

    在 “//” 后本行内的内容为注释,或在 “/*” 后“*/”前的内容也是注释

    注释的内容会被编译成一个空格,也可能对代码产生影响,所以不是真的能随便乱放注释