微信瀏覽為網(wǎng)站的緩存怎么清理seo 推廣教程
1. C 語言簡介
- 定義:C 語言是一種過程式編程語言,設(shè)計(jì)用于系統(tǒng)編程和應(yīng)用程序開發(fā)。
- 特點(diǎn):高效、靈活、接近硬件,支持指針和內(nèi)存操作。
1. 基本語法
-
程序結(jié)構(gòu):
- C 語言程序由函數(shù)組成,
main
函數(shù)是程序的入口點(diǎn)。
#include <stdio.h>int main() {printf("Hello, World!\n");return 0; }
#include <stdio.h>
是預(yù)處理指令,包含標(biāo)準(zhǔn)輸入輸出庫。int main()
是主函數(shù),程序從這里開始執(zhí)行。printf
用于輸出文本到終端。
- C 語言程序由函數(shù)組成,
2. 數(shù)據(jù)類型
-
基本數(shù)據(jù)類型:
- int:整數(shù)類型,通常占用 4 字節(jié)。
- float:單精度浮點(diǎn)數(shù),通常占用 4 字節(jié)。
- double:雙精度浮點(diǎn)數(shù),通常占用 8 字節(jié)。
- char:字符類型,通常占用 1 字節(jié)。
int a = 10; float b = 3.14; double c = 2.718281828; char d = 'A';
-
修飾符:
- short、long、signed、unsigned 用于修飾基本數(shù)據(jù)類型的大小和符號。
unsigned int x = 1000; long int y = 100000L;
3. 變量
-
聲明與初始化:
- 變量必須在使用之前聲明,并可以在聲明時(shí)初始化。
int a = 5; // 聲明并初始化變量 a int b; // 聲明變量 b b = 10; // 初始化變量 b
4. 運(yùn)算符
-
算術(shù)運(yùn)算符:
- +、-、*、/、%,用于基本的數(shù)學(xué)運(yùn)算。
int sum = a + b; int product = a * b;
-
關(guān)系運(yùn)算符:
- ==、!=、>、<、>=、<=,用于比較操作。
if (a > b) {printf("a is greater than b\n"); }
-
邏輯運(yùn)算符:
- &&(與)、||(或)、!(非),用于邏輯運(yùn)算。
if (a > 0 && b > 0) {printf("Both a and b are positive\n"); }
-
賦值運(yùn)算符:
- =、+=、-=、*=、/=,用于賦值操作。
a += 5; // a = a + 5
5. 控制結(jié)構(gòu)
-
條件語句:
- if、else if、else 用于條件判斷。
if (a > b) {printf("a is greater\n"); } else if (a < b) {printf("a is smaller\n"); } else {printf("a and b are equal\n"); }
-
循環(huán)語句:
-
for 循環(huán):
for (int i = 0; i < 5; i++) {printf("%d\n", i); }
-
while 循環(huán):
int i = 0; while (i < 5) {printf("%d\n", i);i++; }
-
do-while 循環(huán):
int i = 0; do {printf("%d\n", i);i++; } while (i < 5);
-
6. 函數(shù)
-
函數(shù)定義與調(diào)用:
- 函數(shù)用于組織代碼,執(zhí)行特定任務(wù)。
int add(int x, int y) {return x + y; }int main() {int result = add(5, 3);printf("Result: %d\n", result);return 0; }
-
函數(shù)原型:
- 在函數(shù)定義之前聲明函數(shù),以告知編譯器函數(shù)的存在。
int add(int, int);
7. 數(shù)組
-
定義與初始化:
- 數(shù)組是相同數(shù)據(jù)類型元素的集合。
int arr[5] = {1, 2, 3, 4, 5};
-
訪問元素:
- 使用索引訪問數(shù)組元素,索引從 0 開始。
int first = arr[0]; // 訪問第一個(gè)元素
8. 字符串
-
定義與操作:
- 字符串是以 null 結(jié)尾的字符數(shù)組。
char str[] = "Hello"; printf("%s\n", str);
-
字符串函數(shù):
- 使用 strlen、strcpy、strcat 和 strcmp 等庫函數(shù)操作字符串。
#include <string.h> char dest[50]; strcpy(dest, "Hello"); strcat(dest, " World");
9. 指針
-
定義與使用:
- 指針存儲變量的內(nèi)存地址。
int a = 10; int *p = &a; // p 指向變量 a 的地址
-
解引用與指針運(yùn)算:
- 使用 * 操作符訪問指針指向的值。
*p = 20; // 修改 a 的值為 20
10. 結(jié)構(gòu)體
-
定義與使用:
- 結(jié)構(gòu)體用于定義具有不同數(shù)據(jù)類型的集合。
struct Person {char name[50];int age; };struct Person p1; strcpy(p1.name, "Alice"); p1.age = 30;
11. 文件操作
-
打開、讀寫和關(guān)閉文件:
- 使用 fopen、fprintf、fscanf、fclose 操作文件。
FILE *fp = fopen("file.txt", "w"); fprintf(fp, "Hello, File!\n"); fclose(fp);FILE *fp = fopen("file.txt", "r"); char buffer[100]; fgets(buffer, 100, fp); fclose(fp);
12. 動態(tài)內(nèi)存管理
-
分配和釋放內(nèi)存:
- 使用 malloc、calloc、realloc 和 free 管理內(nèi)存。
int *arr = (int *)malloc(sizeof(int) * 10); // 使用 arr free(arr);
13. 預(yù)處理器指令
-
宏定義:
- 用 #define 定義常量或宏。
#define PI 3.14159
-
條件編譯:
- 使用 #ifdef、#ifndef、#endif 進(jìn)行條件編譯。
#ifdef DEBUG printf("Debug mode\n"); #endif