1. 數據範例與變量
C言語供給了多種數據範例,包含整型(int)、字符型(char)、浮點型(float/double)等。正確利用這些數據範例是編寫高效順序的基本。
1.1 整型變量
int a = 10;
int b = -5;
1.2 字符型變量
char c = 'A';
1.3 浮點型變量
float f = 3.14f;
double d = 2.718281828459045;
2. 把持構造
把持構造決定了順序的履行流程。C言語支撐次序構造、抉擇構造(如if-else語句)跟輪回構造(如for、while輪回)。
2.1 抉擇構造
if (a > b) {
printf("a大年夜於b\n");
} else if (a < b) {
printf("a小於b\n");
} else {
printf("a等於b\n");
}
2.2 輪回構造
for (int i = 0; i < 10; i++) {
printf("%d\n", i);
}
3. 函數
函數是C言語中模塊化編程的關鍵。經由過程定義跟挪用函數,可能將複雜的任務剖析成更小、更易管理的部分。
3.1 函數定義
int add(int x, int y) {
return x + y;
}
3.2 函數挪用
int result = add(5, 3);
printf("成果是:%d\n", result);
4. 指針
指針是C言語中最難控制的不雅點之一,但也是最富強的特點之一。指針容許順序員直接拜訪內存地點,從而停止更底層的把持。
4.1 指針定義
int *ptr;
4.2 指針賦值
ptr = &a;
4.3 指針解引用
printf("a的值是:%d\n", *ptr);
5. 數組與字符串
數組是存儲同範例數據的湊集,字符串是字符數組的特別情勢。
5.1 數組定義
int arr[5] = {1, 2, 3, 4, 5};
5.2 字符串定義
char str[] = "Hello, World!";
6. 構造體與結合體
構造體容許將差別範例的變量組合在一起構成新的數據範例,結合體則是在同一內存空間內可能存放差別範例的數據。
6.1 構造體定義
struct Person {
char name[50];
int age;
};
6.2 結合體定義
union Data {
int i;
float f;
};
7. 預處理器
C言語預處理器處理#include指令,引入頭文件,停止宏定義跟前提編譯。
#include <stdio.h>
#define PI 3.14159265358979323846
8. 內存管理
C言語供給了malloc()跟free()函數來靜態分配跟開釋內存,進修者須要懂得怎樣正確地管理內存,避免內存泄漏。
int *ptr = (int *)malloc(sizeof(int));
if (ptr != NULL) {
*ptr = 10;
free(ptr);
}
9. 錯誤處理
在C言語中,錯誤處理平日依附於前去值跟全局變量errno。
if (fopen("file.txt", "r") == NULL) {
perror("打開文件掉敗");
}
經由過程控制這些經典套路,你可能更好地進修C言語編程,進步編程才能。