华北水利水电大学C语言实验报告(六)
c语言实验报告(附答案版)
c语言实验报告(附答案版)实验一、这个实验需要4学时才能完成。
2、目标1。
阅读程序问题1简单确定性问题解决(1)掌握c语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;(2)掌握不同类型数据之间的分配规律;(3)掌握存储器中数据的存储方式;(4)学会输入、输出函数的基本格式和使用方法;(5)学习使用算术运算符、逻辑运算符、关系运算符以及包含这些运算符的表达式。
2、编程题(1)如何使用if-else决策结构进行编程;(2)如何使用开关决策结构进行编程。
3.调整试题(1)熟悉c程序的编辑、编译、连接和运行的过程。
三、实验指导为了达到最佳的实验效果,以下提供了几种适合编程的指南供参考。
1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。
2.编程问题必须先画流程图,反复思考,判断程序设计的正确性,完成程序设计。
应注意简单确定性问题的结构选择。
3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。
对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。
-1-四、实验内容1、阅读程序题(1)main(){/*定义字符变量*/charc1,C2;/*为字符变量分配整数*/C1=97;C2=98;printf(\/*以字符形式输出*/printf(\/*以整数形式输出*/}该程序的输出结果是ab(换行)9798。
思考:可以改成intc1、C2吗;输出是什么?完全相同的(2)main(){inta=7,b=5;printf(\}该程序的输出结果是0。
思考:如果将printf语句中的%d更改为%F,可以输出分数的值吗?当然(3)main(){inta=9;a+=a-=a+a;/*包含复合赋值运算符*/printf(\}该程序的输出结果是-18。
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语言实验报告
C语言实验报告C语言实验报告在生活中,报告有着举足轻重的地位,报告具有语言陈述性的特点。
相信许多人会觉得报告很难写吧,下面是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。
C语言实验报告1一周的C语言实训,虽然时间略显仓促,但却让我学到了很多实际运用的技能!一、心得与感想首先,在实训中的第一步是编写功能较为单一的小程序,虽然是小程序,但所用的知识却都是我们本学期学习的重点知识。
在做题的过程中让我们把这些知识复习了一遍,强化了知识!其次,这次作中所碰到的题目,在实训中已经接触过,所我们都比较深知这些题目的要求和算法,因次在编写小程序时比较快,而且算法也是比较简化,运算准确。
鉴次我明白很多编程题要经过多次编写修改与调试,才会得到最简略的算法。
再次,平时我们学C语言视乎都是为了考试或者做一些比较常规的题目,而这次实训却给我们的将所学知识运用于解决实际问题的机会,让人更有激情,这就是编写软件的在雏形,也让我们感受到了编写软件程序的乐趣。
但是不仅仅是如此,更为重要的是在运用所学知识的过程中,记住这些知识,并能够广泛的运用!虽然我这次是编写一个菜单的程序,但是如果我么留心的话,我们身边有许多电子设备都是内置有程序的,我们也可以在此次专题实训过后,自行确定其他的专题进行编写程序,这样可以让我们的知识更加深化丰富!这次实训似乎是对我巨大的考验,程序在不慌不忙的进行着,按照我自身的进度,提前完成是没有问题的,但是很多客观条件让我不得不在最后的时间里才上交的作业。
每当我把程序写完以后,却由于每一台电脑的识别格式不一样而导致我所写的文件一次次的被损坏,尽管这样,我仍然没有放弃,最后还赶在截止时间到来之前上交了我的作业!这一次编写大作业的程序又让我感受到学程序可以锻炼缜密的思维了。
因为平时练习的都是小程序,所以句段比较少,一些错误都很容易被检查出来,但是这次实训却是上百段的语句,难以检查,似乎也没有经验去怎么检查,那一刹那感觉到很急,但又不知如何是好,可是又不轻易的向老师询问,因为好像蛮简单,相信自己能够检查出来,所以我一般都是独立思考的完成的,只有少部分是在老师和与同学讨论下完成的。
华北水利水电大学C语言实验6
C语言程序设计实验报告实验6 综合程序设计班级 2013156 学号 201315613 姓名吴浩一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。
(2)掌握字符数组的使用。
(3)掌握与数组有关的算法。
二、实验内容及步骤1、猴子吃桃问题。
猴子第1天摘了若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。
第2天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想吃时,只剩下一个桃子了。
求第一天共摘了多少个桃子?程序代码:#include <stdio.h>main(){ int day,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/x2=x1;day--; }printf("第一天摘的桃子数:%d\n",x1); }2、百马百担问题:100匹马,驮100担货,大马3担,中马2担,两匹小马驮一担,问共有大、中、小马各多少?程序代码:#include<stdio.h>void main(){int i, j;for (i=0;i<34;i++)//大马for (j=0;j<(100-i*3)/2+1;j++)//中马if ((100-i-j)%2==0 && 3*i+2*j+(100-i-j)/2 ==100)printf("大马%d\t中马%d\t小马%d\n",i,j,100-i-j);}3、已有一个已排好序的数组,要求输入一个数,将它插入数组中,保持数组依然有序。
程序代码:#include <stdio.h>void main(){int i,k;int a[6]={1,5,21,67,98};for (i=0;i<5;i++)printf("%d ",a[i]);printf("\n input a int number:\n");scanf("%d",&a[5]);for(i=5;i>0;i--)if(a[i]<a[i-1]){k=a[i-1];a[i-1]=a[i];a[i]=k;}for(i=0;i<6;i++)printf("%d ",a[i]);printf("\n");}4.有一篇文章,共有3行文字,每行有80个字符。
C语言实验报告范文
C语言实验报告范文一、实验目的本实验旨在通过编写C语言程序,加深对C语言基本语法的理解,并运用所学的知识实现基本的程序控制结构。
二、实验内容1.编写一个程序,实现两个整数之间的数值互换。
2.编写一个程序,实现计算学生的平均成绩并输出。
3.编写一个程序,实现一个简单的计算器,能够实现加、减、乘、除四则运算。
三、实验步骤1.实现整数互换程序(1)首先定义两个整数变量a和b,并且分别赋予初值。
(2)使用第三个变量temp作为中间变量,将a的值赋给temp。
(3)将b的值赋给a,即执行a=b。
(4)将temp的值赋给b,即执行b=temp。
(5)输出交换后的a和b的值。
(6)编译并运行程序,验证结果。
2.实现计算学生平均成绩程序(1)首先定义学生的姓名和成绩的变量。
(2)使用scanf函数依次输入学生的姓名和成绩,并将其保存在定义好的变量中。
(3)使用循环控制将所有学生的成绩进行累加。
(4)计算平均成绩,使用累加的成绩除以学生人数。
(5)输出平均成绩。
(6)编译并运行程序,验证结果。
3.实现简单计算器程序(1)定义两个操作数和运算符的变量。
(2)使用scanf函数依次输入两个操作数和运算符,并将其保存在定义好的变量中。
(3)根据运算符的不同,使用不同的控制结构实现加、减、乘、除四则运算。
(4)输出运算结果。
(5)编译并运行程序,验证结果。
四、实验结果1.整数互换程序输入:a=10,b=20输出:交换后:a=20,b=10验证结果正确。
2.计算学生平均成绩程序输入:学生1:姓名:张三,成绩:85学生2:姓名:李四,成绩:90学生3:姓名:王五,成绩:78输出:平均成绩:84.33验证结果正确。
3.简单计算器程序输入:操作数1:10操作数2:5运算符:*输出:运算结果:50验证结果正确。
五、实验总结通过本次实验,我进一步熟悉了C语言的基本语法和程序控制结构,并成功实现了整数互换、计算平均成绩和简单计算器的功能。
C语言程序设计实验报告——实验六
c=add(a,b);
printf("sum is %f\n",c);
}
float add(float x,float y)
{
float z;
z=x+y;
return(z);
}
2.调试运行以下程序,分析调用函数前后程序中变量a和b的值是否发生改变?为什么?
void main( )
{
int a=3,b=6;
/*04*/ {
/*05*/ int a=14, b=15, temp;
/*06*/ temp=a/b;
/*07*/ #ifdef DEBUG
/*08*/ printf("a=%d, b=%d \n", a, b);
/*09*/ #endif
/*10*/ printf("temp =%d \n", temp);
#include <stdio.h>
#define NL printf("\n")
#define PRINT(F,V) printf("V=%F\t",V)
#define PRINT1(F,X1) PRINT(F,X1);NL
#define PRINT2(F,X1,X2) PRINT(F,X1);PRINT(F,X2);NL
main( )
{
int a,b,c,d;
float e,f,g,h;
long i,j;
char n,m;
a=1;b=2;c=3;d=4;e=1.5;f=2.5;g=3.5;h=4.5;
i=10;j=100;n='x';m='y';
C语言实验报告(精选9篇)
C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。
写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。
C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
C语言程序设计实验报告
C语言程序设计实验报告一、实验目的增强学生对C语言函数的理解和应用能力,提高编程能力。
二、实验要求利用C语言函数实现对一些文件中的数据进行读取、处理和输出,并设计函数完成相应的功能。
三、实验内容和方法本次实验将设计一个程序,实现对一个文本文件中的数据进行读取、处理和输出的功能。
设计思路:1.打开指定的文件,并判断文件是否能够成功打开。
2.读取文件中的数据,并存储到相应的变量中。
3.根据需要进行数据的处理和计算。
4.将处理后的数据输出到文件或屏幕上。
具体步骤:1.首先定义一个函数,用于打开文件,并判断文件是否成功打开。
函数的参数为文件名,返回一个文件指针。
2.定义一个函数,用于读取文件中的数据,并将数据存储到相应的变量中。
函数的参数为文件指针和数据存储变量。
3.定义一个函数,根据需要进行数据的处理和计算,并将结果存储到相应的变量中。
函数的参数为输入数据和输出数据的变量。
4.定义一个函数,将处理后的数据输出到指定的文件或屏幕上。
函数的参数为要输出的数据和输出文件的指针。
四、实验过程1.实验环境准备确保系统中已安装C语言的编程环境,如Code::Blocks等。
2.创建源文件在编程环境中创建一个源文件,命名为experiment.c。
3.编写源代码```c#include <stdio.h>FILE* openFile(char* filename)FILE* fp = fopen(filename, "r");if (fp == NULL)printf("Open file failed.\n");return NULL;}return fp;void readFile(FILE* fp, int* data)for (int i = 0; i < 3; i++)fscanf(fp, "%d", &data[i]);}void processData(int* input, int* output) for (int i = 0; i < 3; i++)output[i] = input[i] * input[i];}void printData(int* data, FILE* fp)for (int i = 0; i < 3; i++)fprintf(fp, "%d ", data[i]);}fprintf(fp, "\n");int maiFILE* inputFile = openFile("input.txt"); int input[3];int output[3];if (inputFile != NULL)readFile(inputFile, input);processData(input, output);FILE* outputFile = fopen("output.txt", "w");if (outputFile != NULL)printData(output, outputFile);fclose(outputFile);} elseprintf("Open output file failed.\n");}fclose(inputFile);}return 0;```五、实验结果与分析程序运行后,会打开一个名为input.txt的文件,从文件中读取3个整数,并将它们的平方结果写入output.txt文件中。
华水《C语言程序设计》实验报告 实验一
《C语言程序设计》实验报告实验一 Visual C++6.0的使用及顺序结构程序设计学号姓名一、实验目的1、掌握启动和退出VC6的方法。
2、熟悉VC6开发环境。
3、初步掌握简单程序的上机操作基本步骤,熟悉C单文件程序的输入、编译、链接和运行过程。
4、初步掌握程序的编辑修改和调试。
5、熟练使用赋值运算、算术运算等表达式。
6、熟练使用标准输入、输出函数及各种数据类型的格式说明符。
二、实验内容1、下面C语言程序,其功能是显示字符串“欢迎同学们来到华北水院计算中心!”。
请同学们按照下面的实验指导学习VisualC++6.0的使用。
1.启动VisualC++6.0开发环境(1)单击“开始”按钮,选择“程序” ——〉“Microsoft Visual Studio 6.0菜单项,单击“MicrosoftVisualC++6.0”,屏幕出现标题为“当时的提示”的窗口。
(2)单击“结束”按钮,关闭窗口,进入VC6.0开发环境的主窗口。
2.使用Visual C++6.0对一个C程序进行编辑、编译、连接和运行。
⑴分析Visual C++6.0中程序的开发过程与其它高级语言的开发过程相仿,都要经过编辑、编译、连接和运行四个步骤。
⑵步骤①编辑New对话框编辑是将C源程序输入计算机的过程。
在Visual C++6.0主界面下,点击File菜单,选择New菜单项,即可出现New对话框,如图1-1所示。
在弹出窗口中的Files标签页下,选择C++ Source File。
在选项卡右面的File编辑框里输入文件名如“Exa.c”,在Location编辑框里输入文件路径,如“d:\test”。
点击OK按钮。
将出现编辑窗口,如图1-2所示。
在图1-2所示的右端编辑窗口里输入以下C源程序并保存文件。
2i ncl ude <st di o.h>voi d m ai n(){pr i nt f("欢迎同学们来到华北水院计算中心!");}编辑窗口②编译编译是使用系统提供的编译器将文本文件Exa.c生成机器语言的过程,结果为Exa.obj,由于没有得到系统分配的绝对地址,还不能直接运行,如图1-3所示。
华北水利水电-单片机实验报告(答案)
单片机实验报告指导老师:***学院:机械学院专业:机械设计制造及其自动化专业学号:姓名:实验一汇编语言源程序编辑一、实验目的:了解软件μVision 4.0的安装,熟悉在μVision 4.0软件环境下进行单片机汇编源程序的编辑和修改,学会使用利用μVision 4.0软件监控单片机各个寄存器以及存储器的数据变化等。
二、实验内容:1、软件的安装和使用μVision 4.0软件的详细安装过程和使用说明请参考相关资料。
2、汇编源程序的编辑1)编辑和运行下面源程序,并按要求完成实验报告。
实验A 存储器块清零 S1.ASMBLOCK EQU 6000hMAIN:MOV DPTR,#BLOCK ; 起始地址MOV R0,#10H ;存储块长度CLR ALOOP:MOVX @DPTR,AINC DPTR ;指向下一个地址DJNZ R0,LOOP ;记数减一LJMP $END实验B 二进制到ASCII码转换 S2.ASM; 将A拆为二个 ASCII 码, 并存入 Result 开始的二个单元RESULT EQU 20HORG 0000HMAIN: MOV SP, #40HMOV A, #1AHCALL BinToHexLJMP $BinToHex:MOV DPTR, #ASCIITabMOV B,A ;暂存ASWAP AANL A, #0FH ;取高四位MOVC A, @A+DPTR ;查ASCII表MOV RESULT,AMOV A, B ;恢复AANL A, #0FH ;取低四位MOVC A, @A+DPTR ;查ASCII表MOV RESULT+1, ARETASCIITab: 30313233343536373839414243444546 DB '0123456789ABCDEF' ;定义数字对应的ASCII表END实验C 内存块移动 S3.ASMORG 0000HMAIN: MOV R0,#30hMOV R1,#00hMOV R2,#40hMOV R3,#00hMOV R7,#0LOOP: MOV DPH,R0MOV DPL,R1MOVX A,@DPTRMOV DPH,R2MOV DPL,R3MOVX @DPTR,ACJNE R1,#0FFH,GO1INC R0GO1: INC R1CJNE R1,#0FFH,GO2INC R2GO2: INC R3DJNZ R7,LOOPLJMP $END注意:源文件生成之后注意分别保存为s1.asm、s2.asm、s3.asm的文件名三、实验报告1、记录详细实验步骤1)双击μVision 4.0安装文件,同意条款,编辑信息,安装D盘,完成点击Finish 即可。
c语言实验报告实验6
1.实验目的(1)掌握C语言函数定义及调用的规则。
(2)理解参数传递的过程。
(3)掌握函数返回值的大小和类型确定的方法。
(4)理解变量的作用范围。
2.实验内容(1)上机调试下面的程序,修改系统给出的出错信息,并指出出错原因。
#include<stdio.h>int main(){int,y;printf("%d\n",sum(x+y));int sum(a,b){int a,b;return(a+b);}return 0;}(2)编写一个程序,输入系数a,b,c,求一元二次方程ax2+bx+c=0的根,包括主函数和如下子函数。
①判断a是否为零。
②计算判别式24。
b ac③计算根的情况。
④输出根。
(3)输入下面程序,分析运行结果。
#include<stdio.h>int func (int ,int);int main ( ){ int k=4,m=1,p1,p2;p1=func(k,m) ;p2=func(k,m) ;printf("%d,%d\n",p1,p2) ;return 0;}int func (int a,int b){ static int m=0,i=2;i+=m+1;m=i+a+b;return (m);}3.实验步骤和实验结果第一个程序未修改出错原因是int后不应直接跟逗号,而是定义的变量名称;剩下的错误就是程序当中所要使用到的变量未能给出定义修改后#include<stdio.h>int sum(int ,int );int main( ){int x=1,y=1,t;t=sum(x,y);printf(" %d\n",t);return 0 ;}int sum(int a,int b){int m;m=a+b;return m;}第二个程序#include <stdio.h>#include <math.h>int main(){double a,b,c,x1,x2,delta,p,q;scanf("%lf %lf %lf\n",&a,&b,&c);if(a==0)printf("不是一元二次方程\n");else{delta=b*b-4*a*c;if(delta==0){printf("方程有两个相等的实数根\n");x1=-b/(2*a);x2=x1;printf("%.2lf,%.2lf\n",x1,x2);}else if(delta>0){printf("方程有两个不相等的实数根\n");x1=-b/(2*a)+sqrt(delta)/(2*a);x2=-b/(2*a)-sqrt(delta)/(2*a);printf("%.2lf,%.2lf\n",x1,x2);}else{printf("有两个不相等的复数根\n");p=-b/(2*a);q=sqrt(-delta)/(2*a);printf("%.2lf+%.2lfi\n",p,q);printf("%.2lf-%.2lfi\n",p,q);}}return 0;}第三个程序按所给输出得4.分析与讨论第一个程序中x到a,y到b;第二个程序未使用子函数;第三个程序k到a,m到b。
实验6+答案
华北水院高级语言程序设计(C语言)实验报告2011—2012学年第二学期 2011级专业班级:学号:姓名:一、实验题目:指针二、实验目的:1. 理解指针的概念及指针的运算及用法。
2. 掌握指针作为函数参数的作用。
3. 掌握指针和数组的关系及通过指针引用数组元素的方法。
4. 掌握字符指针和字符串之间的关系。
三、实验内容1 编写程序,从键盘读入3个int型数到变量i、j、k中,然后通过函数调用将它们的值依次交换,即i赋给j、j赋给k、k赋给i。
程序代码:void fun(int *x,int *y,int *z){int t;t=*x;*x=*y;*y=*z;*z=t;return;}#include"stdio.h"void main(){int i,j,k;printf("i j k");scanf("%d%d%d",&i,&j,&k);fun(&i,&j,&k);printf("i=%d,j=%d,k=%d",i,j,k);}『运行结果:』2 读入两个字符串S1、S2,输出两者按如下方式合并成的字符串S(要求用字符指针)。
设S1=a 1a 2…a n ,S2=b 1b 2…b m ,则1122n n 1122m m m+1n 1122n n n+1ma b a b a b (n=m)S=a b a b a b a a (n>m)a b a b a b b b (n<m)ìïïïïïíïïïïïîL L L L L 程序代码:#include"stdio.h"#include"string.h"void strinsert(char *s,char *s1,char *s2){char *t;t=s;while(*s1&&*s2){*s++=*s1++;*s++=*s2++;}if(*s1==0)while(*s++=*s2++);else if(*s2==0)while(*s++=*s1++);return ;}void main(){char a1[10],a2[20],a[30];gets(a1);gets(a2);strinsert(a,a1,a2);puts(a);}『运行结果:』。
c语言程序设计 实验报告
c语言程序设计实验报告C语言程序设计实验报告引言:C语言是一种广泛应用于软件开发领域的高级编程语言,具有结构化、高效、可移植等特点。
本实验报告将介绍我在C语言程序设计实验中所进行的实验内容和实验结果。
实验一:基本语法和数据类型在这个实验中,我学习了C语言的基本语法和数据类型。
通过编写简单的程序,我熟悉了C语言的语法规则和程序结构。
同时,我还了解了C语言中的数据类型,包括整型、浮点型、字符型等,并学会了如何声明和使用这些数据类型。
实验二:控制结构在这个实验中,我学习了C语言的控制结构,包括顺序结构、分支结构和循环结构。
通过编写不同类型的程序,我掌握了C语言中if语句、switch语句和for、while、do-while循环的使用方法。
这些控制结构为程序的流程控制提供了灵活的方式,使程序能够根据不同的条件执行不同的操作。
实验三:数组和字符串在这个实验中,我学习了C语言中的数组和字符串。
通过编写数组和字符串相关的程序,我了解了如何声明和使用数组,以及如何进行数组的遍历、排序和查找等操作。
同时,我还学会了如何声明和操作字符串,包括字符串的输入输出、拼接和比较等。
实验四:函数和指针在这个实验中,我学习了C语言中的函数和指针。
函数是C语言中的重要概念,通过函数可以将程序划分为多个模块,提高代码的可读性和可维护性。
我掌握了函数的声明和定义方法,以及函数的调用和参数传递方式。
同时,我还学会了如何声明和使用指针,包括指针的定义、指针的运算和指针的传递等。
实验五:文件操作在这个实验中,我学习了C语言中的文件操作。
通过编写文件读写相关的程序,我了解了如何打开和关闭文件,以及如何进行文件的读写操作。
我还学会了如何使用文件指针进行文件的定位和读写位置的移动。
实验六:结构体和链表在这个实验中,我学习了C语言中的结构体和链表。
结构体是一种自定义的数据类型,可以将不同类型的数据组合在一起形成一个新的类型。
通过编写结构体和链表相关的程序,我了解了如何声明和使用结构体,以及如何创建和操作链表。
C语言实验报告(六)
C语言实验报告(六)第一篇:C语言实验报告(六)华北水院高级语言程序设计(C语言)实验报告2014--2015学年第二学期 2014级通信专业班级:164 学号:201416430 姓名:詹晓东一、实验题目:指针二、实验目的:(略)三、实验内容1.程序验证(略)2.程序设计1)下面程序的功能是分别求出数组中所有3的倍数之和以及所有5的倍数之和。
形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用指针five返回5的倍数之和。
例如:数组中的值依次为:1,5,9,2,3,15,11,6,10;则利用指针three返回3的倍数之和33;利用指针five返回5的倍数之和30。
请在下面空白处完善这一函数的功能,并且调试运行出结果。
源代码:#include #define N 20 void fun(int *a,int n,int *three,int *five){ int i;for(i=0;i<=n;i++){if(a[i]%3==0)*three+=a[i];if(a[i]%5==0)*five+=a[i];}} void main(){ int a[N]={1,5,9,2,3,15,11,6,10},i,n=9,three,five;three=five=0;printf(“The original data is:n”);for(i=0;iprintf(“%5d”,*(a+i));printf(“nn”);fun(a,n,&three,&five);printf(“3的倍数之和:%dn”,three);printf(“5的倍数之和:%dn”,five);} 运行结果:2)从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出。
(例如输入abcdef,输出fedcba)。
请编写相应的程序代码,并调试运行出正确结果。
源代码:#include #include void main(){ int i,j;char str[80];char s;printf(“请输入一个字符串:n”);scanf(“%s”,str);j=strlen(str);printf(“字符串逆序输出为:n”);for(i=j;i>0;i--){ s=str[i-1];printf(“%c”,s);}printf(“n”);}void fun(char *s){ int i,j;char temp;j=strlen(s);for(i=0;is[i]=s[j-i-1];s[j-i-1]=temp;} } 运行结果:实验心得:通过本次的学习,我对于指针的使用有了一定的了解,但是由于较难,在过程中遇到很多的困难,今后应多加练习才能有进步。
c语言实验报告大一
c语言实验报告大一C语言实验报告大一引言在大学的计算机科学与技术专业中,C语言是一门基础而重要的编程语言。
作为大一学生,我们在学习C语言的过程中,不仅仅是理论知识的学习,还需要通过实验来巩固和应用所学的知识。
本篇文章将介绍我在大一期间完成的一些C语言实验,并分享一些实验过程中的心得体会。
实验一:Hello, World!在学习任何一门编程语言时,第一个程序往往是打印"Hello, World!"。
这个简单的程序不仅仅是一个入门的开始,更是我们对编程世界的第一次探索。
通过这个实验,我学会了如何编写一个简单的C程序,并且理解了程序的运行原理。
实验二:数据类型与运算符在这个实验中,我学习了C语言中的不同数据类型,如整数类型、浮点数类型和字符类型。
通过实验,我深入理解了数据类型的区别和选择的依据。
同时,我也学会了使用不同的运算符进行算术运算、逻辑运算和位运算。
这些基础的知识为我后续的学习打下了坚实的基础。
实验三:条件语句和循环结构在这个实验中,我学习了C语言中的条件语句和循环结构。
通过编写一些简单的程序,我掌握了if语句、switch语句和for循环、while循环等控制结构的使用方法。
这些结构的灵活运用,使得我能够编写更加复杂和实用的程序。
实验四:函数与数组函数是C语言中一个非常重要的概念,通过函数的封装和调用,我们可以将程序分解为模块,提高代码的可读性和可维护性。
在这个实验中,我学习了如何定义和调用函数,并且掌握了函数参数的传递和返回值的使用。
同时,我也学会了如何使用数组来处理一系列的数据,通过数组的操作,我可以更加高效地处理大量的数据。
实验五:指针与动态内存分配指针是C语言中一个非常重要且难以理解的概念。
在这个实验中,我通过编写一些程序,掌握了指针的基本概念和使用方法。
同时,我也学会了如何使用动态内存分配来管理内存空间,避免程序出现内存泄漏等问题。
指针的灵活运用,使得我能够更加高效地处理复杂的数据结构和算法。
c语言程序设计实验报告
c语言程序设计实验报告引言:C语言是一种广泛应用于计算机科学和程序设计中的高级编程语言,其简洁、高效和强大的功能使其成为许多程序员的首选。
本实验报告旨在介绍我在C语言程序设计实验中的实践经验和成果。
实验目的:通过实验,我旨在进一步巩固我对C语言的理解,并学会在实际问题中应用所学的知识。
我希望通过这个实验能够提高我的编程技能和解决问题的能力。
实验一:基本语法和数据类型在本实验中,我掌握了C语言的基本语法和数据类型。
我学会了如何声明和定义变量,并使用基本的数据类型(如整型和浮点型)进行编程。
通过这个实验,我能够编写简单的程序来执行计算和打印输出。
实验二:控制结构和循环在这个阶段,我学会了使用控制结构(如条件语句和循环语句)来实现程序的控制流。
我可以使用条件语句来判断某些条件是否成立,并根据条件的结果来执行不同的代码块。
我还学会了使用循环语句来重复执行一段代码,以实现类似的功能。
实验三:函数和模块化函数是C语言程序设计的重要组成部分之一。
在实验三中,我深入学习了函数的概念和用法,并将其应用于我自己的程序中。
我发现使用函数可以大大简化程序的结构和逻辑,并提高代码的可读性和可维护性。
我还学会了如何将函数分割成不同的模块,以实现更好的模块化。
实验四:数组和指针在这个实验中,我掌握了数组和指针的使用。
数组是存储相同类型数据的连续内存块,而指针则指向内存中的特定位置。
我学会了如何声明和操作数组,以及如何使用指针来间接访问和修改数据。
这个实验加深了我对内存管理的理解,使我能够更好地理解和调试复杂的程序。
实验五:文件操作在实验五中,我学会了如何使用C语言进行文件操作。
我可以打开、读取、写入和关闭文件,并且可以在程序中实现对文件的各种处理。
这使得我的程序可以更灵活地与外部数据源进行交互,并具备了更强大的功能。
实验六:综合实验最后一个实验是一个综合性的实验,要求我们将我们在前面实验中学到的知识应用于一个实际问题,如学生成绩管理系统或图书借阅系统。
c语言实验报告实验
c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际编程操作,加深对 C 语言基本语法、数据类型、控制结构、函数等知识的理解和运用,提高编程能力和解决实际问题的能力。
二、实验环境操作系统:Windows 10编译器:DevC++ 511三、实验内容(一)基本数据类型与运算1、定义不同类型的变量,如整型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和基本运算。
2、观察不同数据类型在内存中的存储方式和取值范围。
(二)控制结构1、编写使用 ifelse 语句实现条件判断的程序,根据输入的数值输出不同的结果。
2、运用 for 循环和 while 循环结构,实现计算指定范围内的整数和、平均值等。
(三)数组与字符串1、定义数组并进行初始化,实现数组元素的遍历和操作。
2、处理字符串的输入、输出和基本操作,如字符串的连接、比较等。
(四)函数1、定义和调用自定义函数,实现特定功能,如计算阶乘、判断素数等。
2、理解函数的参数传递方式(值传递和地址传递)。
四、实验步骤及代码实现(一)基本数据类型与运算```cinclude <stdioh>int main(){int num1 = 10;float num2 = 314;char ch ='A';printf("整型变量 num1 的值为:%d\n", num1);printf("浮点型变量 num2 的值为:%f\n", num2);printf("字符型变量 ch 的值为:%c\n", ch);int sum = num1 +(int)num2;printf("num1 和num2 的和(强制转换为整型)为:%d\n",sum);return 0;}```(二)控制结构1、 ifelse 语句```cinclude <stdioh>int main(){int num = 5;if (num > 10) {printf("数字大于 10\n");} else {printf("数字小于或等于 10\n");}return 0;}```2、 for 循环```cinclude <stdioh>int main(){int sum = 0;for (int i = 1; i <= 10; i++){sum += i;}printf("1 到 10 的整数和为:%d\n", sum);return 0;}```3、 while 循环```cinclude <stdioh>int main(){int num = 1;int product = 1;while (num <= 5) {product = num;num++;}printf("1 到 5 的乘积为:%d\n", product);return 0;}```(三)数组与字符串1、数组```cinclude <stdioh>int main(){int arr ={1, 2, 3, 4, 5};for (int i = 0; i < 5; i++){printf("数组元素 arr%d 的值为:%d\n", i, arri);}return 0;}```2、字符串```cinclude <stdioh>include <stringh>int main(){char str1 ="Hello, ";char str2 ="World!";char str320;strcpy(str3, str1);strcat(str3, str2);printf("连接后的字符串为:%s\n", str3);int result = strcmp(str1, str2);if (result == 0) {printf("两个字符串相等\n");} else if (result < 0) {printf("str1 小于 str2\n");} else {printf("str1 大于 str2\n");}return 0;}```(四)函数1、计算阶乘```cinclude <stdioh>int factorial(int n) {if (n == 0 || n == 1) {return 1;} else {return n factorial(n 1);}}int main(){int num = 5;int fact = factorial(num);printf("%d 的阶乘为:%d\n", num, fact);return 0;}```2、判断素数```cinclude <stdioh>int isPrime(int n) {if (n <= 1) {}for (int i = 2; i i <= n; i++){if (n % i == 0) {return 0;}}return 1;}int main(){int num = 7;if (isPrime(num)){printf("%d 是素数\n", num);} else {printf("%d 不是素数\n", num);}return 0;}五、实验结果与分析(一)基本数据类型与运算程序运行结果符合预期,不同数据类型的变量能够正确存储和运算,对浮点型数据的强制类型转换也能得到正确的结果。
c语言程序设计水利水电
C语言程序设计水利水电概述水利水电工程是指利用水资源进行电力生产以及水利枢纽工程和渠道建设等水利工程。
C语言是一种通用的高级编程语言,具有简洁、高效、可移植等特点。
本文档将介绍如何运用C语言进行水利水电工程的程序设计,以实现相关功能。
目录1.水利水电工程简介2.C语言程序设计基础知识1.数据类型2.控制流程3.函数4.数组和指针5.结构体3.水文数据处理程序设计1.数据输入与输出2.数据处理与计算3.数据存储与读取4.水电站模拟程序设计1.水库水位与流量计算2.水电站发电量预测3.系统运行状态检测与控制5.水利工程可视化设计1.图形界面设计2.数据可视化展示3.用户交互与操作6.水利水电工程实例分析1.坝体稳定性分析2.溢洪道流量计算3.水电站效益评估7.总结与展望1.水利水电工程简介水利水电工程是人类利用水资源进行发电和水资源利用的重要项目。
包括水库、大坝、水电站、引水渠等建设和管理。
C语言程序设计作为一种强大的编程语言,可以应用于水利水电工程的自动化控制和数据处理等方面。
2. C语言程序设计基础知识在进行水利水电工程的程序设计之前,我们需要掌握一些C语言的基础知识。
这些知识包括数据类型、控制流程、函数、数组和指针以及结构体等。
2.1数据类型C语言中有多种数据类型,包括整型、浮点型、字符型等。
我们需要了解这些数据类型的用途、取值范围以及相应的格式符号。
2.2控制流程控制流程是程序执行的路线控制,包括顺序结构、选择结构和循环结构。
我们需要掌握如何使用i f语句、swi t ch语句和f or循环、wh il e 循环等进行流程控制。
2.3函数函数是C语言程序的基本组成单元,可以方便地对代码进行模块化设计。
我们需要学会如何定义函数、调用函数以及传递参数和返回值。
2.4数组和指针数组和指针是C语言中常用的数据结构,可以用于存储和操作一组相关的数据。
我们需要了解如何定义和使用数组以及指针的作用和使用方法。
大学c语言实验报告
大学c语言实验报告大学C语言实验报告引言计算机科学与技术专业的学生在大学期间都会学习C语言这门编程语言。
C语言是一种高级程序设计语言,广泛应用于系统软件和应用软件的开发中。
在学习C语言的过程中,实验是不可或缺的一部分。
本文将对大学C语言实验进行探讨,包括实验目的、实验内容、实验过程和实验心得。
实验目的C语言实验的主要目的是培养学生的编程能力和解决问题的能力。
通过实验,学生可以掌握C语言的基本语法、数据类型、控制结构和函数等知识,理解程序的执行过程,培养编写高效、健壮的程序的能力。
实验内容C语言实验的内容通常包括以下几个方面:1. 基本语法:学生需要掌握C语言的基本语法,包括变量的声明和赋值、运算符的使用、条件语句和循环语句的编写等。
2. 数据类型:C语言提供了多种数据类型,如整型、浮点型、字符型、数组和结构体等。
学生需要了解各种数据类型的特点和使用方法,并能够灵活运用。
3. 函数:函数是C语言中的重要概念,学生需要学会如何定义函数、调用函数和传递参数。
同时,学生还需要了解函数的返回值和作用域等相关知识。
4. 文件操作:C语言提供了文件操作的函数库,学生需要学会如何打开文件、读写文件和关闭文件等操作。
实验过程在进行C语言实验之前,学生需要先了解实验要求和实验环境。
通常,学校会提供一台配置好的计算机,并安装好相应的编译器和调试器。
在实验过程中,学生需要按照实验要求进行编码。
首先,学生需要分析实验题目,理解问题的要求。
然后,学生可以使用编译器编写程序,并进行调试。
调试过程中,学生需要逐步检查程序的运行结果,定位错误并进行修正。
最后,学生需要对程序进行测试,验证程序的正确性和健壮性。
实验心得通过参与C语言实验,我深刻体会到了编程的乐趣和挑战。
在实验过程中,我不仅学到了C语言的基本知识,还培养了解决问题的能力和团队合作精神。
首先,实验让我了解到编程是一项需要耐心和细心的工作。
在编写程序的过程中,我需要仔细思考每一行代码的含义和作用,避免出现错误。
C语言实验报告
目录实验一熟悉C开发环境和C程序的上机步骤实验二基本数据类型及数据的输入输出实验三运算符及表达式实验四顺序结构程序设计实验五选择结构程序设计实验六循环结构程序设计实验七数组及其应用实验八函数及其应用实验九指针及其应用实验(一)熟悉C开发环境和C程序的上机步骤实验时间:2012.4.2同组人员:实验目的:1.了解Turbo C++3.0编译系统,熟悉各菜单的功能,掌握在该系统上的编辑,编译,连接和运行一个C程序的方法。
2.通过调试,运行简单的C程序,初步了解C语言源程序的特点。
实验内容1.编写一个C程序,求一个圆的面积。
2.编写程序求任意三个数中的最大值。
实验步骤实验1:1.首先,求一个圆的面积,必须有一个常量3.14和一个变量半径r。
2.其次,要对定义的变量及常量一个数据类型int。
3.再利用公式s=3.14*r*r就可以求出所要求的圆的面积s。
#include<stdio.h>void main(){int r,s;scanf("%d",&r) ;s=3.14*r*r;printf("%d\n",s);}实验2:1.首先确定要输入的数的数据类型int。
2.其次,要针对不同的数作具体分析,要考虑到每一种情况,利用与的逻辑运算符对不同的情况作分析,例如当x>y&&Y>z时与x>z&&Z>y时的比较,此时最大的值都是x。
3.最后可以根据比较的过程输出需要的结果。
4.在输入的时候,只需输入三个符合规定的字符。
然后enter就可以比较出结果了。
#include<stdio.h>void main(){int x, y ,z,c ;scanf("%d,%d,%d",&x,&y,&z);if (x>y&&y>z)c=x;if (y>x&&x>z)c=y;if (z>x&&x>y)c=z;if (x>z&&z>y)c=x;if (y>z&&z>x)c=y;if (z>y&&y>x)c=z;printf ("%d\n",c);}实验结果分析实验1:求圆的面积分析:1.在数据类型上的选择问题要注意,若定义的是整型int,则输出的时候格式符也必须是%d。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
华北水院高级语言程序设计(C语言)实验报告(六)
--学年第学期
级专业:学号:姓名:………………………………………………………………………………………………
一、实验题目:指针
二、实验目的:(略)
三、实验内容:
1. 程序验证(略)
2.程序设计
1)分别求出数组中所有3的倍数之和以及5的倍数之和。
形参n给了数组中数据的个数,利用指针three返回3的倍数之和,利用指针five返回5的倍数之和。
例如:数组中的值依次为:1,5,9,2,3,15,11,6,10;则利用指针three返回3的倍数之和33;利用指针five返回5的倍数之和30。
请在下面空白处完善这一函数的功能,并且调试运行出结果。
源代码:运行结果:
#include <stdio.h>
#define N 20
void fun(int *a,int n,int *three,int *five)
{
int i;
*three=0;*five=0;
for(i=0;i<n;i++)
if(a[i]%3==0)
*three+=a[i];
for(i=0;i<n;i++)
if(a[i]%5==0)
*five+=a[i];
}
void main()
{
int a[N]={1,5,9,2,3,15,11,6,10},i,n=9,three,five;
printf("The original data is:\n");
for(i=0;i<n;i++)
printf("%5d",*(a+i));
printf("\n\n");
fun(a,n,&three,&five);
printf("3的倍数之和:%d\n",three);
printf("5的倍数之和:%d\n",five);
}
华北水院高级语言程序设计(C语言)实验报告(六)
--学年第学期
级专业:学号:姓名: ………………………………………………………………………………………………2)从键盘输入一个字符串,实现利用字符指针将字符串的字符顺序逆置并输出。
(例如输入abcdef,输出fedcba)。
请编写相应的程序代码,并调试运行出正确结果。
源代码:运行结果:
#include<stdio.h>
#include<string.h>
void main()
{
int i;
int length;
char str[80];
char s;
printf("请输入一个字符串:\n");
scanf("%s",str);
length=strlen(str);
printf("字符串逆序输出为:\n");
for(i=length;i>0;i--)
{
s=str[i-1];
printf("%c",s);
}
printf("\n");
}
void fun(char *s)
{
int i,length;
char temp;
length=strlen(s);
for(i=0;i<length/2;i++)
{
temp=s[i];
s[i]=s[length-i-1];
s[length-i-1]=temp;
}
}。