admin管理员组

文章数量:1532772

2024年1月5日发(作者:)

C语言程序设计实验及代码

一、实验介绍

本实验旨在通过C语言编程实践,培养学生的程序设计能力。通过完成以下实验内容,学生将会加深对C语言的理解,掌握基本的编程技巧和方法,并能够编写简单的C语言程序。

二、实验内容

1.实验一:实现一个简单的计算器程序

编写一个简单的计算器程序,能够进行简单的加减乘除运算。要求用户输入两个数字和操作符(+、-、*、/),然后输出计算结果。

实验提示:可以使用switch语句来实现根据操作符执行相应的运算。

2.实验二:实现一个学生成绩管理系统

编写一个学生成绩管理系统程序,能够添加学生信息、显示学生信息、计算学生平均成绩等功能。要求使用结构体来保存学生信息,并使用数组来存储多个学生的信息。

实验提示:可以使用循环来实现多次添加学生信息的功能。可以使用指针来操作结构体数组。

3.实验三:实现一个简单的图书管理系统

编写一个图书管理系统程序,能够添加图书信息、显示图书信息、查询图书信息等功能。要求使用结构体来保存图书信息,并使用链表来存储多本图书的信息。

实验提示:可以使用链表的插入和删除操作来实现添加和删除图书的功能。通过遍历链表来显示和查询图书的信息。

三、实验代码示例

1.实验一代码示例:

```c

#include

int main

float num1, num2; //用于存储用户输入的两个数字

char op; //用于存储用户输入的操作符

float result; //用于存储计算结果

printf("请输入两个数字和一个操作符(+、-、*、/):");

scanf("%f %f %c", &num1, &num2, &op);

switch(op)

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 0;

}

break;

default:

printf("操作符输入错误!n");

return 0;

}

printf("计算结果:%fn", result);

return 0;

```

2.实验二代码示例:

```c

#include

#define MAX_STUDENT 100 //定义最大学生数量

struct Student

int id; //学号

char name[20]; //姓名

float score; //成绩

};

void addStudent(struct Student *students, int *count)

if(*count >= MAX_STUDENT)

printf("已达到学生数量上限!n");

return;

}

printf("请输入学生的学号、姓名和成绩:");

scanf("%d %s %f", &(students[*count].id),

students[*count].name, &(students[*count].score));

(*count)++;

void showStudent(struct Student *students, int count)

int i;

if(count == 0)

printf("暂无学生信息!n");

return;

}

printf("学号t姓名t成绩n");

for(i = 0; i < count; i++)

printf("%dt%st%fn", students[i].id, students[i].name,

students[i].score);

}

float calculateAverage(struct Student *students, int count)

int i;

float sum = 0;

if(count == 0)

return 0;

for(i = 0; i < count; i++)

sum += students[i].score;

}

return sum / count;

int main

struct Student students[MAX_STUDENT]; //保存学生信息的数组

int count = 0; //学生数量

int choice;

while(1)

printf("n学生成绩管理系统n");

printf("1.添加学生信息n");

printf("2.显示学生信息n");

printf("3.计算平均成绩n");

printf("0.退出n");

printf("请输入对应操作的序号:");

scanf("%d", &choice);

switch(choice)

case 1:

addStudent(students, &count);

break;

case 2:

showStudent(students, count);

break;

case 3:

printf("平均成绩:%fn", calculateAverage(students, count));

break;

case 0:

return 0;

default:

printf("输入无效的序号!n");

break;

}

}

return 0;

```

3.实验三代码示例:

```c

#include

#include

#include

struct Book

char name[50]; //书名

float price; //价格

struct Book *next; //指向下一本书的指针

};

struct Book *head = NULL; //链表的头指针

void addBook

struct Book *newBook;

char name[50], author[20];

float price;

newBook = (struct Book *)malloc(sizeof(struct Book));

scanf("%s %s %f", name, author, &price);

strcpy(newBook->name, name);

strcpy(newBook->author, author);

newBook->price = price;

newBook->next = head;

head = newBook;

void showBooks

struct Book *p;

if(head == NULL)

printf("暂无图书信息!n");

return;

}

p = head;

while(p != NULL)

printf("%st%st%fn", p->name, p->author, p->price);p = p->next;

}

void searchByName

struct Book *p;

char name[50];

if(head == NULL)

printf("暂无图书信息!n");

return;

}

printf("请输入要查询的图书的书名:");

scanf("%s", name);

p = head;

while(p != NULL)

if(strcmp(p->name, name) == 0)

printf("%st%st%fn", p->name, p->author, p->price);

return;

}

p = p->next;

}

printf("未找到该图书!n");

int main

int choice;

while(1)

printf("n图书管理系统n");

printf("1.添加图书信息n");

printf("2.显示图书信息n");

printf("3.查询图书信息n");

printf("0.退出n");

printf("请输入对应操作的序号:scanf("%d", &choice);

switch(choice)

case 1:

addBook(;

");

break;

case 2:

showBooks(;

break;

case 3:

searchByName(;

break;

case 0:

return 0;

default:

printf("输入无效的序号!n");

break;

}

}

return 0;

```

以上是三个C语言程序设计实验的相关介绍和代码示例。通过完成这些实验,学生将能够掌握基本的C语言编程技巧和方法,并能够编写简单的C语言程序。同时,通过实践的过程,学生还能够加深对C语言的理解,提高自己的程序设计能力。希望这些实验对大家的学习有所帮助!

本文标签: 学生信息实验