前言

由于做单片机项目需要用到C语言,之前一直用的米思奇图形化编程,那个只能完成一下作业,所以只能学一下C的语法了,也方便看AI给出的代码。

开篇大吉!

基本结构

C语言程序是从上到下,逐行运行的。

预处理指令(以#开头)

预处理阶段(编译前)执行的指令,无分号结尾,常见类型:

  1. 头文件: #include <头文件名>#include "自定义头文件.h",引入标准库 / 自定义函数的声明(如stdio.h提供输入输出、stdlib.h提供内存管理,可以看成工具箱,函数就是工具箱里面的工具。
  2. 宏定义: #define 宏名 常量/表达式(如#define PI 3.14159),编译前替换文本。
  3. 条件编译: #ifdef/#ifndef/#endif,控制代码是否编译。

全局声明(可选)

在所有函数外部定义的 变量/函数 声明,作用域覆盖整个程序,注意每句结尾加分号。

  • 全局变量: int global_num = 10;(生命周期贯穿程序运行)。
  • 函数原型声明: int add(int a, int b);(声明自定义函数的返回值、参数,方便后续调用)。

主函数 main() —— 程序入口

必须唯一,程序从 main() 的第一行开始执行,结束于 main() 的返回。

结构如下:

1
2
3
4
5
6
// 函数头:返回值类型 函数名(参数列表)
int main() { // 也可写int main(int argc, char *argv[])(命令行参数)
// 执行语句:完成具体逻辑,必须以分号结尾
printf("Hello World"); // 输出语句
return 0; // 返回值:0表示程序正常结束,非0通常表示错误
}

自定义函数(可选)

实现模块化功能,结构为:返回值类型 函数名(参数列表) { 函数体 },示例:

1
2
3
4
// 自定义加法函数
int add(int a, int b) {
return a + b; // 返回计算结果
}

注释

不参与编译,仅用于说明代码,两种格式:

  • 单行注释:// 注释内容
  • 多行注释:/* 注释内容 */(可跨多行)

完整的 C 程序结构示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 1. 预处理指令:引入标准输入输出库
#include <stdio.h>

// 2. 全局声明:全局变量 + 函数原型
#define MAX 100 // 宏定义
int global_var = 50; // 全局变量
int calculate(int x, int y); // 函数原型声明

// 3. 主函数:程序入口
int main() {
// 局部变量声明
int num1 = 10, num2 = 20;
int result;

// 执行语句:调用自定义函数、输出结果
result = calculate(num1, num2);
printf("计算结果:%d\n", result);
printf("全局变量值:%d\n", global_var);

return 0; // 程序正常结束
}

// 4. 自定义函数:实现具体功能
int calculate(int x, int y) {
return x + y + global_var; // 使用全局变量
}