




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+程序设计语言课程标准实验报告 江苏科技大学计算机科学与工程学院基础教学部11实验一 简单程序设计一、实验目的(1)熟练地使用VC+的编程环境。(2)初步了解VC+程序的编译、连接和运行的过程。(3)掌握和理解VC+程序的结构。(4)熟悉VC+程序数据的输入、输出。(5)掌握C+变量的概念及应用。(6)掌握C+表达式的使用。二、实验内容1编程在屏幕上以左对齐的方式分行显示自己的姓名、学号、通讯地址等信息。2已知球台的体积计算公式为V=,其中h为球台的高,r1,r2分别为球台的上下底半径。试编程求某球台的体积。要求球台的上下底半径及高均为键盘输入的整数,程序应分行输出球台的各项参数及体积。三、实验过程1编写源程序prog1.cpp,内容如下:编译运行程序,结果如下:2编写源程序prog2.cpp,内容如下:编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验二、三 C+的流程控制语句一、实验目的(1)掌握关系表达式和逻辑表达式的使用。(2)熟悉选择结构和循环结构程序设计。(3)掌握break和continue语句的使用。(4)练习调试与修改程序。二、实验内容1输入一个年份year,计算这一年2月份的天数days,然后输出days。(1)所有变量定义为整型。(2)输入前要加提示语句。(3)输出结果前要有必要的文字说明。2编写程序,输入三角形三边a,b,c,判断a,b,c能否构成三角形,若不能则输出相应信息,若能,则判断构成的是等腰、等边、直角还是一般三角形。(1)输入一组数3,4,8,观察程序运行结果。(2)另外再输入几组数据进行测试:3,4,53,3,33,3,53为了方便程序的使用,在数据输入时可用简单的数字代替一定的文字信息,然后在程序中再作相应的转换。如用数字17表示星期一星期日。试编程用开关语句实现上述功能。要求程序输入以外的数字时提示输入错误。n=0n=1n=2n24设计一个程序,按以下公式求出数列的前20项并输出。计算公式为:5设计一个程序,输入一个四位数(整数),将各位数字分开,并按其反序输出。例如:输入1234,则输出4321。要求必须用循环语句实现。6用二分法求方程x2-x-2=0在0,3间的解,要求精度不超过10-5。算法提示:先取二元方程f(x)的两个初略解x1和x2,若f(x1)与f(x2)的符号相反,则方程f(x)=0在x1,x2区间至少有一个根;若f(x)在x1,x2区间单调,则至少有一个实根;所以取x3=(x1+x2)/2,并在x1和x2中舍去和f(x3)同号者,那么解就在x3和另外那个没有舍去的初略解组成的区间里;如此反复取舍,直到xn与xn-1之差满足要求时,那么xn便是方程f(x)的近似根。三、实验过程2编写源程序*,内容如下:编译并运行,结果如下:3编写源程序*,内容如下:编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验四、五函数和编译预处理一、实验目的()掌握函数的定义和调用的方法。()学会使用递归方法进行程序设计。二、实验内容设计一个程序,计算组合数C(m,r)=m!/(r!(m-r)!),其中m、r为正整数,且mr。分别求出C(4,2) 、C(4,6)、C(8,7)的组合数。求阶乘和组合数须用函数来完成。用递归方法编写程序,求n阶勒让德多项式的值,递归公式为3. 编写一个函数,判断两个自然数是否是自然数对。自然数对是指两个自然数的和与差都是平方数。例如:17-8=9,17+8=25,那么,17与8就是自然数对。用主函数调用该函数。4. 编写一个函数用牛顿迭代法求根,方程ax3+bx2+cx+d=0,系数a、b、c、d由主函数输入。求x在1附近的一个实根,求出根后由主函数输出。算法提示:设xk是f(x)=0的一个近似根。把f(x)在xk处作一阶泰勒展开,则 则取x作为原方程的新的近似根xk+1,则三、实验步骤1编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验六、七数组一、实验目的()使用一维数组和二维数组进行程序设计()练习并掌握数组作为函数参数的方法。()至少掌握一种排序方法。二、实验内容从键盘上输入个数,然后计算这个数的均方差。均方差的计算公式为设某矩阵中各元素互不相同,设计一个函数将二维数组中的最大元素与左上角元素交换,最小元素与右下角元素交换。通过指针变量将字符串逆序。如“abc321” 逆序后变为“123cba”。4. 将一个字符串中指定位置起的n个字符置换为另一字符串中的字符(不含字符串结束标志)。三、实验过程1编译并运行,结果如下:3编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验八 结构体与简单链表一、实验目的()掌握指针变量的定义与引用。()熟练使用函数指针、数组指针、字符串指针编写应用程序。二、实验内容输入一个字符串,串内有数字和非数字字符。例如:abc2345 345rrf678 jfkld945将其中连续的数字作为一个整数,依次存放到另一个整型数组b中。如对于上面的输入,将2345存放到b0,345存放入b1,统计出字符串中的整数个数,并输出这些整数。要求在主函数完成输入和输出工作。设计一个函数,把指向字符串的指针和指向整型数组的指针作为函数的参数,并完成从字符串中依次提取出整数的工作。已知函数void stat(char *3,int &num,int *aphlet,int *other),统计三个字符串中的数字字、英文字母及其他字符的数量。三、实验过程1编译并运行,结果如下:2编译并执行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验九、十类和对象一、实验目的()熟悉类和对象的概念()掌握类的构造函数和析构函数的使用方法。()掌握面向对象的程序设计的基本思想和方法。二、实验内容1. 由一个已知一维数组派生出另一个一维数组的派生规则如下:新数组的每一元素等于原始数组的对应元素及其相邻两元素的平均值。其中第0个元素的左邻元素约定为最后一个元素,最后一个元素的右邻元素约定为第0个元素。假设原始数组为a10,则b0=(a9+a0+a1)/3,b1=(a0+a1+a2)/3,b2=(a1+a2+a3)/3,b9=(a8+a9+a0)/3。试建立一个实现此功能的类ARRAY。具体要求如下:(1)私有数据成员l float a10,b10;a存放原始数组,b存放派生数组。(2)公有成员函数l ARRAY(float t10):构造函数,初始化成员数组a;l void process():由数组a根据上述派生规则,用循环语句计算数组b的各元素;l void print():屏幕显示数组a和b。(3)在主程序中对该类进行测试。使用测试数据0,3,6,9,12,15,18,21,24,27。 2定义一个字符串类STR,实现将指定字符串中第n1个字符起的n2个字符替换为第二个字符串。具体要求如下:()私有数据成员l char *st1,*st2,*st;st1为源字符串,st2为用于替换的字符串,st为替换后的新字符串。l int n1,n2;n1为st1中开始替换的字符序号,n2为替换的字符个数。()公有成员函数l STR(char *s1,int a1,int a2,char *s2):构造函数,初始化各成员数据。l void fun( ):功能函数,完成字符替换。要求不使用系统提供的字符串处理函数。l void print( ):功能函数,输入各成员数据。l STR( ):析构函数,释放动态内存。()在主函数中给定原始字符串,用于替换的字符串,起始字符序号及被替换的字符个数,利用这些数据生成类STR的对象test,并对该类进行测试。3定义一个数组类Array,求整型一维组中值为素数的元素的平均值。具体要求如下:(1)私有成员数据l int * p,k;/ p表示维组,k为数组大小l float *s; /一维组中素数元素的平均值(2)公有成员函数l Array(int*ptr,int n):根据参数初始化p和k,并为s赋初值;l int fun(int n):判断n是否为素数,若是返回1,否则返回0;l void sum():求素数元素的平均值;l void show():输出所有成员数据,数组每行5个元素,其他成员每行一个;l 析构函数。(3)设计一个完整的程序对该类进行测试。以数组5,2,7,4,8,23,65,1,40说明Array类型对象arr,并对其测试。4. 定义一个数组类Array,将二维数组中小于平均值的元素放在数组的前面,大于平均值的元素放在数组的后面。具体要求如下:(1)私有数据成员:l int a55;/ 表示二维数组l float ave;/ 二维数组的平均值(2)公有成员函数:l Arry(int b 5,int n):构造函数,用n行5列的数组初始化成员数据;l void f ():功能函数,求二维数组的平均值;l void fun():功能函数,根据题目要求调整二维数组;l void show ():功能函数,输出成员数组;l 析构函数。 (3)设计一个完整的程序对该类进行测试。三、实验过程2编写源程序prog91.cpp,内容如下:编译并运行,结果如下:3编写源程序prog92.cpp,内容如下:编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验十一继承和派生类一、实验目的掌握类的继承和派生方法。二、实验内容编写汽车类来处理各种汽车信息,其中大客车的信息有:牌号、出厂年月、限载人数、车轮数;货车的信息有牌号、出厂年月、限载重量、车轮数;轿车的信息有:牌号、出厂年月、限载人数。具体要求如下:()设计合适的基类;()根据基类派生出各种汽车类;()各类通过构造函数实现成员数据初始化;()在各类中设计一个修改成员数据的成员函数;()在各类中设计一个输出成员数据的成员函数;()设计一个完整的程序对所定义的类进行测试。三、实验过程编译并执行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验十二类的其它特性一、实验目的()掌握友元函数定义方法,理解友元函数的特性。()掌握虚函数定义方法,理解虚函数的特性。二、实验内容用友元函数的方法求圆柱体的体积,设圆柱体的半径为r、高为h。要求如下:()定义一个类,r和h为类A的私有的成员数据,利用构造函数来对r和h赋初值。()定义类A的两个公有成员函数Getr()和Geth(),分别用于提取私有数据r和h。()分别定义一个友元函数double V1(A)和普通函数double V2(double,double)来计算圆柱体的体积。利用虚函数的多态性来求正方体、球体和圆柱体的表面积和体积。要求如下:()定义一个基类,其中包含成员数据a、b,并定义一个求体积的纯虚函数。其成员数据a用于表示正方体的边长或球体的半径或圆柱体的半径,b用于表示圆柱体的高。对于正方形和球体,其成员数据b的值设为。()分别由()定义的基类派生出描述正方体、球体和圆柱体的类,并定义求体积的虚函数。()在主函数中确定正方体的边长、球体的半径以及圆柱体的半径和高,并生成相应的对象,调用相应的成员函数求相应的体积。三、实验过程编译并运行,结果如下:2编写源程序prog1102.cpp,内容如下:编译并运行,结果如下:四、实验小结(主要写一些实验中出现的问题,应注意的事项,以及实验体会)实验十三运算符重载一、实验目的()掌握用成员函数重载运算符的方法。()掌握用友元函数重载运算符的方法。二、实验内容定义一个数据类,成员数组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 线上小学音乐课程教学总结报告
- 2025内蒙古峰市教育科学研究中心竞争性比选教研员5人考前自测高频考点模拟试题及答案详解1套
- 大型电厂化学清洗方案编制及操作规范
- 小学语文课文训练题及教学辅导方案
- 八年级英语日常锻炼话题练习题集
- 八年级语文同步练习题详解
- 外语学校历年期中英语考试真题汇编
- 大型酒店租赁协议条款解析
- 桥梁基础工程质量监测报告样本
- 2025国家统计局张家港调查队招聘公益性岗位(编外)人员1人(江苏)笔试参考题库附答案解析
- 中国法律史-第一次平时作业-国开-参考资料
- 平行四边形的面积集体备课发言稿
- 大学美育(第二版) 课件 第八单元:建筑艺术
- 思想政治教育专业大学生职业生涯规划书
- 湘教版高一地理新教材《4.1水循环》公开课一等奖课件省赛课获奖课件
- 医院科研经费管理办法
- 2023年广州海洋地质调查局招聘社会在职人员高频考点题库(共500题含答案解析)模拟练习试卷
- 运用PDCA循环降低住院患者雾化吸入的不规范率品管圈成果汇报
- 感触最深的一件事七年级作文大全600字
- 中建二局“大商务”管理实施方案20200713(终稿)
- 现浇墩台身轴线偏位、全高竖直度检测记录表
评论
0/150
提交评论