C语言 实验报告七
C语言实验七 函数 实验报告

C语言实验七函数实验报告一、实验目的1、掌握函数的定义和调用方法。
2、理解函数参数的传递方式。
3、学会使用函数实现程序的模块化设计。
二、实验环境1、操作系统:Windows 102、开发工具:Visual Studio 2019三、实验内容本次实验主要涉及以下几个方面的内容:1、编写简单的函数实现特定功能,如计算两个数的和、差、积、商等。
2、理解函数参数的传递方式,包括值传递和引用传递,并通过实例进行验证。
3、利用函数实现程序的模块化设计,将复杂的问题分解为多个相对简单的函数,提高程序的可读性和可维护性。
四、实验步骤及结果(一)函数的定义和调用1、首先,定义了一个计算两个整数之和的函数`int add(int a, intb)`,函数内部通过返回`a + b`的值来实现求和功能。
```cint add(int a, int b) {return a + b;}```2、在`main`函数中调用该函数,并输出结果。
```cint main(){int num1 = 5, num2 = 3;int sum = add(num1, num2);printf("两数之和为:%d\n", sum);return 0;}```运行结果:两数之和为:8(二)函数参数的传递方式值传递1、定义一个函数`void swap_value(int a, int b)`,尝试在函数内部交换两个参数的值。
```cvoid swap_value(int a, int b) {int temp = a;a = b;b = temp;}```2、在`main`函数中调用该函数,并输出交换前后参数的值。
```cint main(){int num1 = 5, num2 = 3;printf("交换前:num1 =%d, num2 =%d\n", num1, num2);swap_value(num1, num2);printf("交换后:num1 =%d, num2 =%d\n", num1, num2);return 0;}```运行结果:交换前:num1 = 5, num2 = 3交换后:num1 = 5, num2 = 3可以看到,值传递方式下,函数内部对参数的修改不会影响到函数外部的实参。
c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。
三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。
熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。
2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。
运用 switch 语句进行多分支选择,处理不同的情况。
利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。
3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。
掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。
4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。
实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。
5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。
掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。
6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。
了解共用体的概念和使用场景,比较结构体和共用体的区别。
四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。
c语言实验报告5篇

c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。
其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。
c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。
2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。
3、掌握C程序的运行、调试方法等。
二、实验内容编写一个学生信息排序程序。
要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。
2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。
3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。
1、使用函数方法定义各个模块。
三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
c语言综合实验报告

c语言综合实验报告C语言综合实验报告引言:C语言是一门广泛应用于计算机科学领域的编程语言,具有高效、灵活和可移植等特点。
在本次实验中,我们将通过综合实验来探索C语言的各种特性和用法。
本报告将详细介绍实验的目的、设计思路、实验过程、结果分析以及对C 语言的理解和应用。
一、实验目的本次综合实验旨在通过实践,加深对C语言的理解和应用。
具体目标包括:1. 熟悉C语言的基本语法和数据类型;2. 掌握C语言的输入输出操作;3. 理解和运用C语言的控制结构和函数;4. 实现一个简单的C语言项目,提升编程能力。
二、设计思路在本次实验中,我们选择了一个简单而实用的项目——学生成绩管理系统。
该系统可以实现学生信息的录入、查询、修改和删除等功能。
通过这个项目,我们能够全面运用C语言的各种特性和用法。
三、实验过程1. 定义结构体:首先,我们需要定义一个学生的结构体,包含学号、姓名和成绩等信息。
通过结构体,我们可以方便地对学生信息进行管理和操作。
2. 实现录入功能:接下来,我们编写一个函数,实现学生信息的录入。
通过用户输入学生的学号、姓名和成绩,我们可以将这些信息存储到结构体数组中,并将其保存到文件中。
3. 实现查询功能:为了方便查找学生信息,我们编写了一个查询函数。
该函数可以根据学号或姓名来查找学生信息,并将结果显示在屏幕上。
4. 实现修改功能:当需要修改学生信息时,我们可以调用修改函数。
该函数可以根据学号或姓名找到对应的学生信息,并允许用户修改学生的姓名和成绩。
5. 实现删除功能:最后,我们编写了一个删除函数,用于删除指定学生的信息。
用户只需要输入学号或姓名,系统就可以找到对应的学生并将其从结构体数组中删除。
四、结果分析经过实验,我们成功实现了学生成绩管理系统。
该系统具备录入、查询、修改和删除等功能,能够方便地管理学生的信息。
通过这个实验,我们不仅掌握了C语言的各种特性和用法,还提升了编程能力。
五、对C语言的理解和应用通过本次实验,我们对C语言有了更深入的理解和应用。
c语言大实验报告

