【C语言】1.C语言常见概念
- [一、什么是 C 语言](#一、什么是 C 语言)
- [二、 C 语言发展历史](#二、 C 语言发展历史)
- [三、 VS2022项目和源文件、头文件介绍](#三、 VS2022项目和源文件、头文件介绍)
-
- [3.1 文件分类](#3.1 文件分类)
- [3.2 项目规则](#3.2 项目规则)
- [3.3 C 语言程序运行流程](#3.3 C 语言程序运行流程)
- [四、 第一个C语言程序](#四、 第一个C语言程序)
-
- [4.1 示例代码](#4.1 示例代码)
- [4.2 main 函数:程序唯一入口](#4.2 main 函数:程序唯一入口)
- [4.3 printf 函数与标准库函数](#4.3 printf 函数与标准库函数)
- [五、C 语言关键字](#五、C 语言关键字)
- 六、字符和ASCII编码
- [五、字符串与结束标志 \0](#五、字符串与结束标志 \0)
- 七、转义字符
- 八、语句与语句分类
- 九、注释详解

一、什么是 C 语言
人与人交流使用汉语、英语这类自然语言,而人和计算机沟通,需要使用计算机语言。C 语言就是应用极广的计算机编程语言,除此之外还有C++、Java、Python、Go 等语言。
二、 C 语言发展历史

三、 VS2022项目和源文件、头文件介绍
3.1 文件分类
- .c:源文件,用来存放 C 语言业务代码,是程序的核心文件。
- .h:头文件,用来存放函数声明、宏定义、类型定义,用于代码复用。
3.2 项目规则
一个项目中可以包含多个.c源文件,但是整个项目只能有 1 个 main 函数,否则程序会因为存在多个入口而编译报错。
3.3 C 语言程序运行流程
C 语言是编译型语言,文本格式的源码不能直接运行,需要两步处理:
编译:每个.c文件单独编译,生成.obj目标文件。
链接:把所有 obj 文件和系统库合并,最终生成.exe可执行程序。
四、 第一个C语言程序
4.1 示例代码
c
#include <stdio.h>
int main()
{
printf("hello C\n");
return 0;
}
VS 运行快捷键
Ctrl + F5:不调试直接运行程序
4.2 main 函数:程序唯一入口
- main()是 C 程序的唯一入口,程序运行一定从 main 函数开始执行。
- 一个项目有且只能有一个 main 函数。
- int 表示函数返回值为整数,return 0 代表程序正常结束。
c
//标准格式:
int main()
{
// 代码
return 0;
}
4.3 printf 函数与标准库函数
- printf 作用:向控制台输出文字、数字、字符,属于系统提供的库函数。
- 使用库函数必须引入对应的头文件,printf 依赖stdio.h,所以开头必须写#include <stdio.h>。
c
#include <stdio.h>
int main()
{
printf("%d\n", 10); // %d 整型
printf("%c\n", 'a'); // %c 单个字符
printf("%lf\n", 3.14); // %lf 小数
printf("%s\n", "CSDN");// %s 字符串
return 0;
}
五、C 语言关键字
关键字也叫保留字,是 C 语言预先规定好的特殊单词,拥有固定语法含义。
我们自己定义变量名、函数名时,不能和关键字重名。

C99 新标准额外新增:_Bool、inline、restrict等关键字。
六、字符和ASCII编码
- 字符使用单引号包裹,例如 '5'、'A'、'#'。
- 计算机内部只存储数字,每一个字符都对应一个数字编码,也就是 ASCII 码。
常用 ASCII 码:
c
printf("%c", 65); // 输出字符A

五、字符串与结束标志 \0
- 字符串使用双引号包裹,例如 "hello world"。
- 重点:双引号包裹的字符串末尾会自动隐藏一个字符\0。
- \0是空字符,ASCII 值为 0,是字符串结束标记。
- printf、字符串处理函数读到\0就会停止输出,如果没有\0,打印时会出现乱码。

七、转义字符
反斜杠\可以改变字符原本的含义,这类字符叫做转义字符,用来实现换行、打印引号等特殊操作。

示例:
c
printf("c:\\code\\test.c"); // 输出路径 c:\code\test.c
八、语句与语句分类
C 语言所有代码都由语句构成,一共分为 5 类:
- 空语句:只有一个分号 ;,什么都不执行。
- 表达式语句:表达式末尾加分号,如 a = 10;。
- 函数调用语句:调用函数并以分号结尾,如 printf("123");。
- 复合语句(代码块):大括号{}包裹的多行代码。
- 控制语句 :用来改变代码执行流程
分支:if、switch
循环:while、do while、for
跳转:break、continue、goto、return
九、注释详解
注释是写给人看的文字,编译器会直接忽略注释内容,不会参与程序编译。合理写注释可以提升代码可读性。
