案例一:简单的计算器程序
1.1 程序需求
编写一个C语言程序,实现基本的加减乘除运算。
1.2 代码实现
#include <stdio.h>
int main() {
float num1, num2, result;
char operator;
printf("请输入两个数和运算符(如:5 + 3): ");
scanf("%f %c %f", &num1, &operator, &num2);
switch (operator) {
case '+':
result = num1 + num2;
break;
case '-':
result = num1 - num2;
break;
case '*':
result = num1 * num2;
break;
case '/':
if (num2 != 0) {
result = num1 / num2;
} else {
printf("除数不能为0\n");
return 1;
}
break;
default:
printf("未知运算符\n");
return 1;
}
printf("结果是:%.2f\n", result);
return 0;
}
1.3 分析
这个案例介绍了C语言中的基本语法和运算符的使用。通过这个案例,你可以学会如何编写简单的输入输出程序,以及如何使用switch语句进行多分支选择。
案例二:冒泡排序算法
2.1 程序需求
编写一个C语言程序,实现冒泡排序算法。
2.2 代码实现
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
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]);
int i;
bubbleSort(arr, n);
printf("排序后的数组:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
2.3 分析
这个案例介绍了冒泡排序算法的原理和实现。通过这个案例,你可以学会如何编写算法,以及如何使用循环和数组。
案例三:结构体和指针
3.1 程序需求
编写一个C语言程序,使用结构体和指针处理学生信息。
3.2 代码实现
#include <stdio.h>
#include <string.h>
typedef struct {
char name[50];
int age;
float score;
} Student;
void printStudentInfo(Student *s) {
printf("姓名:%s\n", s->name);
printf("年龄:%d\n", s->age);
printf("分数:%.2f\n", s->score);
}
int main() {
Student stu1 = {"张三", 20, 85.5};
Student stu2 = {"李四", 22, 90.0};
printStudentInfo(&stu1);
printStudentInfo(&stu2);
return 0;
}
3.3 分析
这个案例介绍了结构体和指针的使用。通过这个案例,你可以学会如何定义和使用结构体,以及如何通过指针访问结构体成员。
总结
以上三个案例分别介绍了C语言编程中的基础语法、算法和数据结构。通过这些案例的学习,你可以逐步掌握C语言的核心技术。在编程实践中,多动手、多思考,相信你一定能够成为一名优秀的C语言程序员!