c语言大实验报告C 语言大实验报告一、实验目的本次 C 语言大实验的主要目的是通过实际的编程项目,深入巩固和应用 C 语言的基础知识,提高编程能力和解决实际问题的能力。
具体而言,包括熟练掌握数据类型、控制结构、函数、数组、指针等核心概念,并能够运用它们构建较为复杂的程序逻辑。
二、实验要求1、完成一个具有一定规模和功能的 C 语言程序,例如学生成绩管理系统、图书管理系统等。
2、程序应具备良好的代码结构和可读性,遵循编程规范。
3、实现数据的输入、处理和输出功能,能够进行数据的存储和查询。
4、对程序进行充分的测试,确保其稳定性和正确性。
三、实验环境1、操作系统:Windows 102、编程工具:Visual Studio 2019四、实验内容本次实验我选择开发一个学生成绩管理系统,该系统能够实现学生成绩的录入、查询、修改、删除以及成绩统计分析等功能。
(一)数据结构设计为了存储学生的信息,我定义了一个结构体`Student` ,包含学生的学号、姓名、各科成绩等字段:```ctypedef struct {int id;char name50;float score3; //假设存储三门课程的成绩} Student;```同时,使用一个动态数组来存储多个学生的信息:```cStudent students;int numStudents = 0; //记录学生数量```(二)功能模块实现1、成绩录入通过循环让用户输入学生的信息,包括学号、姓名和各科成绩,并将其添加到动态数组中:```cvoid inputStudent(){Student newStudent;printf("请输入学号:");scanf("%d",&newStudentid);printf("请输入姓名:");scanf("%s", newStudentname);printf("请输入三门课程的成绩:");for (int i = 0; i < 3; i++){scanf("%f",&newStudentscorei);}students =(Student )realloc(students, (numStudents + 1) sizeof(Student));studentsnumStudents++= newStudent;}```2、成绩查询根据用户输入的学号,在动态数组中查找对应的学生信息并输出:```cvoid queryStudent(){int id;printf("请输入要查询的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("学号:%d\n", studentsiid);printf("姓名:%s\n", studentsiname);printf("成绩:");for (int j = 0; j < 3; j++){printf("%2f ", studentsiscorej);}printf("\n");return;}printf("未找到该学号的学生信息!\n");}```3、成绩修改先查询要修改的学生信息,然后让用户输入修改后的成绩:```cvoid modifyStudent(){int id;printf("请输入要修改的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("请输入修改后的三门课程成绩:");for (int j = 0; j < 3; j++){scanf("%f",&studentsiscorej);printf("修改成功!\n");return;}}printf("未找到该学号的学生信息!\n");}```4、成绩删除根据学号删除指定的学生信息,并重新调整动态数组:```cvoid deleteStudent(){int id;printf("请输入要删除的学号:");scanf("%d",&id);int found = 0;for (int i = 0; i < numStudents; i++){if (studentsiid == id) {found = 1;for (int j = i; j < numStudents 1; j++){studentsj = studentsj + 1;}numStudents;students =(Student )realloc(students, numStudents sizeof(Student));printf("删除成功!\n");return;}}if (!found) {printf("未找到该学号的学生信息!\n");}}```5、成绩统计分析计算所有学生的平均成绩,并输出最高和最低成绩:```cvoid statistics(){float totalScore = 0;float maxScore = students0score0;float minScore = students0score0;for (int i = 0; i < numStudents; i++){float sum = 0;for (int j = 0; j < 3; j++){sum += studentsiscorej;}totalScore += sum / 3;if (sum / 3 > maxScore) {maxScore = sum / 3;}if (sum / 3 < minScore) {minScore = sum / 3;}}printf("平均成绩:%2f\n", totalScore / numStudents);printf("最高成绩:%2f\n", maxScore);printf("最低成绩:%2f\n", minScore);}```(三)主函数在主函数中,通过菜单的方式让用户选择要执行的操作:```cint main(){int choice;while (1) {printf("1、录入成绩\n");printf("2、查询成绩\n");printf("3、修改成绩\n");printf("4、删除成绩\n");printf("5、成绩统计分析\n");printf("6、退出\n");printf("请选择操作:");scanf("%d",&choice);switch (choice) {case 1:inputStudent();break;case 2:queryStudent();break;case 3:modifyStudent();break;case 4:deleteStudent();break;case 5:statistics();break;case 6:free(students);return 0;default:printf("无效的选择,请重新输入!\n");}}return 0;}```五、实验结果经过多次测试,本系统能够稳定运行,实现了预期的各项功能。
c 实验报告7

