💻 I. C 语言基础语法结构
一个最小的 C 语言程序通常包含以下部分:
1. 基本程序结构
#include <stdio.h> // 预处理器指令:包含标准输入/输出库 (Standard I/O)
// 主函数:程序执行的起点
int main() {
// 语句:代码执行的动作
printf("Hello, World!\n");
// 返回值:0 表示程序成功执行
return 0;
}
#include <stdio.h>(预处理器指令): 包含标准输入/输出头文件,这是使用printf和scanf等函数所必需的。main()函数: 每个 C 程序必须有一个main函数作为执行的起点。- 分号
;: C 语言中的每个语句都必须以分号结束。 - 注释:
- 单行注释:
// 这是一个注释 (C99 标准引入) - 多行注释:
/* 这是一个跨越多行的注释 */
- 单行注释:
2. 变量和常量
- 变量 (Variable): 必须先声明类型,然后才能使用。
int age = 30; // 声明一个整数变量并初始化 double salary; // 声明一个双精度浮点数变量 salary = 50000.50; // 赋值 - 常量 (Constant):
const关键字: 定义不可修改的变量。const double PI = 3.14159;#define预处理宏: 定义符号常量(C 语言中常用)。#define MAX_SIZE 100
3. 输入/输出 (I/O)
C 语言主要使用 <stdio.h> 中的函数进行格式化输入输出。
- 输出 (
printf): 使用格式化字符串和格式化符。int count = 10; // %d 是格式化符,表示打印一个十进制整数 printf("计数是:%d\n", count); - 输入 (
scanf): 用于从标准输入读取数据。注意:需要使用&符号获取变量的地址。int input_value; // &input_value 提供了存储输入数据的内存地址 scanf("%d", &input_value);
| 常用格式化符 | 描述 |
|---|---|
%d | 打印/读取十进制整数 (int) |
%f | 打印/读取浮点数 (float) |
%lf | 打印/读取双精度浮点数 (double) |
%c | 打印/读取字符 (char) |
%s | 打印/读取字符串 (char 数组) |
4. 控制流语句
| 语句 | 作用 |
|---|---|
if/else | 条件判断。 |
switch | 多重条件选择。 |
for 循环 | 循环固定次数。 |
while 循环 | 当条件为真时重复执行。 |
do-while 循环 | 至少执行一次,然后检查条件。 |
break / continue | 控制循环流程。 |
5. 函数 (Functions)
用于组织和重用代码。C 语言要求函数在调用之前必须先声明(函数原型)。
// 函数原型(声明)
int add(int a, int b);
int main() {
int result = add(5, 3); // 函数调用
return 0;
}
// 函数定义
int add(int a, int b) {
return a + b;
}
💾 II. C 语言核心数据类型
C 语言的数据类型分类为:基本类型、派生类型、枚举类型和 void 类型。
1. 基本(Built-in)数据类型
| 类型 | 描述 | 典型大小(字节) | 值范围 |
|---|---|---|---|
char | 字符类型,也用于存储小整数。 | 1 | 至少 -127 到 127 |
int | 最常用的整数类型。 | 4 (通常) | 依赖于系统 |
short | 短整数,不小于 16 位。 | 2 (通常) | 至少 -32767 到 32767 |
long | 长整数,不小于 32 位。 | 4 或 8 | 依赖于系统 |
long long | 扩展长整数 (C99 标准引入),至少 64 位。 | 8 (通常) | 极大范围 |
float | 单精度浮点数。 | 4 | 约 1.2×10−381.2 \times 10^{-38}1.2×10−38 到 3.4×10383.4 \times 10^{38}3.4×1038 |
double | 双精度浮点数(默认)。 | 8 | 约 2.3×10−3082.3 \times 10^{-308}2.3×10−308 到 1.7×103081.7 \times 10^{308}1.7×10308 |
_Bool | 布尔类型 (C99 引入,通常包含 <stdbool.h> 后使用 bool)。 | 1 | true 或 false |
2. 修饰符(Modifiers)
可以与整数类型(char, short, int, long)配合使用:
signed: 有符号,可以存储正数、负数和零(默认)。signed int
unsigned: 无符号,只能存储正数和零。unsigned int
3. 派生数据类型 (Derived Data Types)
| 类型 | 描述 | 示例 |
|---|---|---|
| 数组 (Arrays) | 存储同类型元素的固定大小的集合。 | int numbers[5]; |
| 指针 (Pointers) | 存储变量的内存地址。 | int *ptr = &age; |
| 结构体 (Structs) | 将不同类型的数据组合在一起的自定义数据类型。 | struct Person { int age; char name[20]; }; |
| 联合体 (Unions) | 允许多个成员共享同一块内存空间,通常只使用其中一个成员。 | union Data { int i; float f; }; |
4. 字符串类型
C 语言没有内置的 String 类型。字符串是以空字符 \0 结尾的 char 数组:
char greeting[] = "Hello";
// 实际存储为: 'H', 'e', 'l', 'l', 'o', '\0'
1147

被折叠的 条评论
为什么被折叠?



