diff --git a/课件/C语言/C语言标准库函数.md b/课件/C语言/C语言标准库函数.md deleted file mode 100644 index ddf328b..0000000 --- a/课件/C语言/C语言标准库函数.md +++ /dev/null @@ -1,114 +0,0 @@ -### **一、标准输入输出函数**(``) - -| 函数 | 功能 | 示例 | -| --------- | -------------------- | ------------------------------------ | -| `printf` | 格式化输出 | `printf("Hello, %s!\n", "World");` | -| `scanf` | 格式化输入 | `scanf("%d", &num);` | -| `putchar` | 输出单个字符 | `putchar('A');` | -| `getchar` | 输入单个字符 | `char c = getchar();` | -| `puts` | 输出字符串并换行 | `puts("Hello World!");` | -| `gets` | 读取一行字符串 | `char str[100]; gets(str);` | -| `fopen` | 打开文件 | `FILE *fp = fopen("test.txt", "r");` | -| `fclose` | 关闭文件 | `fclose(fp);` | -| `fread` | 从文件读取数据 | `fread(buffer, 1, size, fp);` | -| `fwrite` | 向文件写入数据 | `fwrite(data, 1, size, fp);` | -| `fprintf` | 格式化写入文件 | `fprintf(fp, "Value: %d\n", value);` | -| `fscanf` | 格式化从文件读取数据 | `fscanf(fp, "%d", &value);` | - ------- - -### **二、字符串处理函数**(``) - -| 函数 | 功能 | 示例 | -| --------- | ------------------------ | --------------------------------- | -| `strlen` | 计算字符串长度 | `size_t len = strlen("Hello");` | -| `strcpy` | 复制字符串 | `strcpy(dest, src);` | -| `strncpy` | 复制指定长度字符串 | `strncpy(dest, src, 5);` | -| `strcat` | 拼接字符串 | `strcat(dest, src);` | -| `strncat` | 拼接指定长度字符串 | `strncat(dest, src, 5);` | -| `strcmp` | 比较两个字符串 | `strcmp(str1, str2);` | -| `strncmp` | 比较指定长度的字符串 | `strncmp(str1, str2, 5);` | -| `strchr` | 查找字符在字符串中的位置 | `char *p = strchr(str, 'a');` | -| `strstr` | 查找子串 | `char *p = strstr(str, "test");` | -| `strtok` | 分割字符串 | `char *token = strtok(str, ",");` | - ------- - -### **三、数学函数**(``) - -| 函数 | 功能 | 示例 | -| ------- | ---------------- | --------------------------------------- | -| `abs` | 计算整数绝对值 | `int value = abs(-10);` | -| `fabs` | 计算浮点数绝对值 | `double value = fabs(-3.14);` | -| `pow` | 计算幂 | `double result = pow(2.0, 3.0); // 2^3` | -| `sqrt` | 计算平方根 | `double result = sqrt(9.0);` | -| `ceil` | 向上取整 | `double result = ceil(3.14); // 4.0` | -| `floor` | 向下取整 | `double result = floor(3.14); // 3.0` | -| `round` | 四舍五入 | `double result = round(3.5); // 4.0` | -| `sin` | 计算正弦值 | `double result = sin(M_PI / 2); // 1.0` | -| `cos` | 计算余弦值 | `double result = cos(0); // 1.0` | -| `tan` | 计算正切值 | `double result = tan(M_PI / 4); // 1.0` | - ------- - -### **四、内存操作函数**(``) - -| 函数 | 功能 | 示例 | -| --------- | ------------ | ------------------------------------ | -| `memset` | 设置内存的值 | `memset(buffer, 0, sizeof(buffer));` | -| `memcpy` | 内存拷贝 | `memcpy(dest, src, n);` | -| `memcmp` | 比较内存区域 | `memcmp(ptr1, ptr2, n);` | -| `memmove` | 内存区域移动 | `memmove(dest, src, n);` | - ------- - -### **五、动态内存管理函数**(``) - -| 函数 | 功能 | 示例 | -| --------- | -------------------- | ------------------------------------------- | -| `malloc` | 动态分配内存 | `int *p = (int *)malloc(10 * sizeof(int));` | -| `calloc` | 动态分配并初始化内存 | `int *p = (int *)calloc(10, sizeof(int));` | -| `realloc` | 重新分配内存大小 | `p = (int *)realloc(p, 20 * sizeof(int));` | -| `free` | 释放动态分配的内存 | `free(p);` | - ------- - -### **六、时间与日期函数**(``) - -| 函数 | 功能 | 示例 | -| ----------- | ------------------ | ---------------------------------------- | -| `time` | 获取当前时间戳 | `time_t t = time(NULL);` | -| `clock` | 获取程序运行时间 | `clock_t c = clock();` | -| `difftime` | 计算时间差 | `double diff = difftime(t1, t2);` | -| `localtime` | 转换为本地时间结构 | `struct tm *lt = localtime(&t);` | -| `strftime` | 格式化时间为字符串 | `strftime(buffer, 100, "%Y-%m-%d", lt);` | - ------- - -### **七、随机数函数**(``) - -| 函数 | 功能 | 示例 | -| ------- | -------------- | ------------------------------ | -| `rand` | 生成随机数 | `int r = rand();` | -| `srand` | 设置随机数种子 | `srand((unsigned)time(NULL));` | - ------- - -### **八、进程控制函数**(``) - -| 函数 | 功能 | 示例 | -| -------- | ------------ | ---------------- | -| `exit` | 退出程序 | `exit(0);` | -| `system` | 执行系统命令 | `system("dir");` | - ------- - -### **九、其他常用函数** - -| 函数 | 功能 | 示例 | -| ---------------- | -------------- | ----------------------------------------- | -| `atoi` | 字符串转整数 | `int num = atoi("123");` | -| `atof` | 字符串转浮点数 | `double num = atof("3.14");` | -| `itoa`(非标准) | 整数转字符串 | `itoa(123, buffer, 10);` | -| `qsort` | 快速排序 | `qsort(arr, n, sizeof(int), cmp);` | -| `bsearch` | 二分查找 | `bsearch(key, arr, n, sizeof(int), cmp);` | \ No newline at end of file diff --git a/课件/C语言/C语言速查手册.md b/课件/C语言/C语言速查手册.md new file mode 100644 index 0000000..32b2dc4 --- /dev/null +++ b/课件/C语言/C语言速查手册.md @@ -0,0 +1,37 @@ +## C语言中的关键字 + +![image-20250215020418329](https://yp.smallkun.cn/markdown/image-20250215020418329.png!compress) + +## GCC中数据类型占内存的字节数和表数范围 + +![image-20250215020432274](https://yp.smallkun.cn/markdown/image-20250215020432274.png!compress) + +## 运算符的优先级与结合性 + +![image-20250215020448240](https://yp.smallkun.cn/markdown/image-20250215020448240.png!compress) + +### 常用字符的ASCII码对照表 + +![image-20250215020657273](https://yp.smallkun.cn/markdown/image-20250215020657273.png!compress) + +## 输入输出格式转换说明 + +### 表 1 函数 printf() 的格式转换说明 + +![image-20250215020742312](https://yp.smallkun.cn/markdown/image-20250215020742312.png!compress) +![image-20250215020753921](https://yp.smallkun.cn/markdown/image-20250215020753921.png!compress) + +### 表 2 函数 printf() 的格式修饰符 + +![image-20250215020829730](https://yp.smallkun.cn/markdown/image-20250215020829730.png!compress) + +### 表 3 函数 scanf() 的格式转换说明 + +![image-20250215020855154](https://yp.smallkun.cn/markdown/image-20250215020855154.png!compress) + +### 表 4 函数 scanf() 的格式修饰符 + +![image-20250215020933580](https://yp.smallkun.cn/markdown/image-20250215020933580.png!compress) + + + diff --git a/课件/C语言/常用的ANSI C标准库函数.pdf b/课件/C语言/常用的ANSI C标准库函数.pdf new file mode 100644 index 0000000..d0e0ed4 Binary files /dev/null and b/课件/C语言/常用的ANSI C标准库函数.pdf differ