c 实验报告7实验报告7:C 语言程序设计实验摘要:本实验报告旨在介绍C语言程序设计实验的过程和结果。
在本次实验中,我们使用了C语言编程语言,通过编写程序来实现各种功能。
在实验过程中,我们学习了C语言的基本语法和编程技巧,掌握了如何使用C语言进行程序设计和开发。
通过本次实验,我们对C语言程序设计有了更深入的了解,并且提高了我们的编程能力。
引言:C语言是一种通用的高级编程语言,广泛应用于系统软件和应用软件的开发中。
它是一种结构化的语言,具有丰富的表达能力和灵活的特性。
在本次实验中,我们将运用C语言来实现一些基本的功能,以加深对C语言的理解和掌握。
实验目的:1.了解C语言的基本语法和编程技巧2.学习如何使用C语言进行程序设计和开发3.提高编程能力,加深对C语言程序设计的理解实验材料和方法:在本次实验中,我们使用了C语言编程语言,并且通过编写程序来实现各种功能。
我们使用了一台配备C语言编译器的计算机,以及相应的开发环境和工具。
在编写程序的过程中,我们遵循了C语言的基本语法规则,并且运用了各种编程技巧。
实验结果:在本次实验中,我们成功地编写了一些C语言程序,实现了一些基本的功能。
我们学会了如何定义变量、使用控制结构、编写函数等等。
我们还学会了如何调试程序,发现并解决程序中的错误。
通过实验,我们对C语言程序设计有了更深入的了解,并且提高了我们的编程能力。
讨论:通过本次实验,我们对C语言程序设计有了更深入的了解,掌握了C语言的基本语法和编程技巧。
我们学会了如何使用C语言进行程序设计和开发,提高了我们的编程能力。
在今后的学习和工作中,我们将继续加强对C语言的学习和应用,不断提高自己的编程水平。
结论:通过本次实验,我们对C语言程序设计有了更深入的了解,掌握了C语言的基本语法和编程技巧。
我们学会了如何使用C语言进行程序设计和开发,提高了我们的编程能力。
在今后的学习和工作中,我们将继续加强对C语言的学习和应用,不断提高自己的编程水平。
c语言实验报告

c语言实验报告实验报告一、实验目的本实验旨在通过实践,加深对C语言的理解,掌握C语言的基本语法和常用函数,并能够运用所学知识完成相应的编程任务。
二、实验环境本实验的开发环境为Windows系统,使用的集成开发环境为Dev-C++。
三、实验内容1. 实验项目一:输入输出编写一个程序,要求从键盘输入两个整数,将它们相加并输出结果。
2. 实验项目二:控制结构编写一个程序,要求从键盘输入一个整数,如果该数为正数,则输出“正数”,如果是负数,则输出“负数”,如果是零,则输出“零”。
3. 实验项目三:循环结构编写一个程序,要求从键盘输入一个正整数n,然后计算并输出1加到n的和。
4. 实验项目四:数组编写一个程序,要求定义一个长度为5的整型数组,从键盘输入五个整数,并按照输入的顺序输出。
五、实验步骤1. 实验项目一:输入输出步骤一:定义两个整型变量a和b步骤二:使用scanf函数从键盘接收两个整数a和b步骤三:定义一个整型变量sum,将a与b相加,结果存放在sum中步骤四:使用printf函数输出sum的值2. 实验项目二:控制结构步骤一:定义一个整型变量num步骤二:使用scanf函数从键盘接收一个整数num步骤三:使用if语句判断num的值如果num大于0,则输出“正数”如果num小于0,则输出“负数”如果num等于0,则输出“零”3. 实验项目三:循环结构步骤一:定义一个整型变量n步骤二:使用scanf函数从键盘接收一个正整数n步骤三:定义一个整型变量sum,并初始化为0步骤四:使用for循环将1到n的数相加,并将结果累加到sum中步骤五:使用printf函数输出sum的值4. 实验项目四:数组步骤一:定义一个长度为5的整型数组arr步骤二:使用for循环,从键盘输入五个整数,并将其依次存放在arr中步骤三:使用for循环,遍历数组arr,并使用printf函数依次输出数组中的元素六、实验结果经过编程运行验证,以上四个实验项目都能按照要求正确输出结果。
C语言实验报告(精选9篇)

