C上机实验报告 实验四

合集下载

上机实验报告(精选11篇)

上机实验报告(精选11篇)

上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。

b交互性:有输入提示。

c结构化程序设计风格:分层缩进、隔行书写。

3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。

请注意:过时不候哟!四、实验报告内容0.顺序表的插入。

1.顺序表的删除。

2.带头结点的单链表的\'插入。

3.带头结点的单链表的删除。

注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。

例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。

2.实验报告中的源代码应是通过编译链接即可运行的。

3.提交到个人空间中的内容应是上机实验中的全部内容。

上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。

2.带头结点的单链表的建立(用尾插法)、插入、删除。

二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。

2.在这二个文件夹中,分别存放上述二个实验的相关文件。

每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。

3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。

三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。

b 交互性:有输入提示。

《C语言程序设计》实验四

《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语言选修课上机实验实验4循环结构

实验报告二厦门理工学院C语言选修课上机实验实验4循环结构

《高级语言程序设计》实验报告实验序号:2 实验项目:数据类型、运算符和表达式09机制2 学号232 姓名叶志伟专业、班级实验地点1-511 指导教师胡亮实验时间 3.15一、实验目的及要求1.掌握C基本数据类型的基本概念、基本属性。

2.学会如何书写一个整型、字符型、实型常量。

3.掌握C算术运算符的基本概念、基本属性、运算规则。

二、实验设备(环境)及要求使用Visual C++ 6.0;windows系列操作系统的环境。

三、实验内容与步骤1.输入下列源程序,进行修改、编译、连接和运行。

程序:main ( ){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);}运行结果是:两行结果的不同是由什么引起的:程序定义了输出的类型,第一个输出字符型,另一个输出整型。

2.输入并运行下面的程序:#include<stdio.h>void main(){char c1,c2,c3;c1=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);}观察以下不同输入时的输出,分析不同输出的原因。

(↙表示回车)(1)123↙(2)12↙(3)1↙2↙运行结果是:分析运行结果:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.3.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。

C程序设计上机实验报告(完整版)

C程序设计上机实验报告(完整版)

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:20162181310实验时间:2017年3月6号任课老师:张锐C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。

(2). 设计程序,对给定的两个数求和。

(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。

四、源程序代码:代码1:运行结果1:程序分析1:该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。

代码2:运行结果2:程序分析2:简单的使用printf()和scanf()函数进行简单的数据运算。

代码3:运行结果3:程序分析3:使用if语句进行判断。

五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。

三、实验内容:(1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。

(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。

(4). 编写程序,实现单字符getchar和putchar输入输出。

(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。

四、源程序代码代码1:运行结果1:程序分析1:所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。

代码2:运行结果2:程序分析2:简单的数据运算和格式字符的输出。

实验报告

实验报告

实验报告一,实验目的:1、掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。

2、通过编程进一步理解和掌握运算符的确切含义和功能。

3、掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。

4、熟练掌握上机程序调试的方法。

5、通过上机编程进一步熟悉和掌握C语言集成开发环境。

二,实验内容:1、输入程序,观察输出结果,并对输出结果作出合理的解释。

/* e1.cpp */#include<stdio.h>void main(){float x;double y;x=213.82631;y=213.82631;printf("%-4.2f,%-6.2e\n",x,y);}输出结果:解释:“%-4.2f”指的是向左靠齐四位保留两位小数,因为x的值的有效数字个数大于四,所以输出结果是213.83;“%-6.2e”指的是向左靠齐六位保留两位有效小数数字,且只有一个整数,然后乘以十的n次方(n为整数部分的位数减一),所以输出结果为2.14+002。

2、按输出结果要求编写程序若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下输出格式和结果,请写出完整的程序。

要求输出结果如下:a=3□□□b=4□□□c=5x=1.20000,y=2.400000,z=-3.600000x+y=□3.60□□y+z=-1.20□□z+x=-2.40u=51274□□□n=□□□128765c1=’a’□or□97(ASCII)c2=’b’□or□98(ASCII)提示:根据题目中变量的值定义合适的变量类型。

正确定义和使用printf函数中的格式控制字符串。

□表示空格。

源程序:#include<stdio.h>void main(){int a=3,b=4,c=5;float x=1.2,y=2.4,z=-3.6;long u=51274,n=128765;char c1='a',c2='b';printf("a=%-4db=%-4dc=%d\n",a,b,c);printf("x=%.5f,y=%.6f,z=%.6f\n",x,y,z);printf("x+y=%5.2f y+z=%.2f z+x=%.2f\n",x+y,y+z,z+x);printf("u=%-8ldn=%9ld\n",u,n);printf("c1=\'%c\' or %d(ASCII)\n",c1,c1);printf("c2=\'%c\' or %d(ASCII)\n",c2,c2);输出结果3、改错,计算某个数x的平方y,并以算术公式的形式输出x和y的值,请不要删除源程序中的任何注释。

c++上机实验报告(精品)

c++上机实验报告(精品)

XX大学C++上机实验报告(一)学院:XX学院班级:XXX姓名:XXX学号:*******指导老师:XXX日期:年月日实验三类的定义和使用一.实验目的1.掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性;2.掌握类对象的定义;3.理解类的成员的访问控制的含义,公有、私有和保护成员的区别;4.掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。

能够根据给定的要求定义类并实现类的成员函数;5.掌握友元函数的含义,友元函数和成员函数的区别。

二.实验内容及要求1、定义一个圆类,计算圆的面积和周长。

要求:分别用成员函数和友元函数来求圆的面积和周长。

2、定义一个学生类,其中有3个数据成员有学号、姓名、年龄,以及若干成员函数。

同时编写主函数使用这个类,实现对学生数据的赋值和输出。

要求:1)使用成员函数实现对输出的输入、输出;2)使用构造函数和析构函数实现对数据的输入、输出。

3、定义日期类型Date。

要求有以下面成员:1)可以设置日期;2)日期加一天操作;3)输入函数,输入格式为“XXXX年XX月XX日”。

三.实验要求1)写出程序,并调试程序,要给出测试数据和实验结果。

2)整理上机步骤,总结经验和体会。

3)完成实验日志和上交程序。

四.算法思想1.圆类程序中,用Circle构造函数和Length友元函数分别计算圆的的面积和周长。

再通过主函数调用:Date d;cout<<"请输入圆半径r:";cin>>m;Circle p(m);Length(p);实现输入半径r并输出相关计算值。

2.学生类根据要求分别用构造函数Student(double n,int o,char c[50])和析构函数~Student(),实现学生信息的录入与输出。

于是,当在主程序中,定义学生类Student s(n,o,c)是调用构造函数录入信息,所在作用范围结束时,系统会自动调用析构函数输出信息。

C语言上机实验

C语言上机实验

实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。

2.熟悉编译环境。

3.初步熟悉C语言程序的语法规定。

4.了解简单函数的使用方法。

实验内容:1.编程且上机运行:求3个整数的和。

2.编程且上机运行:求2个数的和、差、积和商。

3.编程且上机运行:输入3个数,求最大值。

4.编程且上机运行:输入圆的半径,求圆的面积和周长。

5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。

实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。

实验过程:实验结果:参见各种类型的存储实现描述。

2.实验目的:了解混合类型计算中类型的转换规则。

实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。

注意unsigned int和int数据运算时类型转换的方向。

实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。

大一C语言上机实验实验报告

