C 快速入门指南
1. 安装 C
- 从 GCC 官方网站 下载并安装 GCC 编译器,或从 Microsoft Visual Studio 下载并安装最新版本的 Visual Studio。
2. 基本语法
2.1 变量和数据类型
C 支持多种数据类型,如整数、浮点数、字符、数组和指针。以下是一些示例代码:
#include <stdio.h>
int main() {
// 数字
int a = 10;
float b = 3.14;
// 字符
char c = 'A';
// 字符串
char name[] = "Alice";
// 布尔值 (使用整数表示)
int is_active = 1;
// 数组
int numbers[] = {1, 2, 3, 4, 5};
// 指针
int *p = &a;
printf("Name: %s\n", name);
return 0;
}
2.2 基本操作
#include <stdio.h>
int main() {
int a = 10;
float b = 3.14;
// 算术运算
int sum = a + b;
int difference = a - b;
float product = a * b;
float quotient = a / b;
// 字符串操作
char name[] = "Alice";
printf("Hello, %s\n", name);
// 数组操作
int numbers[] = {1, 2, 3, 4, 5};
numbers[0] = 10;
printf("Sum: %d\n", sum);
return 0;
}
3. 控制结构
3.1 条件语句
C 使用 if
、else if
和 else
进行条件判断:
#include <stdio.h>
int main() {
int a = 10;
int b = 5;
if (a > b) {
printf("a is greater than b\n");
} else if (a == b) {
printf("a is equal to b\n");
} else {
printf("a is less than b\n");
}
return 0;
}
3.2 循环
C 支持 for
、while
和 do-while
循环:
#include <stdio.h>
int main() {
// for 循环
for (int i = 0; i < 5; i++) {
printf("i: %d\n", i);
}
// while 循环
int count = 0;
while (count < 5) {
printf("count: %d\n", count);
count++;
}
// do-while 循环
int num = 0;
do {
printf("num: %d\n", num);
num++;
} while (num < 5);
return 0;
}
4. 函数
函数用 return_type
和 function_name
定义:
#include <stdio.h>
int add(int x, int y) {
return x + y;
}
int main() {
int sum = add(10, 20);
printf("Sum: %d\n", sum);
return 0;
}
5. 结构体
C 支持定义结构体来组织复杂数据:
#include <stdio.h>
struct Person {
char name[50];
int age;
};
int main() {
struct Person alice;
strcpy(alice.name, "Alice");
alice.age = 25;
printf("Name: %s, Age: %d\n", alice.name, alice.age);
return 0;
}
6. 指针
指针是 C 中的重要概念,用于处理内存地址:
#include <stdio.h>
int main() {
int a = 10;
int *p = &a;
printf("Value of a: %d\n", a);
printf("Address of a: %p\n", (void*)&a);
printf("Value of p: %p\n", (void*)p);
printf("Value pointed to by p: %d\n", *p);
return 0;
}
7. 文件操作
C 提供简单的文件读写功能:
#include <stdio.h>
int main() {
// 写入文件
FILE *outfile = fopen("example.txt", "w");
if (outfile == NULL) {
printf("Error opening file!\n");
return 1;
}
fprintf(outfile, "Hello, world!\n");
fclose(outfile);
// 读取文件
FILE *infile = fopen("example.txt", "r");
if (infile == NULL) {
printf("Error opening file!\n");
return 1;
}
char content[100];
while (fgets(content, sizeof(content), infile)) {
printf("%s", content);
}
fclose(infile);
return 0;
}
8. 动态内存分配
使用 malloc
和 free
动态分配和释放内存:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *p = (int *)malloc(5 * sizeof(int));
if (p == NULL) {
printf("Memory allocation failed!\n");
return 1;
}
for (int i = 0; i < 5; i++) {
p[i] = i * 10;
printf("p[%d] = %d\n", i, p[i]);
}
free(p);
return 0;
}
9. 宏和预处理器
使用宏和预处理器命令提高代码可读性和维护性:
#include <stdio.h>
#define PI 3.14159
#define CIRCLE_AREA(r) (PI * (r) * (r))
int main() {
int radius = 5;
double area = CIRCLE_AREA(radius);
printf("Area of circle with radius %d: %f\n", radius, area);
return 0;
}
总结
这份文档涵盖了 C 的基础知识和常用操作。通过不断练习和参考官方文档,你将能够掌握 C 并应用于各种项目中。
有关更多详细信息,请参考 C 官方文档。