版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《C++程序设计语言》课程标准实验报告江苏科技大学计算机科学与工程学院基础教学部
实验一简单程序设计一、 实验目的(1) 熟练地使用VC++的编程环境。(2) 初步了解VC++程序的编译、连接和运行的过程。(3) 掌握和理解VC++程序的结构。(4) 熟悉VC++程序数据的输入、输出。(5) 掌握C++变量的概念及应用。(6) 掌握C++表达式的使用。二、 实验内容编程在屏幕上以左对齐的方式分行显示自己的姓名、学号、通讯地址等信息。已知球台的体积计算公式为V=6兀h[3(,2+r;)+h2],其中h为球台的高,rl,r2分别为球台的上下底半径。试编程求某球台的体积。要求球台的上下底半径及高均为键盘输入的整数,程序应分行输出球台的各项参数及体积。三、 实验过程1.编写源程序progl.cpp,内容如下:编译运行程序,结果如下:2.编写源程序prog2.cpp,内容如下:编译并运行,结果如下:高及半高及半12TJ为为±eel.ke旬底底为积y球上下高体an7:的的的的S愈口台台台es-OH-t:y四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)
实验二、三 C++的流程控制语句一、 实验目的掌握关系表达式和逻辑表达式的使用。熟悉选择结构和循环结构程序设计。掌握break和continue语句的使用。练习调试与修改程序。二、 实验内容输入一个年份year,计算这一年2月份的天数days,然后输出days。所有变量定义为整型。输入前要加提示语句。输出结果前要有必要的文字说明。编写程序,输入三角形三边a,b,c,判断a,b,c能否构成三角形,若不能则输出相应信息,若能,则判断构成的是等腰、等边、直角还是一般三角形。输入一组数3,4,8,观察程序运行结果。另外再输入几组数据进行测试:3,4,53,3,33,3,5为了方便程序的使用,在数据输入时可用简单的数字代替一定的文字信息,然后在程序中再作相应的转换。如用数字1〜7表示星期一〜星期日。试编程用开关语句实现上述功能。要求程序输入1〜7以外的数字时提示输入错误。设计一个程序,按以下公式求出数列的前20项并输出。计算公式为:'0 n=01 n=1n-n-1 n-2 n-3n=2n>2设计一个程序,输入一个四位数(整数),将各位数字分开,并按其反序输出。例如:输入1234,则输出4321。要求必须用循环语句实现。用二分法求方程x2-x-2=0在[0,3]间的解,要求精度不超过10-5。算法提示:先取二元方程f(x)的两个初略解x1和x2,若f(x1)与f(x2)的符号相反,贝0方程f(x)=0在[x1,x2]区间至少有一个根;若f(x)在[x1,x2]区间单调,则至少有一个实根;所以取x3=(x1+x2)/2,并在x1和x2中舍去和f(x3)同号者,那么解就在x3和另外那个没有舍去的初略解组成的区间里;如此反复取舍,直到xn与xn-1之差满足要求时,那么xn便是方程f(x)的近似根。三、实验过程编写源程序*,内容如下:编译并运行,结果如下:
的三条边不构成三角形,7束结—.角加形三也二等边个个条一一三成成的构构馨边三三三入的的7束结—.角加形三也二等边个个条一一三成成的构构馨边三三三入的的三三三
入的的ernykeytocontinue编写源程序*,内容如下:隋勤入数字IF,隋勤入数字IF,分别表星期一心星期日:〈输入T结束〉4星期四后耗入数字分别表星期一、星期日:〈输入T结束〉9忏X错误?Z输入数字分别表星期一心星期日:〈输入T结束〉TPressanykeytocontinue四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验四、五函数和编译预处理一、实验目的掌握函数的定义和调用的方法。学会使用递归方法进行程序设计。二、实验内容1.设计一个程序,计算组合数C(m,r)=m!/(r!x(m-r)!),其中m、r为正整数,且m>r。分别求出C(4,2)、C(4,6)、C(8,7)的组合数。求阶乘和组合数须用函数来完成。用递归方法编写程序,求n阶勒让德多项式的值,递归公式为TOC\o"1-5"\h\zI1 〃=0p(x)=<x n=1((2n—1)xxxp(x)一(n一1)xp (x))/n n>1n—1 n—2编写一个函数,判断两个自然数是否是自然数对。自然数对是指两个自然数的和与差都是平方数。例如:17-8=9,17+8=25,那么,17与8就是自然数对。用主函数调用该函数。编写一个函数用牛顿迭代法求根,方程ax3+bx2+cx+d=0,系数a、b、c、d由主函数输入。求x在1附近的一个实根,求出根后由主函数输出。算法提示:设xk是f(x)=0的一个近似根。把f(x)在xk处作一阶泰勒展开,则f(x)f(x)牝f(xk)+f(xk)(x-xk)=0则x=xk-fd)kf(x)…一取x作为原方程的新的近似根xk+1,则xk+]=xk-f,(k) (k=。,1,2,k三、实验步骤1.编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验六、七数组一、 实验目的使用一维数组和二维数组进行程序设计练习并掌握数组作为函数参数的方法。至少掌握一种排序方法。二、 实验内容1.从键盘上输入10个数,然后计算这10个数的均方差。均方差的计算公式为D=1^(x-X)2,其中x=(习x)/ni=0 i=0设某矩阵中各元素互不相同,设计一个函数将二维数组中的最大元素与左上角元素交换,最小元素与右下角元素交换。通过指针变量将字符串逆序。如“abc321”逆序后变为“123cba”。将一个字符串中指定位置起的n个字符置换为另一字符串中的字符(不含字符串结束标志)。三、实验过程1.编译并运行,结果如下:e*C:\Docu>entsandSettings\AdAinistrator\lyDocuments\Debug\Cppl.exe晴输入十个数值:24364878厂643格芳差为:7041.6Pressanykeytocontinue3.四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验八结构体与简单链表一、 实验目的掌握指针变量的定义与引用。熟练使用函数指针、数组指针、字符串指针编写应用程序。二、 实验内容.输入一个字符串,串内有数字和非数字字符。例如:abc2345 345rrf678jfkld945将其中连续的数字作为一个整数,依次存放到另一个整型数组b中。如对于上面的输入,将2345存放到b[0],345存放入b[1]••…,统计出字符串中的整数个数,并输出这些整数。要求在主函数完成输入和输出工作。设计一个函数,把指向字符串的指针和指向整型数组的指针作为函数的参数,并完成从字符串中依次提取出整数的工作。.已知函数voidstat(char*[3],int&num,int*aphlet,int*other),统计三个字符串中的数字字符、英文字母及其他字符的数量。三、 实验过程1编译并运行,结果如下:2编译并执行,结果如下:2编译并执行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验九、十类和对象一、 实验目的熟悉类和对象的概念掌握类的构造函数和析构函数的使用方法。掌握面向对象的程序设计的基本思想和方法。二、 实验内容由一个已知一维数组派生出另一个一维数组的派生规则如下:新数组的每一元素等于原始数组的对应元素及其相邻两元素的平均值。其中第0个元素的左邻元素约定为最后一个元素,最后一个元素的右邻元素约定为第0个元素。假设原始数组为a[10],则0b[0]=(a[9]+a[0]+a[1])/3,b[1]=(a[0]+a[1]+a[2])/3,b[2]=(a[1]+a[2]+a[3])/3, ,b[9]=(a[8]+a[9]+a[0])/3。试建立一个实现此功能的类ARRAY。具体要求如下:私有数据成员floata[10],b[10];a存放原始数组,b存放派生数组。公有成员函数ARRAY(floatt[10]):构造函数,初始化成员数组a;voidprocess():由数组a根据上述派生规则,用循环语句计算数组b的各元素;voidprint():屏幕显示数组a和b。在主程序中对该类进行测试。使用测试数据{0,3,6,9,12,15,18,21,24,27}。定义一个字符串类STR,实现将指定字符串中第n1个字符起的n2个字符替换为第二个字符串。具体要求如下:私有数据成员char*st1,*st2,*st;st1为源字符串,st2为用于替换的字符串,st为替换后的新字符串。intn1,n2;n1为st1中开始替换的字符序号,n2为替换的字符个数。公有成员函数STR(char*s1,inta1,inta2,char*s2):构造函数,初始化各成员数据。voidfun():功能函数,完成字符替换。要求不使用系统提供的字符串处理函数。voidprint():功能函数,输入各成员数据。〜STR():析构函数,释放动态内存。在主函数中给定原始字符串,用于替换的字符串,起始字符序号及被替换的字符个数,利用这些数据生成类STR的对象test,并对该类进行测试。定义一个数组类Array,求整型一维组中值为素数的元素的平均值。具体要求如下:私有成员数据int*p,k; //p表示维组,k为数组大小float*s; 〃一维组中素数元素的平均值公有成员函数Array(int*ptr,intn):根据参数初始化p和k,并为s赋初值;intfun(intn):判断n是否为素数,若是返回1,否则返回0;voidsum():求素数元素的平均值;voidshow():输出所有成员数据,数组每行5个元素,其他成员每行一个;•析构函数。设计一个完整的程序对该类进行测试。以数组{5,2,7,4,8,23,65,1,40}说明Array类型对象arr,并对其测试。定义一个数组类Array,将二维数组中小于平均值的元素放在数组的前面,大于平均值的元素放在数组的后面。具体要求如下:(1)私有数据成员: _•inta[5][5]; //表示二维数组floatave; //二维数组的平均值(2)公有成员函数:Arry(intb[][5],intn):构造函数,用n行5列的数组初始化成员数据;voidf():功能函数,求二维数组的平均值;voidfun():功能函数,根据题目要求调整二维数组;voidshow():功能函数,输出成员数组;•析构函数。设计一个完整的程序对该类进行测试。5、定义一个字符串类String,具体要求如下:私有数据成员:char*str; //存放含数字字符的字符串intlen; //成员字符串的长度公有成员函数:String(char*ptr):构造函数,根据给定的字符串初始化成员数据;chargetc(intn):根据给定的序号取成员字符串中的第n个字符;voidsetc(intn,charc):根据给定的序号把成员字符串中的第!个字符修改为cvoidsetlen():求成员字符串的长度voidshow():输出数据成员。析构函数设计一个完整的程序对该类进行测试。三、实验过程2.编写源程序prog92.cpp,内容如下:编译并运行,结果如下:隋输入主串与子串:75647隋输入开始替换的字符序号及替换的字符个数:34stl=tewtyteyete56475nl=3n2=4kt2=75647st=te7564eyey4yutte56475Pressanykeytocontinue3.编写源程序prog93.cpp,内容如下:编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验十继承和派生类实验十继承和派生类一、 实验目的掌握类的继承和派生方法。二、 实验内容编写汽车类来处理各种汽车信息,其中大客车的信息有:牌号、出厂年月、限载人数、车轮数;货车的信息有牌号、出厂年月、限载重量、车轮数;轿车的信息有:牌号、出厂年月、限载人数。具体要求如下:设计合适的基类;根据基类派生出各种汽车类;各类通过构造函数实现成员数据初始化;在各类中设计一个修改成员数据的成员函数;在各类中设计一个输出成员数据的成员函数;设计一个完整的程序对所定义的类进行测试。三、 实验过程编译并执行,结果如下:编译并执行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)
实验十二 类的其它特性一、 实验目的掌握友元函数定义方法,理解友元函数的特性。掌握虚函数定义方法,理解虚函数的特性。二、 实验内容1.用友元函数的方法求圆柱体的体积,设圆柱体的半径为r、高为h。要求如下:定义一个类A,r和h为类A的私有的成员数据,利用构造函数来对r和h赋初值。定义类A的两个公有成员函数Getr()和Geth(),分别用于提取私有数据r和h。分别定义一个友元函数doubleV1(A)和普通函数doubleV2(double,double)来计算圆柱体的体积。2.利用虚函数的多态性来求正方体、球体和圆柱体的表面积和体积。要求如下:定义一个基类,其中包含成员数据a、b,并定义一个求体积的纯虚函数。其成员数据a用于表示正方体的边长或球体的半径或圆柱体的半径,b用于表示圆柱体的高。对于正方形和球体,其成员数据b的值设为0。分别由(1)定义的基类派生出描述正方体、球体和圆柱体的类,并定义求体积的虚函数。在主函数中确定正方体的边长、球体的半径以及圆柱体的半径和高,并生成相应的对象,调用相应的成员函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年汽车行业技术人才招聘笔试题目
- 2026年经济学基础理论与应用考试题目集及答案详解
- 2025年南昌县招聘教师考试真题
- 2026年法学专业硕士研究生入学考试模拟题含法条解析
- 2026年公务员遴选考试公共基础知识题库
- 2026年市场营销专业从业试题库与学习
- 2025年湖南省会计领军面试题库及答案
- 2025年邵阳县特岗语文面试题库及答案
- 2025年册亨县社区工作笔试真题及答案
- 2025年广东省人社厅面试题库及答案
- (一模)济南市2026届高三第一次模拟考试生物试卷(含答案)
- (16区全套) 上海市16区2026届初三一模化学试卷合集(含答案)
- 2026年太原城市职业技术学院单招综合素质考试题库必考题
- 2025-2026学年北京市海淀区初二(上期)期末物理试卷(含答案)
- 2026年医疗器械行业分析报告及未来五至十年行业发展报告
- 房产纠纷诉讼书范文(合集8篇)
- 2025-2026学年高一上学期期末英语模拟卷(译林版)(解析版)
- 2025年山东省专升本数学(数一)真题及答案
- FZ∕T 74002-2014 运动文胸行业标准
- 房地产营销费效分析
- (常州卷)江苏省常州市2023-2024学年四年级上学期期末考试质量调研数学试卷一(苏教版)
评论
0/150
提交评论