首页 > 要闻简讯 > 精选范文 >

(完整版)C语言10大经典实例

2025-07-08 04:50:03

问题描述:

(完整版)C语言10大经典实例,这个怎么操作啊?求快教我!

最佳答案

推荐答案

2025-07-08 04:50:03

(完整版)C语言10大经典实例】在编程学习的道路上,C语言作为一门基础且强大的编程语言,始终占据着不可替代的地位。它不仅被广泛应用于操作系统、嵌入式系统、驱动开发等领域,更是许多程序员入门的第一门语言。为了帮助初学者更好地掌握C语言的核心思想和编程技巧,本文将介绍10个经典的C语言实例,涵盖数据结构、算法实现、文件操作等多个方面,助你深入理解C语言的魅力。

1. 斐波那契数列

斐波那契数列是一个经典的递归与循环应用案例。通过简单的逻辑,可以展示C语言中函数调用和循环结构的使用。

```c

include

int main() {

int n, i, a = 0, b = 1, nextTerm;

printf("输入项数: ");

scanf("%d", &n);

printf("斐波那契数列: %d, %d, ", a, b);

for (i = 2; i < n; ++i) {

nextTerm = a + b;

printf("%d, ", nextTerm);

a = b;

b = nextTerm;

}

return 0;

}

```

2. 判断素数

素数判断是C语言中常见的逻辑控制问题,适合练习条件语句和循环结构。

```c

include

int isPrime(int num) {

if (num <= 1) return 0;

for (int i = 2; i i <= num; i++) {

if (num % i == 0)

return 0;

}

return 1;

}

int main() {

int number;

printf("请输入一个整数: ");

scanf("%d", &number);

if (isPrime(number))

printf("%d 是素数。\n", number);

else

printf("%d 不是素数。\n", number);

return 0;

}

```

3. 冒泡排序

冒泡排序是学习数组和排序算法的基础,展示了如何通过交换相邻元素来实现排序。

```c

include

void bubbleSort(int arr[], int n) {

for (int i = 0; i < n-1; i++)

for (int j = 0; j < n-i-1; j++)

if (arr[j] > arr[j+1]) {

int temp = arr[j];

arr[j] = arr[j+1];

arr[j+1] = temp;

}

}

int main() {

int arr[] = {64, 34, 25, 12, 22, 11, 90};

int n = sizeof(arr)/sizeof(arr[0]);

bubbleSort(arr, n);

printf("排序后的数组: \n");

for (int i = 0; i < n; i++)

printf("%d ", arr[i]);

return 0;

}

```

4. 字符串反转

字符串处理是C语言的重要部分,该实例展示了如何手动实现字符串反转。

```c

include

include

void reverseString(char str[]) {

int len = strlen(str);

for (int i = len - 1; i >= 0; i--) {

printf("%c", str[i]);

}

}

int main() {

char str[100];

printf("请输入一个字符串: ");

fgets(str, sizeof(str), stdin);

printf("反转后的字符串: ");

reverseString(str);

return 0;

}

```

5. 计算阶乘

阶乘是数学中的基本概念,也是练习循环和递归的好例子。

```c

include

long long factorial(int n) {

long long fact = 1;

for (int i = 1; i <= n; ++i) {

fact = i;

}

return fact;

}

int main() {

int num;

printf("请输入一个非负整数: ");

scanf("%d", &num);

if (num < 0)

printf("错误:负数没有阶乘。\n");

else

printf("%d! = %lld\n", num, factorial(num));

return 0;

}

```

6. 查找最大值

在数组中找到最大值是最常见的操作之一,适合练习数组遍历和条件判断。

```c

include

int findMax(int arr[], int n) {

int max = arr[0];

for (int i = 1; i < n; i++) {

if (arr[i] > max)

max = arr[i];

}

return max;

}

int main() {

int arr[] = {10, 20, 30, 40, 50};

int n = sizeof(arr) / sizeof(arr[0]);

printf("最大值为: %d\n", findMax(arr, n));

return 0;

}

```

7. 文件读写

C语言提供了丰富的文件操作函数,如`fopen`、`fread`、`fwrite`等,用于处理文本或二进制文件。

```c

include

int main() {

FILE file = fopen("example.txt", "w");

if (file == NULL) {

printf("无法创建文件。\n");

return 1;

}

fprintf(file, "这是写入文件的内容。\n");

fclose(file);

file = fopen("example.txt", "r");

char ch;

while ((ch = fgetc(file)) != EOF)

printf("%c", ch);

fclose(file);

return 0;

}

```

8. 结构体与链表

结构体是C语言中组织数据的基本方式,结合指针可构建链表等复杂数据结构。

```c

include

include

struct Node {

int data;

struct Node next;

};

int main() {

struct Node head = NULL;

struct Node second = NULL;

struct Node third = NULL;

head = (struct Node)malloc(sizeof(struct Node));

second = (struct Node)malloc(sizeof(struct Node));

third = (struct Node)malloc(sizeof(struct Node));

head->data = 1;

head->next = second;

second->data = 2;

second->next = third;

third->data = 3;

third->next = NULL;

struct Node current = head;

while (current != NULL) {

printf("%d -> ", current->data);

current = current->next;

}

return 0;

}

```

9. 简单计算器

通过switch语句实现加减乘除运算,是C语言中条件分支的经典应用。

```c

include

int main() {

char op;

double a, b;

printf("请输入运算符 (+, -, , /): ");

scanf("%c", &op);

printf("请输入两个数字: ");

scanf("%lf %lf", &a, &b);

switch(op) {

case '+':

printf("%.1lf + %.1lf = %.1lf\n", a, b, a + b);

break;

case '-':

printf("%.1lf - %.1lf = %.1lf\n", a, b, a - b);

break;

case '':

printf("%.1lf %.1lf = %.1lf\n", a, b, a b);

break;

case '/':

if (b != 0)

printf("%.1lf / %.1lf = %.1lf\n", a, b, a / b);

else

printf("错误:除数不能为零。\n");

break;

default:

printf("无效的运算符。\n");

}

return 0;

}

```

10. 猜数字游戏

这是一个有趣的交互式程序,适合练习输入输出和随机数生成。

```c

include

include

include

int main() {

srand(time(0));

int number = rand() % 100 + 1;

int guess, attempts = 0;

printf("欢迎来到猜数字游戏!\n");

printf("请猜一个1到100之间的数字:\n");

do {

scanf("%d", &guess);

attempts++;

if (guess > number)

printf("太大了!再试一次。\n");

else if (guess < number)

printf("太小了!再试一次。\n");

else

printf("恭喜!你猜对了!用了%d次机会。\n", attempts);

} while (guess != number);

return 0;

}

```

结语

以上是C语言中10个非常具有代表性的实例,涵盖了从基础语法到高级应用的多个方面。通过这些实例的学习和实践,你可以逐步建立起扎实的C语言编程能力。无论你是初学者还是有一定经验的开发者,这些代码都能为你提供宝贵的参考和启发。希望你在学习C语言的过程中不断进步,享受编程的乐趣!

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。