C++高级程序设计实验报告四(125)
c程序设计 实验报告

c程序设计实验报告C程序设计实验报告引言:C程序设计是计算机科学中一门重要的编程语言,广泛应用于软件开发、系统编程等领域。
本实验报告旨在总结并分析我在C程序设计实验中的学习经验和成果。
实验一:基本语法和数据类型C语言作为一门结构化的编程语言,具有丰富的语法和数据类型。
在本实验中,我学习了C语言的基本语法,包括变量的声明和赋值、运算符的使用以及条件语句和循环语句的控制流程。
通过编写简单的程序,我熟悉了C语言的基本语法和数据类型的使用。
实验二:函数和指针函数是C语言中的重要概念,通过函数的封装和调用,可以实现程序的模块化和复用。
在本实验中,我学习了函数的定义和调用,了解了函数的参数传递和返回值的使用。
同时,我还学习了指针的概念和用法,掌握了指针变量的声明和指针运算的基本操作。
通过实验练习,我对函数和指针的使用有了更深入的理解。
实验三:数组和字符串数组和字符串是C语言中常用的数据结构,对于处理大量数据和字符操作非常重要。
在本实验中,我学习了数组的定义和使用,了解了数组的下标和内存分配的原理。
同时,我还学习了字符串的表示和处理方法,掌握了字符串的输入输出和常见操作函数的使用。
通过实验练习,我对数组和字符串的应用有了更深入的认识。
实验四:结构体和文件操作结构体是C语言中用于组织和管理复杂数据的一种方式,文件操作则是处理外部文件的重要技术。
在本实验中,我学习了结构体的定义和使用,了解了结构体成员的访问和结构体数组的操作。
同时,我还学习了文件的打开、读写和关闭操作,掌握了文件指针的使用和文件读写的基本流程。
通过实验练习,我对结构体和文件操作的应用有了更深入的了解。
实验五:动态内存分配和链表动态内存分配和链表是C语言中高级的数据结构和算法,对于处理动态数据和实现复杂逻辑非常重要。
在本实验中,我学习了动态内存分配的方法和使用,了解了malloc和free函数的原理和使用。
同时,我还学习了链表的定义和操作,掌握了链表的插入、删除和遍历等基本操作。
《C语言程序设计》实验四

电子科技大学计算机学院标准实验报告(实验)课程名称C语言程序设计电子科技大学教务处制表电子科技大学实验报告四学生姓名:学号:指导教师:王瑞锦实验地点:实验日期:年月日一、实验室名称:软件实验室二、实验项目名称:函数的应用及预处理三、实验学时:2四、实验原理:使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。
Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。
通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。
五、实验目的1.掌握C语言中定义函数的方法;2.掌握函数传值调用的方法;3.掌握函数传址调用的方法;4.掌握递归函数的设计方法;5.掌握命令行参数的使用方法;6.掌握函数在不同文件中的编译、链接方法。
六、实验内容编程实验,完成以下上机内容,调试运行程序并完成报告1)、教材第七章习题7.4;2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3)、教材第七章习题7.11;4)、教材第七章习题7.15;5)、教材第七章习题7.24;6)、求解汉渃塔(tower of Hanoi)问题。
在一块平板上立有3根立柱,从左到右分别标记为A,B,C。
最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。
要求将这些盘从A移到C(可以借助B柱)。
条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。
(提示:利用函数的递归调用);七、实验器材(设备、元器件):pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。
软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。
八、实验步骤:实验编程与运行结果⑴编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。
程序文件名为7_4.c,源程序清单如下:#include<stdio.h>lcd(int a,int b){int temp,num1,num2;num1=a;num2=b;while(num2!=0){temp=num1%num2;num1=num2;num2=temp;}return(a*b/num1);}main(){int t,x,y;printf("Please input two integers:");scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;y=t;}printf("lcd(%d,%d)=%d\n",x,y,lcd(x,y));}运行结果:⑵编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。
C#程序设计实验报告四

