一、实验背景
在掌握了C语言的基础语法和常用函数之后,动手实践是检验学习成果的重要途径。本实验旨在通过一系列精心设计的实验项目,帮助学员深入理解C语言的编程思想,提升编程能力。云班课作为在线学习平台,为我们提供了便捷的实验环境,让学员可以随时随地开展实验。
二、实验目标
- 掌握C语言编程的基本流程,包括问题分析、算法设计、代码实现、调试与优化。
- 熟悉云班课实验平台的使用方法,提高实验效率。
- 培养良好的编程习惯,提升编程思维和问题解决能力。
三、实验内容
1. 项目一:计算器程序
项目描述:编写一个简单的计算器程序,实现加减乘除四则运算。
实操指南:
- 分析需求,确定程序功能。
- 设计算法,实现加、减、乘、除运算。
- 编写代码,实现计算器界面和功能。
- 调试程序,确保功能正确。
#include <stdio.h>
int main() {
float num1, num2;
char operator;
printf("请输入两个数和运算符(+、-、*、/):");
scanf("%f %f %c", &num1, &num2, &operator);
switch (operator) {
case '+':
printf("%.2f + %.2f = %.2f\n", num1, num2, num1 + num2);
break;
case '-':
printf("%.2f - %.2f = %.2f\n", num1, num2, num1 - num2);
break;
case '*':
printf("%.2f * %.2f = %.2f\n", num1, num2, num1 * num2);
break;
case '/':
if (num2 != 0) {
printf("%.2f / %.2f = %.2f\n", num1, num2, num1 / num2);
} else {
printf("除数不能为0\n");
}
break;
default:
printf("无效的运算符\n");
break;
}
return 0;
}
2. 项目二:学生信息管理系统
项目描述:编写一个学生信息管理系统,实现添加、删除、修改、查询学生信息的功能。
实操指南:
- 分析需求,确定系统功能。
- 设计数据结构,存储学生信息。
- 编写代码,实现系统界面和功能。
- 调试程序,确保功能正确。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_STUDENTS 100
typedef struct {
int id;
char name[50];
int age;
float score;
} Student;
Student students[MAX_STUDENTS];
int student_count = 0;
void add_student(int id, const char* name, int age, float score) {
if (student_count < MAX_STUDENTS) {
students[student_count].id = id;
strcpy(students[student_count].name, name);
students[student_count].age = age;
students[student_count].score = score;
student_count++;
} else {
printf("学生数量已达上限\n");
}
}
void delete_student(int id) {
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
for (int j = i; j < student_count - 1; j++) {
students[j] = students[j + 1];
}
student_count--;
return;
}
}
printf("找不到该学生\n");
}
void update_student(int id, const char* name, int age, float score) {
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
strcpy(students[i].name, name);
students[i].age = age;
students[i].score = score;
return;
}
}
printf("找不到该学生\n");
}
void query_student(int id) {
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
printf("学生ID:%d\n姓名:%s\n年龄:%d\n成绩:%.2f\n", students[i].id, students[i].name, students[i].age, students[i].score);
return;
}
}
printf("找不到该学生\n");
}
int main() {
// ... 实现代码 ...
return 0;
}
3. 项目三:冒泡排序算法
项目描述:使用C语言实现冒泡排序算法,对一组数据进行排序。
实操指南:
- 分析需求,确定排序算法。
- 编写代码,实现冒泡排序算法。
- 测试程序,验证排序结果。
#include <stdio.h>
void bubble_sort(int arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 3, 1};
int n = sizeof(arr) / sizeof(arr[0]);
bubble_sort(arr, n);
printf("排序后的数组:");
for (int i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
四、实验总结
通过本次实验,学员可以深入理解C语言的编程思想,掌握编程的基本流程,并提高编程能力。在实验过程中,要注重代码的可读性和可维护性,养成良好的编程习惯。同时,要充分利用云班课实验平台提供的资源,提高实验效率。
祝愿学员们在编程道路上越走越远,解锁更多编程奥秘!
