实例1:变量初始化
在C语言中,变量在使用前必须进行初始化。以下是一个简单的变量初始化示例:
#include <stdio.h>
int main() {
int a = 10; // 变量a初始化为10
printf("变量a的值为:%d\n", a);
return 0;
}
实例2:数据类型转换
在C语言中,数据类型转换是常见的操作。以下是一个数据类型转换的示例:
#include <stdio.h>
int main() {
int num = 5;
float result = num; // 整数转换为浮点数
printf("转换后的结果为:%f\n", result);
return 0;
}
实例3:指针与数组
指针是C语言中非常重要的一部分。以下是一个指针与数组的示例:
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int *ptr = arr; // 指针指向数组的首地址
for (int i = 0; i < 5; i++) {
printf("数组元素:%d\n", *(ptr + i));
}
return 0;
}
实例4:结构体
结构体是C语言中用于组织相关数据的容器。以下是一个结构体的示例:
#include <stdio.h>
typedef struct {
int id;
char name[50];
} Student;
int main() {
Student stu1 = {1, "张三"};
printf("学生ID:%d\n", stu1.id);
printf("学生姓名:%s\n", stu1.name);
return 0;
}
实例5:函数递归
递归是C语言中的一种编程技巧。以下是一个使用递归计算阶乘的示例:
#include <stdio.h>
int factorial(int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int num = 5;
printf("阶乘结果:%d\n", factorial(num));
return 0;
}
实例6:文件操作
文件操作是C语言中处理数据的重要手段。以下是一个使用文件操作的示例:
#include <stdio.h>
int main() {
FILE *fp = fopen("example.txt", "w");
if (fp == NULL) {
printf("文件打开失败\n");
return 1;
}
fprintf(fp, "这是一个示例文件\n");
fclose(fp);
return 0;
}
实例7:动态内存分配
动态内存分配是C语言中的一种内存管理方式。以下是一个使用动态内存分配的示例:
#include <stdio.h>
#include <stdlib.h>
int main() {
int *arr = (int *)malloc(5 * sizeof(int));
if (arr == NULL) {
printf("内存分配失败\n");
return 1;
}
for (int i = 0; i < 5; i++) {
arr[i] = i + 1;
}
for (int i = 0; i < 5; i++) {
printf("数组元素:%d\n", arr[i]);
}
free(arr);
return 0;
}
实例8:字符串处理
字符串处理是C语言中的常见操作。以下是一个字符串处理的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
char *result = (char *)malloc(strlen(str1) + strlen(str2) + 1);
strcpy(result, str1);
strcat(result, str2);
printf("合并后的字符串:%s\n", result);
free(result);
return 0;
}
实例9:结构体指针
结构体指针是C语言中的一种指针类型。以下是一个结构体指针的示例:
#include <stdio.h>
typedef struct {
int id;
char name[50];
} Student;
int main() {
Student stu1 = {1, "张三"};
Student *ptr = &stu1;
printf("学生ID:%d\n", ptr->id);
printf("学生姓名:%s\n", ptr->name);
return 0;
}
实例10:位操作
位操作是C语言中的一种低级操作。以下是一个位操作的示例:
#include <stdio.h>
int main() {
int num1 = 5; // 二进制:101
int num2 = 3; // 二进制:011
printf("按位与:%d\n", num1 & num2); // 二进制:001,结果为1
printf("按位或:%d\n", num1 | num2); // 二进制:111,结果为7
printf("按位异或:%d\n", num1 ^ num2); // 二进制:110,结果为6
printf("按位取反:%d\n", ~num1); // 二进制:010,结果为-6
return 0;
}
实例11:宏定义
宏定义是C语言中的一种预处理器指令。以下是一个宏定义的示例:
#include <stdio.h>
#define MAX 5
int main() {
int arr[MAX];
for (int i = 0; i < MAX; i++) {
arr[i] = i + 1;
}
for (int i = 0; i < MAX; i++) {
printf("数组元素:%d\n", arr[i]);
}
return 0;
}
实例12:条件编译
条件编译是C语言中的一种编译指令。以下是一个条件编译的示例:
#include <stdio.h>
#ifdef DEBUG
#define DEBUG_MODE
#endif
int main() {
#ifdef DEBUG_MODE
printf("调试模式开启\n");
#endif
return 0;
}
实例13:枚举类型
枚举类型是C语言中的一种数据类型。以下是一个枚举类型的示例:
#include <stdio.h>
typedef enum {
MONDAY,
TUESDAY,
WEDNESDAY,
THURSDAY,
FRIDAY,
SATURDAY,
SUNDAY
} Weekday;
int main() {
Weekday today = FRIDAY;
printf("今天是:%d\n", today);
return 0;
}
实例14:联合体
联合体是C语言中的一种数据类型。以下是一个联合体的示例:
#include <stdio.h>
typedef union {
int num;
char ch;
} UnionType;
int main() {
UnionType ut;
ut.num = 10;
printf("联合体中的整数:%d\n", ut.num);
ut.ch = 'A';
printf("联合体中的字符:%c\n", ut.ch);
return 0;
}
实例15:位域
位域是C语言中的一种数据类型。以下是一个位域的示例:
#include <stdio.h>
typedef struct {
int a : 8;
int b : 8;
int c : 8;
} BitField;
int main() {
BitField bf;
bf.a = 10;
bf.b = 20;
bf.c = 30;
printf("位域a:%d\n", bf.a);
printf("位域b:%d\n", bf.b);
printf("位域c:%d\n", bf.c);
return 0;
}
实例16:函数指针
函数指针是C语言中的一种指针类型。以下是一个函数指针的示例:
#include <stdio.h>
int add(int x, int y) {
return x + y;
}
int main() {
int (*ptr)(int, int) = add;
printf("函数指针调用结果:%d\n", ptr(3, 4));
return 0;
}
实例17:回调函数
回调函数是C语言中的一种编程技巧。以下是一个回调函数的示例:
#include <stdio.h>
void printMessage(const char *message) {
printf("回调函数输出:%s\n", message);
}
int main() {
const char *message = "Hello, World!";
printMessage(message);
return 0;
}
实例18:宏函数
宏函数是C语言中的一种预处理器指令。以下是一个宏函数的示例:
#include <stdio.h>
#define MAX(a, b) ((a) > (b) ? (a) : (b))
int main() {
int x = 10;
int y = 20;
printf("最大值:%d\n", MAX(x, y));
return 0;
}
实例19:字符串连接
字符串连接是C语言中的一种常见操作。以下是一个字符串连接的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello";
char str2[] = "World";
char *result = (char *)malloc(strlen(str1) + strlen(str2) + 1);
strcpy(result, str1);
strcat(result, str2);
printf("合并后的字符串:%s\n", result);
free(result);
return 0;
}
实例20:字符串搜索
字符串搜索是C语言中的一种常见操作。以下是一个字符串搜索的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
int index = strstr(str1, str2) - str1;
printf("字符串搜索结果:%d\n", index);
return 0;
}
实例21:字符串替换
字符串替换是C语言中的一种常见操作。以下是一个字符串替换的示例:
#include <stdio.h>
#include <string.h>
void replaceString(char *str, const char *oldStr, const char *newStr) {
char buffer[1024];
char *pos = str;
while ((pos = strstr(pos, oldStr)) != NULL) {
strncpy(buffer, str, pos - str);
buffer[pos - str] = '\0';
strcat(buffer, newStr);
strcat(buffer, pos + strlen(oldStr));
strcpy(str, buffer);
pos += strlen(newStr);
}
}
int main() {
char str[] = "Hello, World! Hello, C!";
replaceString(str, "Hello", "Hi");
printf("替换后的字符串:%s\n", str);
return 0;
}
实例22:字符串排序
字符串排序是C语言中的一种常见操作。以下是一个字符串排序的示例:
#include <stdio.h>
#include <string.h>
void sortStrings(char *strs[], int n) {
char *temp;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(strs[i], strs[j]) > 0) {
temp = strs[i];
strs[i] = strs[j];
strs[j] = temp;
}
}
}
}
int main() {
char *strs[] = {"C", "C++", "Java", "Python"};
int n = sizeof(strs) / sizeof(strs[0]);
sortStrings(strs, n);
for (int i = 0; i < n; i++) {
printf("%s\n", strs[i]);
}
return 0;
}
实例23:字符串反转
字符串反转是C语言中的一种常见操作。以下是一个字符串反转的示例:
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "Hello, World!";
reverseString(str);
printf("反转后的字符串:%s\n", str);
return 0;
}
实例24:字符串匹配
字符串匹配是C语言中的一种常见操作。以下是一个字符串匹配的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
int index = strstr(str1, str2) - str1;
printf("字符串匹配结果:%d\n", index);
return 0;
}
实例25:字符串分割
字符串分割是C语言中的一种常见操作。以下是一个字符串分割的示例:
#include <stdio.h>
#include <string.h>
void splitString(char *str, const char *delim, char *tokens[], int maxTokens) {
int tokenCount = 0;
char *token = strtok(str, delim);
while (token != NULL && tokenCount < maxTokens) {
tokens[tokenCount++] = token;
token = strtok(NULL, delim);
}
}
int main() {
char str[] = "Hello, World! C++ Java Python";
char *tokens[10];
splitString(str, " ", tokens, 10);
for (int i = 0; i < 5; i++) {
printf("%s\n", tokens[i]);
}
return 0;
}
实例26:字符串查找
字符串查找是C语言中的一种常见操作。以下是一个字符串查找的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
int index = strstr(str1, str2) - str1;
printf("字符串查找结果:%d\n", index);
return 0;
}
实例27:字符串替换
字符串替换是C语言中的一种常见操作。以下是一个字符串替换的示例:
#include <stdio.h>
#include <string.h>
void replaceString(char *str, const char *oldStr, const char *newStr) {
char buffer[1024];
char *pos = str;
while ((pos = strstr(pos, oldStr)) != NULL) {
strncpy(buffer, str, pos - str);
buffer[pos - str] = '\0';
strcat(buffer, newStr);
strcat(buffer, pos + strlen(oldStr));
strcpy(str, buffer);
pos += strlen(newStr);
}
}
int main() {
char str[] = "Hello, World! Hello, C!";
replaceString(str, "Hello", "Hi");
printf("替换后的字符串:%s\n", str);
return 0;
}
实例28:字符串排序
字符串排序是C语言中的一种常见操作。以下是一个字符串排序的示例:
#include <stdio.h>
#include <string.h>
void sortStrings(char *strs[], int n) {
char *temp;
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(strs[i], strs[j]) > 0) {
temp = strs[i];
strs[i] = strs[j];
strs[j] = temp;
}
}
}
}
int main() {
char *strs[] = {"C", "C++", "Java", "Python"};
int n = sizeof(strs) / sizeof(strs[0]);
sortStrings(strs, n);
for (int i = 0; i < n; i++) {
printf("%s\n", strs[i]);
}
return 0;
}
实例29:字符串反转
字符串反转是C语言中的一种常见操作。以下是一个字符串反转的示例:
#include <stdio.h>
#include <string.h>
void reverseString(char *str) {
int len = strlen(str);
for (int i = 0; i < len / 2; i++) {
char temp = str[i];
str[i] = str[len - i - 1];
str[len - i - 1] = temp;
}
}
int main() {
char str[] = "Hello, World!";
reverseString(str);
printf("反转后的字符串:%s\n", str);
return 0;
}
实例30:字符串匹配
字符串匹配是C语言中的一种常见操作。以下是一个字符串匹配的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
int index = strstr(str1, str2) - str1;
printf("字符串匹配结果:%d\n", index);
return 0;
}
实例31:字符串分割
字符串分割是C语言中的一种常见操作。以下是一个字符串分割的示例:
#include <stdio.h>
#include <string.h>
void splitString(char *str, const char *delim, char *tokens[], int maxTokens) {
int tokenCount = 0;
char *token = strtok(str, delim);
while (token != NULL && tokenCount < maxTokens) {
tokens[tokenCount++] = token;
token = strtok(NULL, delim);
}
}
int main() {
char str[] = "Hello, World! C++ Java Python";
char *tokens[10];
splitString(str, " ", tokens, 10);
for (int i = 0; i < 5; i++) {
printf("%s\n", tokens[i]);
}
return 0;
}
实例32:字符串查找
字符串查找是C语言中的一种常见操作。以下是一个字符串查找的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "Hello, World!";
char str2[] = "World";
int index = strstr(str1, str2) - str1;
printf("字符串查找结果:%d\n", index);
return 0;
}
实例33:字符串替换
字符串替换
