C语言篇:语言结构

1. 引言

C语言是一门结构化、过程式的编程语言,诞生于1972年,由贝尔实验室的丹尼斯·里奇(Dennis Ritchie)设计。它语法简洁、执行高效、贴近底层硬件,是操作系统、嵌入式系统、编译器等领域的基础语言。理解C语言的结构,是掌握这门语言的第一步。

2. 程序的基本结构

一个C程序由若干部分组成,下面是一个最简单的Hello World程序:

c 复制代码
#include <stdio.h>

int main() {
    printf("Hello, World!\n");
    return 0;
}

2.1 预处理指令

以 # 开头的行称为预处理指令,例如 #include <stdio.h> 表示引入标准输入输出头文件。预处理在编译之前执行。

2.2 main函数

main 是程序的入口函数,程序从这里开始执行。一个C程序有且只有一个 main 函数。

2.3 语句与分号

C语言中的每条语句以分号 ; 结尾,例如 printf(...); 和 return 0;。

3. 数据类型

C语言提供了丰富的数据类型,用于描述不同种类的数据。

3.1 基本数据类型

类型 说明 示例
int 整型 int age = 18;
float 单精度浮点型 float pi = 3.14f;
double 双精度浮点型 double e = 2.71828;
char 字符型 char ch = 'A';

3.2 变量声明与初始化

c 复制代码
int count;          // 声明
count = 10;         // 赋值
double price = 99.5; // 声明并初始化

4. 运算符与表达式

C语言支持丰富的运算符,包括算术、关系、逻辑、位运算等。

4.1 算术运算符

c 复制代码
int a = 10, b = 3;
int sum = a + b;    // 13
int diff = a - b;   // 7
int prod = a * b;   // 30
int quot = a / b;   // 3(整数除法)
int rem = a % b;    // 1(取余)

4.2 关系与逻辑运算符

c 复制代码
int x = 5, y = 8;
int isGreater = (x > y);        // 0(假)
int isEqual = (x == y);         // 0(假)
int result = (x < y) && (x > 0); // 1(真)

5. 控制结构

控制结构决定了程序的执行流程,包括顺序、选择和循环三种基本结构。

5.1 选择结构

c 复制代码
int score = 85;
if (score >= 60) {
    printf("及格\n");
} else {
    printf("不及格\n");
}

5.2 循环结构

c 复制代码
// for 循环
for (int i = 0; i < 5; i++) {
    printf("%d ", i);
}

// while 循环
int j = 0;
while (j < 5) {
    printf("%d ", j);
    j++;
}

6. 函数

函数是C语言中实现代码复用的基本单元。

c 复制代码
int add(int a, int b) {
    return a + b;
}

int main() {
    int result = add(3, 4);
    printf("3 + 4 = %d\n", result);
    return 0;
}

6.1 函数声明与定义

函数在使用前需要声明(原型),定义则包含函数体实现。

6.2 参数传递

C语言默认采用值传递,函数内部对参数的修改不会影响调用方的变量。

7. 数组与字符串

7.1 数组

c 复制代码
int numbers[5] = {1, 2, 3, 4, 5};
printf("%d\n", numbers[0]); // 输出 1

7.2 字符串

C语言中字符串以字符数组表示,以 \0 结尾。

c 复制代码
char name[] = "Alice";
printf("%s\n", name);

8. 指针

指针是C语言的精髓,它存储变量的内存地址。

c 复制代码
int value = 42;
int *ptr = &value;   // ptr 指向 value 的地址
printf("%d\n", *ptr); // 通过指针访问值,输出 42

9. 结构体与联合体

9.1 结构体

c 复制代码
struct Student {
    char name[20];
    int age;
};

struct Student stu = {"Bob", 20};
printf("%s %d\n", stu.name, stu.age);

9.2 联合体

联合体所有成员共享同一块内存,大小取最大成员。

c 复制代码
union Data {
    int i;
    float f;
};

10. 总结

C语言的结构清晰而严谨,从基本数据类型、运算符、控制结构到函数、指针和结构体,层层递进。掌握这些语言结构,就为后续学习算法、数据结构和系统编程打下了坚实基础。建议读者动手编写并运行上述示例,在实践中加深理解。

相关推荐
老王爱玩车1 小时前
字符串和字符串函数
c语言·开发语言·数据结构·学习
山下梅子酒2251 小时前
洛谷-入门-B2082
c语言
mlidongfeng1 小时前
【学习笔记】【NV】GIN
开发语言·php
Ivanqhz1 小时前
KV Cache
服务器·数据库·人工智能·深度学习·算法
H.莓飛1 小时前
【数据结构】二叉树
linux·数据结构·算法
Omics Pro1 小时前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
小道士写程序2 小时前
Windows Rust 环境安装指导
开发语言·windows·rust
xh didida2 小时前
Linux -- 进程概念
linux·服务器·开发语言·c++
爱吃香菜的初学者2 小时前
十三.Linux——信号量
linux·运维·服务器·开发语言