C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。
写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。
C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include<stdio.h>
#define N 10
#define M 5
float score[N][M];
float a_stu[N],a_cour[M];
int r,c;
int main()
{int i,j;
float h;
float s_var(void);
输入自己编写的程序,编译和运行程序,分析结果。
#include<stdio.h>
int main()
{int prime(int);
int n;
printf("input an integer:");
scanf("%d",&n);
if(prime(n))
printf("%d is a prime.\n",n);
float highest();
void input_stu(void);
void aver_stu(void);
void aver_cour(void);
input_stu();
aver_stu();
aver_cour();
printf("\n NO. cour1 cour2 cour3 cour4
{int alphabetic(char);
intlongest(char[]);
inti;
char line[100];
printf("input one line:\n");
gets(line);
printf("Thelongest word is:");
for(i=longest(line);alphabetic(line[i]);i++)
for(i=0;i<N;i++)
{for(j=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0;}}
void aver_cour(void)
{int i,j;
float s;
for(j=0;j<M;j++)
{s=0;
for(i=0;i<N;i++)
s+=score[i][j];
printf("%c",line[i]);
printf("201741110126 石锦锋\n");
return 0;}
int alphabetic(char c)
{if((c>='a'&&c<='z')||(c>='A'&&c<='z'))
return(1);
else
return(0);}
int longest(char string[])
#include<stdio.h>
int main()
{void cpy(char[],char[]);
char str[80],c[80];
printf("input string:");
gets(str);
cpy(str,c);
printf("The vowel letters are:%s\n",c);
分别编译和运行,分析结果。
思考形参数组为什么可以不指定数组大小。
分析:形参数组的大小可以根据实参的大小得到。
③如果随便指定数组大小行不行,如:
void cpy(char s[40],char[40])
请分别上机试一下。
(3)输入10个学生5门课的成绩,分别用函数实现下列功能:
计算每个学生平均分;
计算每门课的平均分;
{int i,j;
for(i=0;i<N;i++)
{printf("\ninput score of student%2d:\n",i+1);
for(j=0;j<M;j++)
scanf("%f",&score[i][j]);}}
void aver_stu(void)
{int i,j;
float s;
{int i,j;
char t;
for(j=1;j<N;j++)
for(i=0;(i<N-j)&&(str[i]!='\0');i++)
if(str[i]>str[i+1])
{t=str[i];
str[i]=str[i+1];
str[i+1]=t;}}
将要排序的字符串改为5个,按由小到大的顺序排列。
return 0;}
int prime(int n)
{int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0;
printf("201741110126 石锦锋\n");
return(flag);}
结果:程序不能执行,因为没有未定义,出现错误。
cour5 aver\n");
for(i=0;i<N;i++)
{printf("\nNO%2d",i+1);
for(j=0;j<M;j++)
printf("%8.2f",score[i][j]);
printf("%8.2f\n",a_stu[i]);}
printf("\naverage:");
for(j=0;j<M;j++)
return 0;}
int prime(int n)
{int flag=1,i;
for(i=2;i<n/2&&flag==1;i++)
if(n%i==0)
flag=0;
printf("201741110126 石锦锋\n");
return(flag); }
将主函数的函数声明删掉,再进行编译,分析编译结果。
2、了解VC++6.0软件的特点及系统组成,在电脑上操作VC++6.0软件。
实验内容、步骤及程序:
编程序并上机调试运行之。
函数(一)
(1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。
本程序应当准备以下测试数据:17,34,2,1,0.分别运行并检查结果是否正确。要求所编写的程序,主函数的位置在其他函数之前,在主函数中对其所调用的函数声明。进行以下工作;
int main()
{void sort(char[]);
int i,flag;
for(flag=1;flag==1;)
{printf("input string:\n");
scanf("%s",&str);
if(strlen(str)>N)
printf("string too long,input again!");
{int len=0,i,length=0,flag=1,place=0,point;
for(i=0;i<=strlen(string);i++)
if(alphabetic(string[i]))
if(flag)
{point=i;
flag=0;}
else
len++;
else
{flag=1;
if(len>=length)
(5)进一步熟悉怎样利用函数实现指定的任务;
(6)熟悉函数的嵌套调用和递归调用的方法;
(7)熟悉全局变量和局部变量的概念和用法;
实验仪器:
1、支持Intel Pentium Ⅲ及其以上CPU,内存256MB以上、硬盘1GB以上容量的微机; 软件配有Windows98/2000/XP操作系统及VC++软件。
保留判别素数的函数,修改主函数,
要求实现输出100~200之间的素数。
#include<stdio.h>
void main()
{int prime(int);
int i,j;
for(i=100; i<=200; i++)
if(prime(i))
printf(" ");
else
printf(" ",i);}
printf("201741110126 石锦锋\n");}
int prime(int n)
{int a,b=0;
for(a=2;a<i/2;a++)
if(i%a==0)
b++;continue;}
return(b); }
(2)写一个函数,将一个字符串中的元音字母复制到另一
字符串,然后输出。
①输入程序,编译和运行程序,分析结果。
c=j+1;}
return(high);}
float s_var(void)
{int i;
float sumx,sumxn;
sumx=0.0;