C#程序设计实验报告四《C#程序设计》实验报告实验名称:实验四面向对象高级编程实验日期:2012/3/18班级:B09512学号:20094051226姓名:刘倩云一、实验目的1.加深理解面向对象编程的概念,如类、对象、实例化等;2.熟练掌握基类与派生类的定义与使用;3.掌握接口的定义与实现;4.掌握C#异常处理的概念及异常处理的方法。
二、实验内容1.定义一个人员类CPerson,包括数据成员:姓名、编号、性别和用于输入输出的成员函数。
在此基础上派生出学生类CStudent(增加成绩)和教师类CT eacher(增加教龄),并实现对学生和教师信息的输入输出。
2.P305第6题。
3.接口练习题:(1)定义一个图形接口IShape,包含计算图形面积Area( )和周长GramLength( )两个方法,以及获取图形边数的属性Sides。
(2)定义一个输出图形的接口IShapePlay,继承IShape接口,并且包含一个方法Play( ),用于输出图形的周长、边数和面积。
(3)定义一个实现两个这接口的类Square,计算正方形的面积和周长并输出。
4.P304第6题三、实验过程using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Cperson{class person{string name; string num; string sex;public void input(){Console.Write("请输入姓名:"); name=Console.ReadLine();Console.Write("请输入编号:"); num=Console.ReadLine();Console.Write("请输入性别:男“m”女“f”); sex=Console.ReadLine();while (true){if (sex == "m" || sex == "f") break;Console.Write("请重新输入性别:男“m”女“f”); sex = Console.ReadLine();if (sex == "m" || sex == "f") break;}}public string getname(){ return name; }public void output(person []a,int k){ Console.Write("{0,-8}{1,-14}{2,-12}" ,a[k].name ,a[k].num ,a[k].sex); } }class CStudent:person{float grade;public void input1(){input(); Console.Write("请输入学生成绩:");grade = float.Parse(Console.ReadLine());}public void output1(CStudent []a,int i){person []b = new person[i];Console.WriteLine("{0,-10}{1,-10}{2,-10}{3,-10}", "姓名", "编号", "姓别", "成绩");for (int j = 0; j < i; j++){b[j]=new person (); b [j]= a[j]; output(b, j);Console.WriteLine("{0,-10}",a[j].grade);}}}class Cteacher:person{int year;public void input1(){input(); Console.Write("请输入教师工龄:");year = int.Parse(Console.ReadLine());}public void output1(Cteacher []a,int k){person[] b = new person[k];Console.WriteLine("{0,-10}{1,-10}{2,-10}{3,-10}", "姓名", "编号", "姓别", "教龄");for (int j = 0; j < k; j++){b[j] = new person(); b[j] = a[j]; output(b, j);Console.WriteLine("{0,-10}", a[j].year);}}}class Program{static void Main(string[] args){int renshu; Console.WriteLine("请输入学生人数:");renshu=int.Parse(Console.ReadLine());CStudent []student = new CStudent[renshu];for (int i = 0; i < renshu; i++) student[i] = new CStudent();for (int i = 0; i < renshu; i++) student[i].input1();student[0].output1(student,renshu ); Console.WriteLine("请输入教师人数:");renshu = int.Parse(Console.ReadLine());Cteacher[] teacher = new Cteacher[renshu];for (int i = 0; i < renshu; i++){ teacher[i] = new Cteacher(); teacher[i].input1(); }for (int j = 0; j < renshu; j++) teacher[j].output1(teacher ,renshu );}}}运行结果入下图:using System;using System.Collections.Generic; using System.Linq;using System.Text; namespace 接口{interface Ishape{double Area(); double GramLength();int getsides{ get; set; }}interface IShapePlay:Ishape{ void Play(); }class Square : IShapePlay{private double a; int sides;public void seta(){Console.Out.Write("请输入正方形边长:");a=Double.Parse(Console.In.ReadLine());}public double Area() { return a * a; }public double GramLength() { return 4 * a; }public int getsides{ set { sides = value; } get { return sides; } }public void Play(){Console.WriteLine("边长为" + getsides+"面积为:"+Area());Console.WriteLine("边长为" + getsides + "周长为:" + GramLength());}}class Program{static void Main(string[] args){Square s = new Square(); s.getsides = 4;s.seta(); s.Play();}}}运行结果如下图:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace PavelTsekov{interface I1{ void MyFunction1(); }interface I2{ void MyFunction2(); }class Test:I1,I2{//public void I1.MyFunction1() 错误public void MyFunction1() //正确的代码{ Console.WriteLine("Now I can say this here is I1 implemented!"); }//public void I2.MyFunction2() 错误public void MyFunction2() //正确的代码{ Console.WriteLine("Now I can say this here is I2 implemented!"); } }class AppClass{public static void Main(string[] args){Test t = new Test();t.MyFunction1();t.MyFunction2();}}}运行结果如下图:namespace Cpoint{class Cpoint{private int x, y;public Cpoint (int x,int y){ this.x=x; this.y=y ; }public int x1{ set { x = value; } get { return x; } }public int y1{ set { y = value; } get { return y; } }}class Cline : Cpoint{public Cline(int x,int y):base(x,y){ ; }public double juli(Cpoint c1, Cpoint c2){ double a;a= Math.Sqrt((c1.x1 - c2.x1) * (c1.x1 - c2.x1) + (c1.y1 - c2.y1)*(c1.y1 - c2.y1)); return a; } }class Crect : Cline{public Crect(int x, int y): base(x, y){ ; }public double Aera(Cpoint c1, Cpoint c2,Cpoint c3){ double a, b, c; b = juli(c1,c2); c = juli(c1, c3);a =b * c; return a; }public double C(Cpoint c1, Cpoint c2, Cpoint c3){ double a; double b, c; b = juli(c1, c2);c = juli(c1, c3); a =( b + c)*2; return a; }}class AppClass{public static void Main(string[] args){Cpoint c1 = new Cpoint(1,2);Cpoint c2 = new Cpoint(4,6);Cpoint c3 = new Cpoint(7,10);Cline c = new Cline(4,5);Crect d = new Crect(5,6);Console.WriteLine("坐标为("+c1.x1+","+c1.y1+")"+"和("+c2.x1+","+c2.y1+")之间的距离为"+ c.juli(c1,c2));Console.WriteLine("坐标为(" + c1.x1 + "," + c1.y1 + ")" + "和" + c3.x1 + ","+ c3.y1 + ")之间的距离为" + c.juli(c1, c3));Console.WriteLine("坐标为(" + c1.x1 + "," + c1.y1 + ")" + ",(" + c2.x1 +"," + c2.y1 + ")" + ",(" + c3.x1 + "," + c3.y1 + ")矩形面积为"+d.Aera(c1, c2, c3));Console.WriteLine("坐标为(" + c1.x1 + "," + c1.y1 + ")" + ",(" + c2.x1 +"," + c2.y1 + ")" + ",(" + c3.x1 + "," + c3.y1 + ")矩形面积为" +d.C(c1, c2, c3));}}}运行结果如下图:四、实验总结(1)对于接口的函数创建定义为public类型无效。
C程序设计实验四实验报告

实验报告工学院土木工程专业09级2011 至2012 学年度第 1 学期实验目的:1、了解C语言表示逻辑量的方法(以0代表“假”, 以非0代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句的使用(包括if语句的嵌套);4.熟练掌握多分支选择语句——switch语句;5.结合程序掌握一些简单的算法;6.进一步学习调试程序的方法。
实验内容(1)本实验要求事先编好解决下面问题的程序, 然后上机输入程序并调试运行程序。
有一函数: x (x<1)y=﹛2x-1 (1<=x<10)3x-11 (x>=10)①写程序, 输入x的值, 输出y相应的值。
用scanf函数输入x的值, 求y值。
输入程序如下:#include<stdio.h>int main(){int x,y;printf("Please input x:");scanf("%d",&x);if (x<1){y=x;printf("x=%d y=%d",x,y);}else if (x<10){y=2*x-1;printf("x=%d y=%d",x,y);}else{y=3*x-11;printf("x=%d y=%d",x,y);}return 0;}运行结果如下: (分别输入-6,5,15)①从键盘输入一个小于1000的正数, 要求输出它的平方根(如果平方根不是正数,则输出其整数部分)。
要求在输入数据后先对其进行检查是否小于1000。
若不是, 则要求重新输入。
输入数据如下:#include<stdio.h>#include<math.h>int main(){int x,y;printf("Please input x:");scanf("%d",&x);while (x>1000){printf("Please input x(<1000):");scanf("%d",&x);}y=sqrt(x);printf("x=%d y=%d",x,y);return 0;}②运行结果如下①给出一个百分制成绩, 要求输出成绩等级A,B,C,D,E。
C程序设计实验报告四

C程序设计课程实验报告四班级:软工151 姓名:周敏磊学号:15477133一、实验目的掌握结构体与文件输入输出的基础语法与基本编程方法二、实验内容将实验报告三中成绩管理系统的各项功能,用结构体实现并增加文件输入输出功能。
三、实验过程与相关代码#include<stdio.h>#include<string.h>#include<stdlib.h>typedef struct student {char name[20];/*姓名*/int score;/*成绩*/struct student *next;}STU;int n;/*全局变量n用于统计链表的结点数*/STU *creat(){STU *head,*p1,*p2;FILE *fp;if((fp=fopen("d:\\ZML.txt","w"))==NULL) /*以写的方式打开文件*/{printf("cannot open file");getch();exit(1);}n=0;head=NULL;/*链表头赋初值NULL*/p1=p2=(STU *)malloc(sizeof(STU));/*动态申请一个新结点*/printf("请输入学生的姓名成绩并以*结束\n");scanf("%s%d",p1->name,&p1->score);fprintf(fp,"%s\t%d\n",p1->name,p1->score);/*在文件中写入数据*/while(strcmp(p1->name,"*")!=0)/*如果学号不为*时*/{n=n+1;/*结点数加1*/if(n==1) head=p1;/*链表头指向链表第一个结点*/else p2->next=p1;/*将原链表中最后一个结点和新建立的结点链接起来*/p2=p1;p1=(STU *)malloc(sizeof(STU));/*重新动态申请一个新结点*/scanf("%s%d",p1->name,&p1->score);fprintf(fp,"%s\t%d\n",p1->name,p1->score);}p2->next=NULL;/*令链尾结点的指针域为空指针*/free(p1);/*释放p1结点内存*/fclose(fp);return(head);}STU *InsertSort(STU *head){STU *first, *t, *p,*q;first = head->next; /*原链表剩下用于直接插入排序的节点链表*/head->next = NULL; /*只含有一个节点的链表的有序链表*/while (first != NULL) /*遍历剩下无序的链表*/{for (t = first, q = head; (q!= NULL) && (q->score < t->score); p = q, q = q->next); /*无序节点在有序链表中找插入的位置,退出for循环,就是找到了插入的位置*/ first = first->next; /*无序链表中的节点离开,以便它插入到有序链表中。
c程序设计实验报告

c程序设计实验报告C程序设计实验报告一、引言计算机程序设计是计算机科学与技术专业中的一门基础课程,它是培养学生编写高效、可靠、易维护程序的重要环节。
本实验报告旨在总结和分享我在C程序设计实验中的经验和收获。
二、实验背景C语言是一种广泛应用于系统开发和嵌入式领域的高级编程语言。
在本次实验中,我们主要学习了C语言的基本语法、数据类型、流程控制和函数等知识,并通过实践来巩固所学内容。
三、实验目的1. 掌握C语言的基本语法和编程规范;2. 熟悉C语言中的数据类型和变量的声明与使用;3. 理解C语言中的流程控制结构,如条件语句和循环结构;4. 学会使用函数来实现模块化编程;5. 提高编程能力和解决问题的能力。
四、实验内容1. 实验一:Hello World程序在本实验中,我们首先编写了一个简单的Hello World程序,通过输出一句“Hello, World!”来熟悉C语言的基本语法和编译运行过程。
2. 实验二:数据类型与变量在这个实验中,我们学习了C语言中的各种数据类型,如整型、浮点型、字符型和指针类型,并了解了变量的声明和使用方法。
通过实践,我们深入理解了数据类型的不同特点和使用场景。
3. 实验三:流程控制流程控制是编程中的重要部分,它决定了程序的执行顺序和条件。
在这个实验中,我们学习了C语言中的条件语句(如if-else语句和switch语句)和循环结构(如for循环和while循环),并通过实例来加深对流程控制的理解。
4. 实验四:函数函数是C语言中的重要概念,它可以将一个复杂的程序分解成多个模块,提高代码的可读性和可维护性。
在这个实验中,我们学习了函数的定义、调用和参数传递等知识,并通过实践编写了一些有实际意义的函数。
五、实验总结通过本次实验,我对C语言的基本语法和编程规范有了更深入的理解。
我学会了如何声明和使用不同类型的变量,掌握了流程控制结构的使用方法,并能够熟练编写函数来实现模块化编程。
c 程序设计实验报告

c 程序设计实验报告C程序设计实验报告一、引言C程序设计是计算机科学与技术专业中非常重要的一门课程,通过实验学习,我们可以更好地掌握C语言的基本语法和程序设计思想。
本次实验报告将对我所完成的C程序设计实验进行总结和分析。
二、实验目的本次实验旨在通过编写C程序,加深对C语言的理解,并掌握C语言的基本语法和程序设计方法。
同时,通过实验,我们还可以提高自己的编程能力和解决问题的能力。
三、实验内容本次实验分为两个部分,分别是基本语法练习和小项目实践。
1. 基本语法练习在基本语法练习中,我通过编写一系列小程序来巩固对C语言的掌握。
其中包括变量的定义和使用、运算符的使用、条件语句和循环语句的使用等等。
通过这些练习,我对C语言的基本语法有了更深入的了解,并能够熟练地使用这些语法来解决实际问题。
2. 小项目实践在小项目实践中,我选择了一个简单的学生成绩管理系统作为实践项目。
通过这个项目,我可以更好地理解和应用C语言的各种概念和技巧。
在这个项目中,我需要设计一个程序,能够实现学生成绩的录入、查询和统计功能。
通过这个实践项目,我不仅加深了对C语言的理解,还提高了自己的问题解决能力和编程能力。
四、实验过程在实验过程中,我首先通过学习C语言的相关教材和资料,掌握了C语言的基本语法和程序设计思想。
然后,我根据实验要求,逐步完成了实验中的各个小任务。
在完成每个小任务之后,我会进行测试和调试,确保程序的正确性和稳定性。
在实践项目中,我还进行了一些额外的功能扩展,以提高程序的实用性和用户体验。
五、实验结果通过本次实验,我成功地完成了所有的实验任务,并实现了学生成绩管理系统的基本功能。
在实验过程中,我遇到了一些问题,但通过查阅资料和与同学的讨论,我最终解决了这些问题。
通过实验,我不仅加深了对C语言的理解,还提高了自己的编程能力和解决问题的能力。
六、实验总结通过本次实验,我对C语言的基本语法和程序设计思想有了更深入的了解。
通过实践项目,我不仅掌握了C语言的各种概念和技巧,还提高了自己的问题解决能力和编程能力。
c语言 程序设计实验报告

c语言程序设计实验报告C语言程序设计实验报告引言:C语言是一种广泛应用于计算机科学领域的高级编程语言,其简洁、高效的特性使其成为程序员们的首选。
本实验报告旨在总结和讨论我们在C语言程序设计实验中的学习和实践经验,以及遇到的挑战和解决方法。
一、实验目的本次实验的主要目的是通过编写C语言程序,加深对C语言基本语法和程序设计原理的理解。
实验内容包括变量定义、条件语句、循环语句、函数定义等基本知识点的应用。
二、实验过程1. 变量定义在实验中,我们学习了如何定义不同类型的变量,并掌握了它们的使用方法。
通过实际编写程序,我们发现合理的变量命名和类型选择对程序的可读性和性能有着重要影响。
2. 条件语句条件语句是C语言中常用的控制结构之一,它使得程序可以根据不同的条件来执行不同的代码块。
我们在实验中学习了if语句和switch语句的使用方法,并通过实例程序加深了对它们的理解。
3. 循环语句循环语句可以使程序重复执行某一段代码块,从而简化程序的编写和管理。
我们在实验中学习了for循环、while循环和do-while循环的使用方法,并通过实例程序掌握了它们的灵活运用。
4. 函数定义函数是C语言中组织和重用代码的一种重要方式,通过函数的封装和调用,我们可以提高程序的模块化和可维护性。
在实验中,我们学习了函数的定义和调用方法,并通过编写多个函数协同工作的程序来实践。
三、实验结果与分析通过实验,我们成功编写了多个C语言程序,并得到了相应的运行结果。
我们发现,良好的程序设计和代码组织可以提高程序的可读性和可维护性。
同时,我们也遇到了一些问题,例如变量的作用域、循环的控制条件等,但通过仔细分析和调试,我们最终解决了这些问题。
四、实验心得通过本次实验,我们深入了解了C语言的基本语法和程序设计原理,掌握了一些常用的编程技巧。
实验中的实践让我们更加熟悉了C语言的使用,并培养了我们解决问题的能力。
同时,我们也认识到编程是一项需要不断学习和实践的技能,我们将继续努力提升自己的编程水平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西財is Jc I擊学生实验报告
学院:软件与通信工程学院
课程名称:C++高级程序设计(软件)
专业班级:12软件5班________ 姓名:____________________________ 学号:____________________________ 学生实验报告(4)
一、实验综述
1、实验目的及要求
(1)进一步理解继承与派生的概念,掌握它们的使用;
(2)理解类之间的继承与派生关系,能设计并编程实现若干个相互有关联的自定义类,且对这些类进行简单的使用;
(3)了解虚基类的作用与方法。
(4)掌握类的多态性与虚函数的定义与使用;
(5)了解纯虚函数和抽象类的的概念和用法。
实验题:
(1)教材390第9题;
(2)某商店有如下的几种货品:衬衣、帽子、立柜。
每一种货物都有详细的说明信息。
衬衣:布料、单价、产地、库存量;
帽子:布料、样式(平顶或尖顶)、单价、产地、库存量;
立柜:木料、颜色、单价、产地、库存量;
对这些商品的操作有:商品的进库(增加库存量),商品的出库(减少库存量),该类货品总价格的计算。
要求自行设计数据结构,用类结构将上述的货品表示出来。
在上一步的基础上,将上述的商品管理计算机化,完成操作要求的功能。
(3)教材414第5题;
(4)声明一个Shape抽象类,在此基础上派生出 Redtangle和Circle 类,二者都使用GetArea ()函数计算对象的面积,GetPerim ()函数计算对象的周长。
实验要求:
认真完成实验题,一定要使所编写的程序运行成功,提交实验报告并上传程序,实验报告要求写出操作步骤、结果、问题、解决方法、体会等。
2、实验仪器、设备或软件
计算机、VC++6.0 office、相关的操作系统等。
二、实验过程(实验步骤、记录、数据、分析)
写明具体实施的步骤,包括实验过程中的记录、数据和相应的分析
三、结论
1、实验结果
根据实验过程中所见到的现象和测得的数据,做出结论
2、分析讨论
对本次实验的心得体会、思考和建议
四、指导教师评语及成绩:
成绩:指导教师签名:
批阅日期:。