大一C语言上机实验实验报告
p=a;
sort(p,10);
for(p=a,i=0;i<10;i++)
{printf("%d",* p);p++;}
}
void sort(int x[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(x[j]>x[k]) k=j;
从1一直加到100.
2.确定数学模型
3.算法
i=1
当i≤100
sum+=i
i=i+1
输出5050
4.程序编码
#include<stdio.h>
void main()
{
int i,sum=0;
for(i=1;i<=100;i++)sum+=i;
printf("%d\n",sum);
}
5.调试程序
经过上机调试,运行情况如下:
void main()
{
int year;
scanf("%d",&year);
if(year/4==0&&year/100!=0)
printf("%d is a leap year.\n",year);
else if(year/400==0)
printf("%d is a leap year.\n",year);
if(k!=i)
{t=x[i];x[i]=x[k];x[k]=t;}

C语言实验报告 实验四 参考答案

C语言实验报告 实验四  参考答案

实验四循环结构程序设计2(参考答案)(1)编写程序sy4-1.c,输入n,计算并输出如下多项式的值:S n=1+1/2!+1/3!+1/4!+…+1/n!。

例如输入n为15时,输出1.718282。

算法分析:第一项可以看成1/1!,用循环控制累加n个分式,分式的分母是i!,分子固定为1。

参考答案:# include <stdio.h>void main(){double s=0,p=1;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){p = p * i ; //计算分母i!s = s + 1 / p ; //累加}printf("s=%lf\n",s);}运行结果:(2)编写程序sy4-2.c,输入n,根据以下公式计算s:,例如当n=11时,结果为1.833333。

算法分析:该多项式的分母是累加。

参考答案:# include <stdio.h>void main(){double sn=0,s=0;int i,n;scanf("%d",&n);for(i=1;i<=n;i++){s = s + i ; //计算分母1~i的累加和sn = sn + 1 / s ;}printf("sn=%lf\n",sn);}运行结果:(3)编写程序sy4-3.c,计算3~n之间所有素数的平方根之和,要求:输入n,输出结果。

例如,输入n 的值是100,则输出结果是148.874270。

注意n应在2~100之间。

算法分析:穷举3~n之间的数找素数,若是素数则累加她的平方根。

参考答案:# include <stdio.h># include <math.h>void main(){int i,j,n,flag;double s=0;scanf("%d",&n);for(i=3;i<n;i++) //穷举3~n之间找素数{flag=1; //假设当前的i是素数,标志变量设为1for(j=2;j<i;j++) //穷举要判断是否是素数的i的除数,范围2~i-1if(i%j==0) //若i能被j整除,则不是素数{ flag=0; break; } //标志变量改为0,并终止循环if( flag == 1 )s = s + sqrt( i ); //若i是素数,则累加sqrt(i)}printf("s=%f\n",s);}运行结果:(4)编写程序sy4-4.c,根据以下公式求p的值,(m与n为两个正整数且m>n)。

CAD上机实习实验报告

CAD上机实习实验报告

CAD上机实习实验报告《CAD 上机实习实验报告》一、实习目的本次 CAD 上机实习旨在让我们熟悉 CAD 软件的基本操作和功能,掌握绘制二维图形和三维模型的基本技能,培养我们的空间想象力和绘图能力,提高我们解决实际工程问题的能力。

二、实习环境本次实习使用的CAD 软件为_____版本,计算机操作系统为_____,硬件配置为_____。

三、实习内容1、基本绘图命令的练习直线(Line):通过指定起点和终点来绘制直线段。

圆(Circle):掌握了多种绘制圆的方法,如圆心半径、圆心直径、两点、三点等。

矩形(Rectangle):能够快速绘制指定长度和宽度的矩形。

多边形(Polygon):学会了绘制正多边形的操作。

2、图形编辑命令的应用移动(Move):可以将已绘制的图形对象移动到指定的位置。

复制(Copy):用于复制选定的图形,并将其放置在新的位置。

旋转(Rotate):能够按照指定的角度旋转图形。

缩放(Scale):实现对图形的放大或缩小操作。

3、图层的管理与应用了解了图层的概念和作用,学会了创建、删除、重命名图层。

能够为不同的图形对象分配到不同的图层,并设置图层的颜色、线型、线宽等属性。

4、尺寸标注掌握了线性尺寸、直径尺寸、半径尺寸、角度尺寸等的标注方法。

学会了设置标注样式,包括尺寸文字的大小、箭头样式等。

5、三维建模拉伸(Extrude):将二维图形沿指定方向拉伸成三维实体。

旋转(Revolve):通过绕轴旋转二维图形创建三维实体。

布尔运算(Union、Subtract、Intersect):能够对多个三维实体进行并集、差集、交集等操作。

四、实习过程在实习开始时,老师首先为我们介绍了 CAD 软件的界面和基本操作方法,然后通过实例演示了各种绘图命令和编辑命令的使用。

我们按照老师的指导,在计算机上进行了实际操作练习。

在练习过程中,遇到了一些问题。

例如,在绘制复杂图形时,由于对图形的构成和尺寸关系理解不够清晰,导致多次修改;在进行尺寸标注时,有时会出现标注位置不准确或标注样式不符合要求的情况。

《C语言程序设计》实验报告(实验1-12)

《C语言程序设计》实验报告(实验1-12)

《C语言程序设计》实验报告(实验1-12)《C语言程序设计》实验报告20XX~20XX学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 一、实验目的:1.了解在Visual C++ 环境下如何xx、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C 源程序的特点。

二、预习内容:教材《C语言程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 环境下输入并运行下面的程序:#include int main( ) {printf("This is a C program.\\n"); return 0; }2. 在Visual C++ 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include int main( ) {int a,b,sum a=3; b=4; sun=a+b;print(“%d+%d=%d\\n”,a,b,sum); return 0; }四、实验结果:1. 运行结果(或截图):This is a C program.Press any key to continue- 1 -2. (1) 改正后的源程序:#include int main( ) {int a,b,sum; a=3; b=4; sum=a+b;printf(\ return 0; }(2) 运行结果(或截图):3+4=7五、思考题:1. 一个C程序上机的步骤有哪些?答:上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。

2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和函数体。

成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。

C语言实验报告

C语言实验报告

C语言实验报告实验一:c语言环境的开发与使用1.实验目的:上机编写简单的c语言程序,逐步了解c语言运行的程序步骤2.实验内容:在turboc3.0的环境下调试简单的c语言3.实验清单:输入一行字符(如“hello!”)Ex513_11.c#include<stdio.h>Int main(){printf(“hello!\n”);return 0;}从键盘输入两个整数,将其平方和输出(用函数关系求平方和)Ex513_12.c#include<stdio.h>#include<math.h>int main(){int a,b,c;printf(“\n input a=”);scanf(“%d”,&a);printf(“\n input b=”);scanf(“%d”,&b);c=sqre(a,b);printf(“sqre=%d”,c);return 0;}int sqre(x,y)int x,y;{return x*x+y*y;}从键盘输入三个整数,将其最大值输出。

(用函数求最大值)Ex513_13.c#include<stdio.h>int main(){int a,b,c,d;printf(“\n input a=”);scanf(“%d”,&b);printf(“\n input c=”);scanf(“%d”,&c);d=max(a,b,c);printf(“max=%d”,d);return 0;}int max(x,y,z);int x,y,z,t;{if(x>y) t=x;else t=y;if(z>t) t=z;return t;}输入三角形三边的长度,将其面积输出(用函数求面积) Ex513_14.c#include<stdio.h>#include<math.h>Int main(){double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%f\tb=%f\t%f\n”,a,b,c);printf(“area=%f\n”,area)return 0;}4运行结果及分析程序:Ex513_11.c结果:输出hello!分析:掌握输出一行字符的写法程序:Ex513_12.c结果:输入1,2输出5分析:编写正确,但不够简洁程序:Ex513_13.c结果:输入-3,1,2输出2分析:程序运用了函数程序:Ex513_14.c结果:输入3,4,5输出6分析:编写不够简洁实验二:顺序结构设计1.实验目的:了解什么是常量和变量及种类掌握整型,实型,字符型变量的定义和使用及输出规律掌握七个运算符的运算法则及其混合运算规律2.实验内容:假如我国国民生产总值的年增长率为百分之九,计算十年后我国国民生产总值与现在相比增长多少?Ex513_21.c#include<stdio.h>#include<math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}用编好的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’Ex513_22.c#include<stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。

c程序实验报告

c程序实验报告

c程序实验报告C程序实验报告引言:计算机编程是现代科技领域中不可或缺的一部分,而C语言作为一种高效、灵活的编程语言,在软件开发中被广泛应用。

本实验旨在通过实践,探索C语言的基础知识和编程技巧,并通过实验结果来验证和巩固所学知识。

实验一:C语言基本语法在本实验中,我们首先学习了C语言的基本语法和常用数据类型。

通过编写简单的程序,我们熟悉了变量的声明和初始化、运算符的使用、条件语句和循环语句的控制流程等基本概念。

实验中,我们编写了一个简单的计算器程序,可以进行基本的加减乘除运算,并输出结果。

通过这个实验,我们更加深入地理解了C语言的基本语法和程序执行的过程。

实验二:函数和数组在本实验中,我们学习了函数的定义和调用,以及数组的使用。

通过编写程序,我们掌握了函数的参数传递和返回值的使用,了解了函数的封装和模块化编程的思想。

同时,我们也学习了数组的声明和初始化,以及数组元素的访问和操作。

通过编写一个学生成绩管理程序,我们可以输入学生的成绩,计算平均分并输出最高分和最低分。

这个实验让我们对函数和数组的使用有了更深入的了解。

实验三:指针和字符串在本实验中,我们学习了指针的概念和使用。

指针是C语言中非常重要的概念,通过指针可以直接访问内存中的数据,提高程序的效率和灵活性。

我们学习了指针的声明和初始化,以及指针的运算和指针与数组的关系。

同时,我们还学习了字符串的表示和操作,了解了字符串的常见函数和库函数的使用。

通过编写一个简单的字符串反转程序,我们加深了对指针和字符串的理解和应用。

实验四:文件操作和结构体在本实验中,我们学习了文件的读写操作和结构体的使用。

文件操作是C语言中常用的技术,通过文件操作可以实现数据的读取和存储。

我们学习了文件的打开和关闭,以及读写文件的函数和方法。

同时,我们也学习了结构体的定义和使用,结构体可以将多个不同类型的数据组合在一起,方便操作和管理。

通过编写一个学生信息管理系统,我们可以将学生的信息存储到文件中,并可以进行查询和修改。

C++上机实验报告

C++上机实验报告

成绩辽宁工程技术大学上机实验报告课程名称嵌入式程序设计(C++)学院软件学院专业嵌入式软件班级嵌软12-1学号姓名日期2015.01.17-2015.01.18目录实验一熟悉VC++编程环境 (1)实验二带有循环语句的C++程序 (5)实验三熟悉VC++编程环境 (9)实验四类与对象 (14)实验五继承与派生 (19)实验六友元函数与运算符重载 (22)实验七指针数组 (26)实验八函数的定义与调用 (30)实验一熟悉VC++编程环境实验目的(1)熟悉VC++编程开发环境。

(2)掌握在VC++集成开发环境中编译、调试与运行程序的方法。

(3)掌握简单的出入输出程序编写,调试,运行。

实验准备(1)准备下载安装一个VC++编程软件。

(2)复习书本前三章,回顾C++编程基本原理及程序格式。

(3)从书上挑选源程序作为实验程序。

(4)准备好新建工程,设置文件保存地址。

实验过程一、程序一1.实验内容:新建c++源程序,使之输出一个字符串。

2.程序代码:# include <iostream.h>void main(){ cout<<" ***************"<<'\n';cout<<" Hello!"<<'\n';cout<<" ***************"<<'\n';}3.调试,运行,分析结果。

二、程序二1.实验内容:编写一个C++程序,要求输入一个矩形的长和宽,输出面积和周长。

2.程序代码:# include <iostream.h>void main(){ float a,b ,L,S;cout<<"请输入一个矩形的长与宽:"<<endl;cin>>a>>b;L=(a+b)*2;S=a*b;cout<<"矩形的长与宽: " <<a<<"和"<<b<<endl;cout<<"矩形的周长: " <<L<<endl;cout<<"矩形的面积: " <<S<<endl;}3.调试,运行,分析结果。

C语言实验报告总结(共6篇)

C语言实验报告总结(共6篇)

c语言上机实验心得在科技高度发展的今天,计算机在人们之中的作用越来越突出。

而c语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好c语言,这对我们以后的发展是十分重要的。

说到这,上机实验当然就是一个必不可少的环节了,c语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。

为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。

通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了c语言那就大错特错了。

我主要存在以下的这些缺点:1、学习耐心与细心不足,如scanf(“%d”,&amp;n);中的“&amp;”有时候会忘了。

而在最后输出时又错写成printf(“%d”,&amp;n);从而错误得输出了地址而不是我原来想要的答案。

2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解题了。

3、4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。

知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够深刻。

5、6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。

英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在一点问题。

为了能更好地学好c语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。

实验中我深刻意识到完成程序的编写,决不意味着万事大吉。

认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。

有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。

因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。

C语言程序设计上机实验报告(精选5篇)[修改版]

C语言程序设计上机实验报告(精选5篇)[修改版]

第一篇:C语言程序设计上机实验报告黔南民族师范学院C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 理解指针、地址和数组间的关系;2. 掌握通过指针操作数组元素的方法;3. 掌握数组名作为参数的编程方式。

二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

三、实验内容1. 定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。

示例如下:After sorted the array is: -9 -6 1 2 4 52. 输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。

要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。

c语言实验报告总结(范本)

c语言实验报告总结(范本)

c语言实验报告总结‎c语言实验报告总结‎‎篇一:C‎语言上机实验心得C语‎言上机实验心得在科‎技高度发展的今天,计‎算机在人们之中的作用‎越来越突出。

而C语言‎作为一种计算机的语言‎,学习它将有助于我们‎更好的了解计算机,与‎计算机进行交流,因此‎,我们一定要学好C语‎言,这对我们以后的发‎展是十分重要的。

说‎到这,上机实验当然就‎是一个必不可少的环节‎了,C语言灵活、简洁‎的特点,只有通过编程‎实践才能真正了解,真‎正说懂。

为了更好地学‎习语法规定、掌握程序‎设计方法、提高程序开‎发能力,我们必须实际‎上机、编写程序。

通‎过实验我也发现了自己‎不少的问题,这都是只‎看书上的程序而没有自‎己亲身上机编写程序而‎无法得知的,假如我们‎只因看熟书上的程序就‎以为自己已经掌握了C‎语言那就大错特错了。

‎我主要存在以下的这‎些缺点:1、‎学习耐心与细心不足‎,如scanf(“%‎d”, n);中的“‎”有时候会忘了。

而‎在最后输出时又错写‎成printf(“%‎d”, 从而错误得输‎出了地址而不是我原来‎想要的答案。

‎2、编程思想不够发‎散,看着题目有时想不‎出解答的方法,更不用‎说编写程序来解题了‎。

3、‎4、基本功不够,‎有些函数的表达不太精‎通,需要看书来核实,‎以致耗时较多。

知识‎不够广,有些内容没有‎学好,不能要用到时及‎时反映出来,认识程度‎不够深刻。

‎5、6、有‎时候不够精简,有一点‎用处不大或者说没有也‎可以的文字存在。

英‎语水平较差,对错误的‎地方虽然电脑有说,但‎由于是英文,理解上还‎是存在一点问题。

‎为了能更好地学好C语‎言,在今后学习中我要‎更多的动脑,综合运用‎所学,多看相关东西,‎多上机练习,提高电脑‎水平,增强自学能力,‎把已会的东西掌握好。

‎实验中我深刻意识到‎完成程序的编写,决不‎意味着万事大吉。

认为‎万无一失的程序,实际‎上机运行时可能会出现‎很多意想不到的问题。

‎有时编译程序检测出一‎大堆错误,有时程序能‎够顺利运行,但是运行‎结果并不是你预期中想‎要的。

c语言实验报告

c语言实验报告

c语言实验报告一、引言C语言是一种广泛应用于计算机科学和软件开发领域的编程语言。

它的简洁性、高效性以及跨平台的特性使其成为许多开发人员的首选。

本篇实验报告将介绍我在学习C语言过程中进行的几个实验项目,并详细记录每个实验的步骤、结果以及对C语言的理解。

二、实验一:Hello World!在学习任何一门编程语言时,第一个示例程序往往是输出"Hello World!"。

这个简单的程序虽然看似微不足道,却能够帮助初学者了解基本的编译和运行过程。

在实验中,我使用了C语言的基本语法,编写了一个简单的Hello World程序,并成功地将其编译并运行。

这个小小的成就让我对C语言有了初步的认识和信心。

三、实验二:计算器程序为了更深入地理解C语言的数据类型和运算符,我决定编写一个简单的计算器程序。

这个程序可以实现基础的四则运算和一些简单的数学函数,如平方根和求幂等。

通过这个实验,我学会了如何使用变量、条件语句和循环结构来实现计算功能,并通过不断调试和修改,使程序更加健壮和高效。

四、实验三:数组与排序数组是C语言中非常重要的概念,在实验三中,我探索了数组的用法和特性,并将其应用于一个排序算法中。

我选择了冒泡排序作为实验的排序算法,通过比较相邻元素的大小并不断交换位置,最终将数组中的元素按照升序排列。

这个实验使我更加熟悉了数组的操作,也加深了我对算法思想和效率的理解。

五、实验四:文件操作在现实世界中,大部分的应用程序需要与文件进行交互。

为了学习如何使用C语言进行文件操作,我进行了实验四。

在这个实验中,我编写了一个小程序,能够读取一个文本文件的内容,统计其中不同字符的数量,并将结果输出到另一个文件。

通过这个实验,我了解了如何打开、关闭和读写文件,也学习了异常处理以及文件操作的一些注意事项。

六、实验五:数据结构和指针C语言提供了指针的机制,允许直接访问和操纵内存中的数据。

为了更深入地理解指针和数据结构之间的关系,我进行了实验五。

C语言程序设计实验报告(实验大纲+过程)

C语言程序设计实验报告(实验大纲+过程)

《C法式设计》实验教学年夜纲之欧侯瑞魂创作一、适用范围年夜纲适用信息管理专业本科教学使用.二、课程名称C法式设计三、学时数与学分总学时:90 总学分: 4实验学时:28 实验学分:1四、教学目的和基本要求目的:通过C法式设计实验,培养学生对学习法式设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握C 语言法式设计的基本方法和编程技巧.基本要求:了解和熟悉C语言法式开发的环境;学会上机调试法式,善于发现法式中的毛病,而且能很快地排除这些毛病,使法式能正确运行,到达实验知识和理论知识的融会贯通.上机实验前,学生必需事先根据题目的内容编好法式,然后在实验时输入法式、调试法式、直至运行结果正确为止,上机结束后,应整理出实验陈说.五、实验项目与学时分配注:带*的实验项目为选做实验项目六、教材、讲义及参考书《C法式设计题解与上机指导》谭浩强主编清华年夜学出书社七、实验成果评定法子实验成果=平时实验暗示+实验陈说.实验成果占总成果的20%.实验成果以品级形式给出,评定品级分优、良、中、及格、不及格五类.1、平时考核:上机实验前,学生必需事先根据题目的内容编好法式,然后在实验时输入法式、调试法式、直至运行结果正确为止.在实验中,教师可根据学生编程把持能力、观察和分析及运用知识能力、法式编制正确性以及学生的课堂纪律、实验态度、坚持实验室卫生等方面的暗示进行综合考核.2、实验陈说:学生实验后应按时完成实验陈说.八、实验教学年夜纲说明本年夜纲共安插28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时.实验项目多为设计性实验项目,每个设计性实验项目中都包括数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做.九、实验项目实验一 C法式的运行环境和运行一个C法式的方法一、实验目的1.了解Visual C++6.0编译系统的基本把持方法,学会自力使用该系统.2.了解在该系统上如何编纂、编译、连接和运行一个C法式.3.通过运行简单的C法式,初步了解C源法式的特点.二、实验内容1.用编纂法式,输入教材第一章例法式,并进行编译和运行.应了解所用的系统是用什么命令进行编译和连接运行的.编译和连接后所获得的目标法式的后缀是什么形式的?2.编写一个C法式,输出以下信息:****************************very good!****************************,了解如何在运行时向法式变量输入数据.实验二数据类型、运算符和表达式一、实验目的1.掌握C语言数据类型,熟悉如何界说一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符.2.学会使用C的有关算术运算符,以及包括这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用.二、实验内容1.输入并运行以下法式:main( ){ char c1,c2;c1=97;c2=98;printf(“%c %c\n”,c1,c2);printf(“%d %d\n”,c1,c2);}在此基础上①将第三行、第四行改为:c1=321;c2=353;再使之运行,分析其运行结果.②将第二行改为:int c1,c2;再使之运行,分析其运行结果..2.输入并运行以下法式:main( ){int i=8,j=10,m,n;m=++i;n=j++;printf(“%d,%d,%d,%d\n”,i,j,m,n);}分别作以下改动并运行:①法式改为:main( ){int i=8,j=10;printf(“%d,%d\n”,i++,j++);}②在②的基础上,将printf语句改为:printf(“%d,%d\n”,++i,++j);③再将printf语句改为:printf(“%d,%d,%d,%d\n”,i,j, i++,j++);④法式改为:main( ){int i=8,j=10,m=0,n=0;;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);}3. 请将下列给出的两个法式段分别输入计算机后,分析其运行结果:①main(){ int num;num=32767;printf(“num=%d\n”,++num);}② main(){ int a=-2;printf(“%d, %d\n”,a, a--);}实验三最简单的C法式设计一、实验目的1.掌握C语言中使用最多的一种语句——赋值语句的使用.2.掌握数据的输入输出的方法,能正确使用各种格式转换符.二、实验内容1.上机输入以下法式:main( ){int a,b;float c;scanf(“%d%d%f”,&a,&b,&c);printf(“a=%-4d,b=%4d,c=%f,c=%.2f\n”,a,b,c,c);}要使a=3,b=4,c=12.3456,在键盘上应如何输入?有几种方式?2.若将输入函数改为scanf(“%d, %d ,%f”,&a,&b,&c);应该如何输入数据?3.上机输入以下法式:main( ){int a; float b; char c;scanf(“%4d%5f%3c”,&a,&b,&c);printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n”,a,a,a,b, b,c);}要使a=77,b=4.56,c= ‘A’,在键盘上应如何输入?4.输入两面整型变量a、b的值,输出下列算式以及运算结果.a+b、a-b、a*b、a/b、(float)a/b、a%b每个算式占一行.如a即是10,b即是6,a+b应输入为:10+6=165.编写法式,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符.上机运行法式,比力用printf和putchar函数输出字符的特点.实验四选择结构法式设计一、实验目的1.了解C语言暗示逻辑量的方法(以0代表“假”,以1代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句和switch语句.二、实验内容先编法式,解以下问题,然后上机调试运行法式.1.有一个函数用scanf函数输入x的值(分别为x<1、1~10、≥10三种情况),求y值.2.给出一个百分制成果,要求输出成果品级‘A’,‘B’,‘C’,‘D’,‘E’.90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’.要求分别用if语句和switch语句实现3.输入一个三位数,若此数是水仙花数输出“Y”,否则输出“N”, 若输入值不是三位数输出“data error”.提示:水仙花数是一个三位数,组成这个三位数的三个数字的立方和与这个三位数相等.如:153=13+53+33.判断是否是水仙花数需把构成三位数的三个数字分离出来并存入变量.实验五循环控制一、实验目的1.熟悉用while语句,do-while语句和for语句实现循环的方法.2.掌握在法式设计中用循环的方法实现各种算法(如穷举、迭代、递推等).二、实验内容编法式并上机调试运行.1.输入两个正整数,求其中最年夜公约数和最小公倍数.2.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数.3.打印出以下图案:*************************4.编程求1!+2!+3!+……+20!.实验六数组一、实验目的1.掌握一维数组和二维数组的界说、赋值和输入输出的方法;2.掌握字符数组和字符串函数的使用.3.掌握与数组有关的算法(特别是排序算法).二、实验内容编法式并上机调试运行.1. 编写法式,用scanf函数输入10个整数的数列,先将整数依照从年夜到小的顺序进行排序,然后输入一个整数拔出到数列中,使数列坚持从年夜到小的顺序.2.有15个数寄存在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数” ,而且可以实现连续查找.15个数用赋初值的方法在法式中给出,要找的数用scanf函数输入.3.将以下二维数组中数按列的顺序寄存到一个一维数组中.二维数组的内容是11 22 33 4411 22 33 4411 22 33 44则一维数组中的内容是11 11 11 22 22 22 33 33 33 44 44 444.将两个字符串联接起来,不要用strcat函数.5.从键盘输入5个字符串,找出最长的字符串和最年夜的字符串.实验七函数一、实验目的1.掌握界说函数的方法;2.掌握函数实介入形参的对应关系,以及“值传递”的方式;3.掌握函数的嵌套调用和递归调用的方法;4.掌握全局变量和局部变量,静态变量和静态变量的概念和使用方法.二、实验内容编法式并上机调试运行之.1.写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息.2.两个函数,分别求两个整数的最年夜公约数和最小公倍数,用主函数调用这两个函数,并输出结果.两个整数在主函数中输入,并传送给函数1,求出的最年夜公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最年夜公约数和最小公倍数.3.已知二阶Fibonacci数列:0 若n=0Fib(n)= 1 若n=1Fib(n-1)+Fib(n-2) 其他情况界说递归函数求Fib(n).4. 编写函数,求 10 1!n实验八指针一、实验目的1.掌握指针的概念,会界说和使用指针变量;2.学会使用数组的指针和指向数组的指针变量;3.学会使用字符串的指针和指向字符串的指针变量;4.学会使用指向函数的指针变量;5.了解指向指针的指针的概念及其使用方法.二、实验内容编法式并上机调试运行法式(都要求用指针处置).1.界说函数void fun(int x[ ],int *max,int *min),找出数组x中的最年夜值和最小值,最年夜值和最小值通过形参指针max和min传回.2.编写一个函数comp(s1,s2)实现两个字符串的比力.如果s1=s2,则函数返回值为0;如果s1≠s2,返回它们二者第一个分歧字符的ASCII码差值(如“BOY”与“BAD”,第二个字母分歧,“O”与“A”之差为79-65=14);如果s1>s2,则输出正值;如s1<s2则输出负值.两个字符串s1,s2由main函数输入,strcmp函数的返回值也在main函数输出.3.从键盘输入一个字符串与一个指定字符,调用函数,将字符串中呈现的指定字符全部删除.4.将一个3×3的矩阵转置,用一函数实现.在一主函数中用scanf函数输入以下矩阵元素:1357911131517将数组名作为函数参数,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出转置后的矩阵.实验九结构体和共用体一、实验目的1.掌握结构体类型变量的界说和使用;2.掌握结构体类型数组的概念和应用;3.掌握链表的概念,初步学会对链表进行把持;4.掌握共用体的概念与使用.二、实验内容编法式,然后上机调试运行.1.有3个学生,每个学生的数据包括学号、三门课的成果,要求用input函数实现从键盘输入学生数据,用average函数求每个人的平均分,用output函数打印学生数据及平均成果.2.建立一个带有头结点的单链表,每个结点包括:学号、年龄,并输出链表中所有结点的数据.在链表中查找年龄最年夜的结点,并将链表中即是此年龄的结点删除(年龄最年夜的结点可能不止一个).*3.将一个链表按逆序排列,即将链头当链尾,链尾当链头.4.上机输入如下法式:main( ){union bt{int k; char c[2];}a;a.k= -7;printf(“%o,%o\n”,a.c[0],a.c[1]);}分析其运行结果.实验十位运算一、实验目的1.掌握按位运算的概念和方法,学会使用位运算符;2.学会通过位运算实现对某些位的把持.二、实验内容编写法式,上机调试并运行.1.编一个函数getbits,从一个16位的单位中取出某几位(即该几位保管原值,其余位为0).函数调用形式为:getbits(value,n1,n2)value为该16位数的值,n1为欲取出的起始位,n2为欲取出的的结束位.如:getbits(0101675,5,8)暗示对八进制数101675,取出其从左面起的第5位到第8位.要求把这几位数用八进制数打印出来.注意,应当将这几位数右移到最右端,然后用八进制形式输出.2.利用位运算把持,实现交换两个变量的值.3.将一个十六进制整数的各位循环左移4位,然后用十六进制形式输出.实验十一文件一、实验目的1.掌握文件以及缓冲文件系统、文件指针的概念;2.学会使用文件翻开、关闭、读、写等文件把持函数.3.学会用缓冲文件系统对文件进行简单的把持.二、实验内容编写法式并上机调试运行.1.编法式求100以内的素数,分别将它输出到显示器屏幕和x.txt文件中,要求每行5个数.2.从键盘输入几本书的数据,每本书的数据包括条形码、书名和价格,将每项数据分别写入文本文件s.txt和二进制文件s.dat.*3.从上题的文本文件s.txt或二进制文件s.dat中读入每本书的数据,计算所有书的平均价格.要求用input函数读入,average函数求平均价格.统计与信息学院实验过程与步骤实验①1、运行2、输入#include<stdio.h>main(){char c1,c2;c1=321;c2=353;printf("%c %c\n",c1,c2);printf("%d %d\n",c1,c2);}3、编译,无毛病、无警告后运行,结果如下:4、在步伐2的基础上将第三行、第四行改为:c1=321;c2=353;5、编译,无毛病、无警告后运行,结果提示:aa.obj - 0 error(s), 2 warning(s)6、在步伐2的基础上将第二行改为:int c1,c2;7、编译,无毛病、无警告后运行,结果如下:实验②1、输入#include<stdio.h>main(){int i=8,j=10,m,n;m=++i;n=j++;printf("%d,%d,%d,%d\n",i,j,m,n);}实验③1、输入#include<stdio.h>main(){int num;num=32767;printf("num=%d\n",++num);}2、编译,无毛病、无警告后运行,结果如下:2、编译,无毛病、无警告后运行,结果如下:3、将步伐2法式改为:#include<stdio.h>main(){int i=8,j=10;printf("%d,%d\n",i++,j++);}4、编译,无毛病、无警告后运行,结果如下:5、在步伐3的基础上,将printf语句改为:printf(“%d,%d\n”,++i,++j);6、编译,无毛病、无警告后运行,结果如下:7、在步伐3的基础上,将printf语句改为:printf(“%d,%d,%d,%d\n”,i,j, i++,j++);8、编译,无毛病、无警告后运行,结果如下:9、将步伐2法式改为:#include<stdio.h>main(){int i=8,j=10,m=0,n=0;m+=i++,n-=--j;printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);}10、编译、运行,结果如下:3、输入#include<stdio.h>main(){int a=-2;printf("%d,%d\n",a,a--);}4、编译,无毛病、无警告后运行,结果如下:实验总结统计与信息学院《C法式设计》实验陈说(三)学号:姓名:班级:成果:实验名称:最简单的C法式设计指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握C语言中使用最多的一种语句——赋值语句的使用.2.掌握数据的输入输出的方法,能正确使用各种格式转换符.实验过程与步骤实验①1、运行2、输入#include<stdio.h>main(){int a,b;float c;scanf("%d%d%f",&a,&b,&c);printf("a=%-4d,b=%4d,c=%f,c=%.2f\n",a,b,c,c);}3、编译,无毛病、无警告后运行,结果如下:有空格、tab、回车三种输入方式.4、将步伐2中的scanf("%d%d%f",&a,&b,&c);改为scanf(“%d, %d ,%f”,&a,&b,&c);5、编译,无毛病、无警告后运行,结果如下:实验②1、输入#include<stdio.h>main(){int a;float b;char c;scanf("%4d%5f%3c",&a,&b,&c);printf("a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n",a,a,a,b,b,c);}2、编译,无毛病、无警告后运行,结果如下:实验③(1)a+b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a+b;printf("%d+%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(2)a-b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a-b;printf("%d-%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(3)a*b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a*b;printf("%d*%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:实验④(1)getchar输出1、输入#include<stdio.h>int main(){char c1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);return 0;} (4)a/b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a/b;printf("%d/%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(5)(float)a/b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=(float)a/b;printf("%d/%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(6)a%b1、输入#include<stdio.h>main(){int a,b,c;scanf("%d,%d",&a,&b);c=a%b;printf("%d%%%d=%d\n",a,b,c);}2、编译,无毛病、无警告后运行,结果如下:(2)printf输出1、输入#include<stdio.h>int main(){char c1,c2;c1=getchar();c2=getchar();printf("%c%c\n",c1,c2);return 0;}2、编译,无毛病、无警告后运行,结果如下:2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:选择结构法式设计指导教师:张雄实验日期:实验地址:实验软件(主要仪器设备):实验要求1.了解C语言暗示逻辑量的方法(以0代表“假”,以1代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句和switch语句.实验过程与步骤实验①1、运行.2、输入#include<stdio.h>int main(){int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=10)y=3*x-11;elsey=2*x-1;printf("x=%d,y=%d\n",x,y);return 0;}3、编译,无毛病、无警告后运行,结果如下:X<1时,1=<x<10时,x>=10时,(2)switch语句1、输入#include<stdio.h>main(){float x;int y;char ch;printf("Your score:");scanf("%f",&x);y=x/10;switch(y){case 10:case 9:ch='A';break;case 8:ch='B';break;case 7:ch='C';break;case 6:ch='D';break;default:ch='E';}printf("%c\n",ch);return 0;}2、编译,无毛病、无警告后运行,结果如下:实验②(1)if语句1、输入#include<stdio.h>main(){float x;char ch;scanf("%f",&x);if(x>=90) ch="A";else if(x>=80) ch="B";else if(x>=70) ch="C";else if(x>=60) ch="D";else ch="E";printf("%c\n",ch);}2、编译,无毛病、无警告后运行,结果如下:实验③:(水仙花数)1、输入#include<stdio.h>int main(){int m,a,b,c;scanf("%d",&m);if(m/100==0){printf("data error\n");return 0;}a=m%10;b=(m/10)%10;c=m/100;if(m==a*a*a+b*b*b+c*c*c){printf("Y\n",m);return 0;}else{printf("N\n",m);return 0;}}2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:循环控制指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.熟悉用while语句,do-while语句和for语句实现循环的方法.2.掌握在法式设计中用循环的方法实现各种算法(如穷举、迭代、递推等).实验过程与步骤实验①:输入两个正整数,求其中最年夜公约数和最小公倍数.(1)求最年夜公约数1、输入#include<stdio.h>main(){int m,n,i,t;scanf("%d%d",&m,&n);if(n<m){t=n;n=m;m=t;}i=m;while(1){if(m%i==0&&n%i==0) break;i--;}printf("它们的最年夜公约数是:%d\n",i);return 0;}2、编译,无毛病、无警告后执行,结果如下:(2)求最小公倍数1、输入#include<stdio.h>main(){int m,n,i,t;scanf("%d%d",&m,&n);if(n<m){t=n;n=m;m=t;}实验②:输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数.1、输入#include<stdio.h>main(){char c;int letter,space,number,other;letter=space=number=other=0;do{c=getchar();if(c>='a'&&c<='z'||c>='A'&&c<='Z')letter++;else if(c>='0'&&c<='9')number++;else if(c==' ')space++;elseother++;}while(c!='\n');printf("letter=%d,space=%d,number=%d,other=%d\n",letter,space,number,other);return 0;}i=m;while(1){if(i%m==0&&i%n==0) break;i++;}printf("它们的最小公倍数是:%d\n",i);return 0;}2、编译,无毛病、无警告后执行,结果如下:实验⑤:编写法式输出乘法表1、输入#include<stdio.h>main(){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%-3d",j,i,i*j);printf("\n");}system("pause");}2、编译,无毛病、无警告后运行,结果如下:for(j=1;j<=2*i+1;j++)printf("*");printf("\n");}for(i=n-1;i>=0;i--){for(j=1;j<=n-i;j++)printf(" ");for(j=1;j<=2*i+1;j++)printf("*");printf("\n");}}2、编译,无毛病、无警告后运行,结果如下:实验④:编程求1!+2!+3!+……+20!.1、输入#include<stdio.h>2、编译,无毛病、无警告后执行,结果如下:实验③:打印出以下图案:7行7列菱形1、输入#include<stdio.h>#define n 3int main(){int i,j;for(i=0;i<=n;i++){for(j=1;j<=n-i;j++)printf(" "); int main(){int n,m=1,sum=0;for(n=1;n<=20;n++){m=n*m;sum=sum+m;}printf("1+2!+3!...+20!=%d\n",sum);}2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:数组指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握一维数组和二维数组的界说、赋值和输入输出的方法;2.掌握字符数组和字符串函数的使用.3.掌握与数组有关的算法(特别是排序算法).实验过程与步骤实验①:编写法式,用scanf函数输入10个整数的数列,先将整数依照从年夜到小的顺序进行排序,然后输入一个整数拔出到数列中,使数列坚持从年夜到小的顺序.1、输入#include<stdio.h>main (){void Rank(int N,int n[]);int i,j,k;int n[11];for(i=0;i<10;i++)scanf("%d",&n[i]);Rank(10,n);scanf("%d",&k);if(k>n[9])n[10]=k;else{for(i=0;n[i]<=k;i++);for(j=9;j>=i;j--)n[j+1]=n[j];n[i]=k;}for(i=0;i<=10;i++)printf("%-4d",n[i]);printf("\n");}void Rank(int N,int n[]){int i,k,t;for(k=1;k<=N-1;k++)for(i=N-1;i>=k;i--)if(n[i-1]>n[i])实验②:有15个数寄存在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值,如果该数不在数组中,则输出“无此数” ,而且可以实现连续查找.15个数用赋初值的方法在法式中给出,要找的数用scanf函数输入.1、输入#include<math.h>main(){static int i,j,m,a[15]={2,10,13,24,35,59,68,78,98,102,234,526,649,758,893};scanf("%d",&m);for(j=0;j<15;j++)printf("%4d",a[j]);printf("\n");i=7;while(fabs(i-7)<8){if(m<a[7]){{t=n[i];n[i]=n[i-1];n[i-1]=t;}for(i=0;i<=N-1;i++)printf("%-4d",n[i]);printf("\n");}2、编译,无毛病、无警告后运行,运行结果如下:实验④:将两个字符串联接起来,不要用strcat函数.1、输入#define M 50#define N 20main (){char a[M],b[N];int i,j;gets(a);gets(b);for(i=0;a[i]!='\0';i++);for(j=0;b[j]!='\0';j++){a[i]=b[j];i++;}a[i]='\0';puts(a);}2、编译,无毛病、无警告后运行,运行结果如下:实验⑤:从键盘输入5个字符串,找出最长的字符串和最年夜的字符串.1、输入#include "string.h"#define N 20main(){char a[5][N],max[N],m,n,max1;int b[5];int i,j;for(i=0;i<=4;i++)gets(a[i]);for(i=0;i<=4;i++)b[i]=strlen(a[i]);max1=b[0];m=0;for(i=1;i<=4;i++)if(b[i]>=max1)if(a[i]-m==0){printf("it is at (%d)\n",i+1);break;}i--;}else if(m>a[7]){if(a[i]-m==0){printf("it is at (%d)\n",i+1);break;}i++;}elseprintf("8\n");}if(fabs(i-7)-8==0)printf("无此数\n");}2、编译,无毛病、2警告后运行,运行结果如下:实验③:将以下二维数组中数按列的顺序寄存到一个一维数组中.二维数组的内容是11 22 33 4411 22 33 4411 22 33 44则一维数组中的内容是11 11 11 22 22 22 33 33 33 44 44 441、输入#include <stdio.h>main(){inta[3][4]={{11,22,33,44},{11,22,33,44},{11,22,33,44}};int b[12],i,j,m;{max1=b[i];m=i;}strcpy(max,a[0]);n=0;for(i=1;i<=4;i++)if(strcmp(a[i],max)>=0){strcpy(max,a[i]);n=i;}printf("\n");puts(a[m]);puts(a[n]);}2、编译,无毛病、无警告后运行,运行结果如下:m=0;for(j=0;j<=3;j++)for(i=0;i<=2;i++){b[m]=a[i][j];m++;}for(m=0;m<12;m++)printf("%d ",b[m]);printf("\n");}2、编译,无毛病、无警告后运行,运行结果如下:实验总结学号:姓名:班级:成果:实验名称:函数指导教师:张雄实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握界说函数的方法;2.掌握函数实介入形参的对应关系,以及“值传递”的方式;3.掌握函数的嵌套调用和递归调用的方法;4.掌握全局变量和局部变量,静态变量和静态变量的概念和使用方法.实验过程与步骤实验①:写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息.1、输入#include <stdio.h>int is_prime(int m){int i;if(m==1)return 0;for(i=2;i<m;i++){if(m%i==0){return 0;}}return 1;}void main(){int n,c;scanf("%d",&n);c=is_prime(n);if(c==1)printf("它是素数\n");elseprintf("它不是素数\n");}2、编译,无毛病、无警告后运行,结果如下:实验③:已知二阶Fibonacci数列:0 若n=0Fib(n)= 1 若n=1Fib(n-1)+Fib(n-2) 其他情况界说递归函数求Fib(n).1、输入#include<stdio.h>int fib(int n){if(n==0 )return 0;else if(n==1)return 1;else{return fib(n-1)+fib(n-2);}}实验②:1、输入#include<stdio.h>void main(){int gy(int,int);int gb(int,int);int m,n;restart:scanf("%d%d",&m,&n);printf("最年夜公约数是%d\n",gy(m,n));printf("最小公倍数是%d\n",gb(m,n));goto restart;}int gy(int x,int y){int a,b,c,d;if(x>=y) {a=x,b=y;}else {a=y,b=x;}while(d!=0){c=a/b;d=a%b;a=b;b=d;}return a;}int gb(int x,int y){return(x*y)/gy(x,y);}2、编译,无毛病、无警告后运行,结果如下:实验④:编写函数,求101!n1、输入#include <stdio.h>int func(int n){if(n==0||n==1){return 1;}else{return n*func(n-1);}}int main(void){int n;int i;void main(){int n;scanf("%d",&n);printf("fib(%d)=%d\n",n,fib(n));}2、编译,无毛病、无警告后运行,结果如下:int sum = 0;printf("请输入一个正整数:");scanf(" %d", &n);for (i=1;i<=n;i++){sum+=func(i);}printf("1!+...+%d!=%d\n",n,sum);return 0;}2、编译,无毛病、无警告后运行,结果如下:实验总结学号:姓名:班级:成果:实验名称:指针指导教师:实验日期:实验地址:实验软件(主要仪器设备):实验要求1.掌握指针的概念,会界说和使用指针变量;2.学会使用数组的指针和指向数组的指针变量;3.学会使用字符串的指针和指向字符串的指针变量;4.学会使用指向函数的指针变量;5.了解指向指针的指针的概念及其使用方法.实验过程与步骤实验①:1.界说函数void fun(int x[ ],int*max,int *min),找出数组x中的最年夜值和最小值,最年夜值和最小值通过形参指针max和min传回.1、输入#include<stdio.h>#define N 10{ void fun(int *a,int n)int i,j,k,big;i=0;big=a[0];for(i=0;i<N;i++){if(big<a[i]){big=a[i];j=i;}}k=a[0];a[0]=a[j];a[j]=k;j=1;big=a[1];for(i=1;i<N;i++){if(big<a[i]){big=a[i];j=i;}}k=a[1];a[1]=a[j];a[j]=k;}void main(){int a[N],i;for(i=0;i<N;i++)scanf("%d",a+i);fun(a,N);for(i=0;i<N;i++)printf("%d ",a[i]);printf("\n");}}printf("-1");实验②:编写一个函数comp(s1,s2)实现两个字符串的比力.1、输入1.编写以下函数:#include <stdio.h>#include <math.h>main(){char s1[100],s2[100];int i=0,j=0;printf("s1:");do{scanf("%c",&s1[i]);s1[i]='\0';printf("s2:");do{scanf("%c",&s2[j]);}while(s2[j++]!='\n');s2[j]='\0';i=-1;j=-1;do}while(s1[i++]!='\n');break;}else if(s1[i]<s2[j]||(s1[j]!='\0'&&s1[i]=='\0')){printf("1");break;}else if(s1[i]=='\0'&&s2[j]=='\0')printf("0");}while(s1[i]!='\0'&&s2[j]!='\0');}2、编译,无毛病无警告后运行,结果如下:实验③:从键盘输入一个字符串与一个指定字符,调用函数,将字符串中呈现的指定字符全部删除.1、输入#include "stdio.h"#include "conio.h"#include "string.h"void prochar(char *str,char c){char *p;for(p=str;*p!='\0';p++)if(*p!=c)*str++=*p;*str='\0';}void main(){char str[80],char_c;gets(str);scanf("%c",&char_c);prochar(str,char_c);puts(str);getch();}2、编译,无毛病无警告后运行,结果如下:for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%d\t",array[i][j]);printf("\n");}}void convert(int array[][3]){int i,j,t;for(i=0;i<N;i++)for(j=0;j<N;j++)2、编译,无毛病无警告后运行,结果如下:{i++;j++;if(s1[i]>s2[j]||(s1[i]!='\0'&&s2[j]=='\0')){2、编译,无毛病、无警告后运行,结果如下:实验④:将一个3×3的矩阵转置,用一函数实现.在一主函数中用scanf函数输入以下矩阵元素:1357911131517将数组名作为函数参数,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输出转置后的矩阵.1、输入#include<stdio.h>#define N 3int array[N][N];void main(){void convert(int array[][3]);int i,j;printf("输入数组:\n");for(j=0;j<N;j++)for(i=0;i<N;i++)scanf("%d",&array[i][j]);printf("\n");for(j=0;j<N;j++){for(i=0;i<N;i++)printf("%d\t",array[i][j]);printf("\n");}convert(array);printf("\n");实验总结创作时间:二零二一年六月三十日。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

精品文档实验四数组、指针与字符串1.实验目的1.学习使用数组2.学习字符串数据的组织和处理3.学习标准C++库的使用4.掌握指针的使用方法5.练习通过Debug观察指针的内容及其所指的对象的内容6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用7.分别使用字符数组和标准C++库练习处理字符串的方法2.实验要求1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。

2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。

3.编程实现两字符串的连接。

要求使用字符数组保存字符串,不要使用系统函数。

4.使用string类定义字符串对象,重新实现上一小题。

5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。

Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。

实现并测试这个类。

6.定义包含5个元素的对象数组,每个元素都是Employee类型的对象。

7. (选做)修改实验4中的选做实验中的people(人员)类。

具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。

其中“出生日期”定义为一个“日期”类内嵌对象。

用成员函数实现对人员信息的录入和显示。

要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。

在测试程序中定义people类的对象数组,录入数据并显示。

3.实验内容及实验步骤1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。

程序名:lab6_1.cpp。

2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。

通过Debug观察指针的内容及其所指的对象中的内容。

程序名:lab6_2.cpp。

3.编程实现两字符串的连接。

定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。

程序名:lab6_3.cpp。

用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

4.使用string类定义字符串对象,编程实现两字符串的连接。

在string类中已重载了运算符“+=”实现字符串的连接,可以使用这个功能。

程序名:lab6_4.cpp。

5.在employee.h文件中定义Employee类。

Employee类具有姓名、街道地址、城市和邮编等私有数据成员,在成员函数中,构造函数用来初始化所有数据成员;display()中使用cout显示.精品文档姓名、街道地址、城市和邮编等属性,change_name()改变类中表示姓名属性的数据成员。

在主程序中定义这个类的对象并对其进行操作。

程序名:lab6_5.cpp。

6.使用上一小题中定义的Employee类定义对象数组emp[5],使用循环语句把数据显示出来。

程序名:lab6_6.cpp。

4.思考题1.如何存储和处理字符串?(1)可以利用字符数组存储和处理字符串;(2)利用系统提供的string类存储和处理字符串。

2.头文件<string.h>和头文件<string>有何区别?包含头文件<string.h>后,可以使用系统的字符串处理函数,如strcat(连接).strcpy(复制).strcmp (比较).strlen(求长度).strlwr(转换为小写).strupr(转换为大写)等等;而包含头文件<string>后,则可以定义string类,并且使用系统提供的string类操作符对string类型的对象进行处理。

3.有几种方法来表示和处理数组元素?(1)数组下标方法,如a[i](2)指针的方法,如int* p=&a[0]5.源程序b6_1.cpp#include<iostream>using namespace std;int a[3][3];void showTrans(){int i,j;cout<<The transposition matrix is:<<endl;for(j=0;j<3;j++){for(i=0;i<3;i++){cout<<a[i][j];cout<< ;}cout<<endl;}}{int i,j;cout<<Please input your 3*3 matrix:<<endl;for(i=0;i<3;i++){for(j=0;j<3;j++){.精品文档cin>>a[i][j];}}}int main(){input();showTrans();return 0;}b6_2.cpp#include<iostream>using namespace std;int* p[9];void showTrans(){int i,j;cout<<The transposition matrix is:<<endl;for(i=0;i<3;i++){for(j=i;j<9;j=j+3){cout<<*p[j];cout<< ;}cout<<endl;}}void input(){cout<<Please input your 3*3 matrix:<<endl;for(i=0;i<9;i++){cin>>n;p[i]=new int(n);}}int main(){input();showTrans();.精品文档int i;for(i=0;i<9;i++){delete p[i];}return 0;}b6_3.cpp#include<iostream>//不使用系统自带函数strcpyusing namespace std;char a[20]={\/0},b[20]={\/0},c[45]={\/0};int main(){int i,j,k;cout<<Input the first string:<<endl;cin.getline(a,20,'\n');cout<<Input the second string:<<endl;cin.getline(b,20,'\n');int m=0,n=0;//将数组a中的字符串拷贝到数组c中for(k=0;k<45,a[m]!='\0';k++,m++){c[k]=a[m];}//将数组b中的字符串接着a,拷贝到数组c中for(;k<45,b[n]!='\0';k++,n++){c[k]=b[n];}cout<<c;return 0;}b6_4.cpp#include<iostream>#include<cstring>using namespace std;char a[20]={\/0},b[20]={\/0};int main(){.精品文档cout<<Input the first string:<<endl;cin.getline(a,20,'\n');cout<<Input the second string:<<endl;cin.getline(b,20,'\n');string s1=a;string s2=b;string s3=s1+s2;cout<<s3;return 0;}5.Employee.h#ifndef Employee_H_INCLUDED#define Employee_H_INCLUDEDclass Employee{private:char name[15];char address[25];char city[10];int postcode;public:Employee();Employee(char n,char a,char c,int p);~Employee();void change_name();void change_address();void change_city();void change_postcode();void display();};#endif // Employee_H_INCLUDEDEmployee.cpp#include<iostream>#includeEmployee.husing namespace std;Employee::Employee(){}Employee::Employee(char n,char a,char c,int p){.精品文档name[0]=n;name[1]='\0';address[0]=a;address[1]='\0';city[0]=c;city[1]='\0';postcode=p;}Employee::~Employee(){}void Employee::change_name(){cout<<Please input your changed name:<<endl;cin.getline(name,15,'\n');}void Employee::change_address(){cout<<Please input your changed address:<<endl;cin.getline(address,25,'\n');}void Employee::change_city(){cout<<Please input your changed city:<<endl;cin.getline(city,10,'\n');}void Employee::change_postcode(){cout<<Please input your changed postcode:<<endl;cin>>postcode;}void Employee::display(){cout<<Your information shows as follow:<<endl;cout<<ame:<<name<<endl;cout<<address:<<address<<endl;cout<<city:<<city<<endl;cout<<postcode:<<postcode<<endl;}int main(){Employee person(1,1,1,1);person.display();person.change_name();person.change_address();person.change_city();.精品文档person.change_postcode();person.display();return 0;}6.Employee.h#ifndef Employee_H_INCLUDED#define Employee_H_INCLUDEDclass Employee{private:char name[15];char address[25];char city[10];int postcode;public:Employee();Employee(char n,char a,char c,int p);~Employee();void change_name();void change_address();void change_city();void change_postcode();void display();};#endif // Employee_H_INCLUDEDEmployee.cpp#include<iostream>#includeEmployee.husing namespace std;Employee::Employee(){}Employee::Employee(char n,char a,char c,int p) {name[0]=n;name[1]='\0';address[0]=a;address[1]='\0';city[0]=c;.精品文档city[1]='\0';postcode=p;}Employee::~Employee(){}void Employee::change_name(){cout<<Please input your changed name:<<endl;cin.getline(name,15,'\n');}void Employee::change_address(){cout<<Please input your changed address:<<endl;cin.getline(address,25,'\n');}void Employee::change_city(){cout<<Please input your changed city:<<endl;cin.getline(city,10,'\n');}void Employee::change_postcode(){cout<<Please input your changed postcode:<<endl;cin>>postcode;}void Employee::display(){cout<<Your information shows as follow:<<endl;cout<<ame:<<name<<endl;cout<<address:<<address<<endl;cout<<city:<<city<<endl;cout<<postcode:<<postcode<<endl;}int main(){Employeeemp[5]={Employee(1,1,1,1),Employee(2,2,2,2),Employee(3,3,3,3),Employee(4,4,4,4),Employee(5,5,5,5 )};int i;for(i=0;i<5;i++){emp[i].display();emp[i].change_name();emp[i].change_address();emp[i].change_city();.精品文档emp[i].change_postcode();cin.get();}for(i=0;i<5;i++){cout<<The emp <<i<< ;emp[i].display();}return 0;}7.#include<iostream>#include<cstring>using namespace std;//Date类class Date{private:int year;int month;int day;public:Date();Date(int y,int m,int d);Date(Date &p);~Date();void setDate();void showDate();};//People类,其中含Date类型的数据class People{private:char name[11];char number[7];char sex[3];Date birthday;char id[16];public:People();People(char* n,char* nu,char* s,Date b,char* i); People(People &p);.精品文档~People();void setName();void setNumber();void setSex();void setId();void showPeople();};//Date构造函数Date::Date(){}Date::Date(int y,int m,int d){year=y;month=m;day=d;}Date::Date(Date &p){year=p.year;month=p.month;day=p.day;}//析构inline Date::~Date(){}//Date成员函数,设置出生年月日void Date::setDate(){int y,m,d;cout<<Input the year:;cin>>y;cout<<Input the month:;cin>>m;cout<<Input the day:;cin>>d;year=y;month=m;day=d;}//Date内联成员函数,输出年月日inline void Date::showDate(){潣瑵??物桴慤?獩尠?敹牡?年?洼湯桴?月?搼祡?日<<endl; }//People构造函数People::People(){};.精品文档People::People(char* n,char* nu,char* s,Date b,char* i) {strcpy(name,n);strcpy(number,nu);strcpy(sex,s);birthday=b;strcpy(id,i);}People::People(People &p){strcpy(name,);strcpy(number,p.number);birthday=p.birthday;strcpy(id,p.id);}//People析构inline People::~People(){}//People成员函数,设置各类数据void People::setName(){cout<<Please input the person's name:;cin.getline(name,11,'\n');}void People::setNumber(){cout<<Input number:;cin.getline(number,7,'\n');}void People::setSex(){cout<<Input sex:;cin.getline(sex,3,'\n');}void People::setId(){cout<<Input id:;cin.getline(id,16,'\n');}//People内联成员函数,输出人员信息inline void People::showPeople().精品文档cout<<Name:<<name<<endl;cout<<Number:<<number<<endl;cout<<Sex:<<sex<<endl;cout<<ID:<<id<<endl;}int main(){int i;char spaceA;//生成3个Date类型的对象Date date[3]={Date(0,0,0),Date(0,0,0),Date(0,0,0)}; //生成3个People类型的对象Peopleperson[3]={People(e[2],//设置这3个对象的各类信息for(i=0;i<3;i++){person[i].setName();person[i].setNumber();person[i].setSex();person[i].setId();date[i].setDate();spaceA=getchar();}//输出这3个对象的各类信息for(i=0;i<3;i++){person[i].showPeople();date[i].showDate();}return 0;}运行结果 6.1..精品文档2.3.4.5.精品文档.6.7..精品文档7.心得体会通过本次上机课,我对数组的理解进一步加深,并且学会了对字符串数据的组织和处理,能够运用字符串类对字符串进行直接的运算;并且进一步熟悉了标准C++库的使用和指针的使用方法;通过进一步的练习,对Debug的操作更加熟练;而且实践操作了利用指针和new.精品文档操作在堆区里开辟空间,然后利用delete释放空间,进一步加深了对不同类型存储空间的理解,提高了自己的实际操作能力。

相关文档
最新文档