面向对象程序设计》C实验报告.docx
- 文档编号:24952217
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:77
- 大小:339.80KB
面向对象程序设计》C实验报告.docx
《面向对象程序设计》C实验报告.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计》C实验报告.docx(77页珍藏版)》请在冰豆网上搜索。
面向对象程序设计》C实验报告
面向对象程序设计》C实验报告
《面向对象程序设计》
实验报告
学院:
专业:
班级学号:
姓名:
学期:
教师:
实验一C++基础练习
院(系):
课程名称:
面向对象程序设计教师签名:
班级
学号
实验室
姓名
实验成绩
所用软件
Word文档、VC++软件
实验目的和要求
1.掌握C++程序的基本格式与规范,学会编写简单的C++程序。
2.理解C++程序结构的特点。
3.熟悉C++程序基本的输入和输出操作。
4.掌握C++数据类型常量和变量以及修饰符的使用方法。
5.掌握函数定义、函数调用和函数说明的方法。
6.熟悉作用域运算符的功能和基本使用方法。
7.掌握C++内存的动态分配与释放方法。
8.理解引用的概念,掌握引用的使用方法。
实验内容和步骤
1.调试如下的代码并回答问题。
#include
voidmain()
{
//Firstc++program
charname[10];
cout<<"pleaseinputyourname:
";
cin>>name;
cout<<"welcome"< } (1)C++的注释和C有何不同? 答: C语言的注释有一种,用/*……….*/作为注释分界符号 C++除保留了这种注释方式之外,还提供了一种更有效的注释方式,该注释以“//”开始,到行尾结束。 (2)C++的输入和输出所使用的函数及其相应头文件与C有何不同? 答: 在C中进行输入输出操作时,常使用函数scanf和printf。 C++除了可以照常使用这两个函数进行输入输出外,还增加了标准输入流对象cin和标准输出流对象cout来进行输入和输出。 Iostream是C++系统定义的一个头文件,在这个文件中声明了程序所需要的输入和输出操作的有关信息。 在C语言中头文件中用“.h”作为后缀,如stdio.h、math.h等。 2.单步调试如下的代码并回答问题。 #include inlineintf(intx) {return2*x*x+4*x+5;} inlinedoublef(doublex) {return2*x*x+4*x+5;} voidmain() {intx=5; doubley=5.2; cout< cout< } (1)inline的含义和作用是什么? 答: 含义: 在函数说明前冠以关键字“inline”,该函数就被声明为内联函数,每当程序中出现对该函数的调用时C++编译器使用函数体中的代码插入到调用该函数的语句处,同时用实参取代形参。 作用: 主要是为了消除函数调用时的系统开销,以提高运行速度。 (2)C允许两个函数同名(函数重载)么,函数重载的作用是什么? 答: 不允许,作用: 方便使用函数,只要函数参数的类型不同,或者参数的个数不同,或者二者兼而有之,两个或者两个以上的函数可以使用相同的函数名。 实现函数编译的多态性。 (3)单步调试(F10、F11),记录f(x)和f(y)会分别调用哪段代码,为什么? 答: f(x)会调用intf(int5)f(y)会调用doublef(double5.2) 因为虽然两个函数名是一样的,形参类型和返回值类型不同,根据所给的实参类型如int型就调用intf(int5)。 3.单步调试如下程序并回答问题。 #include inta[]={1,2,3,4,5,6,7,8,9,10}; intsum; voidmain() { inti; intsum=0; for(i=0;i<10;i++) { if(a[i]%2! =0)sum=sum+a[i]; : : sum=: : sum+a[i]; } cout<<"sumofallis: "<<: : sum; cout<<"sumofoddis: "< } (1)什么是局部变量和全局变量,其作用域如何界定? 答: 全局变量: 在函数外定义的变量,可以为本源文件的其他函数所公用,有效范围为从定义变量的位置开始到本源文件结束。 局部变量: 在一个函数内部定义的变量是内部变量,它只在本函数范围内有效。 (2)在局部变量和全局变量作用域重叠区域,默认哪个变量起作用;如果一定要访问全局变量,怎么实现。 答: 默认局部变量起作用。 如果一定要访问全局变量,可以用: : 对所屏蔽的同名全局变量进行访问。 (3)单步调试,查看并记录程序中循环体的两条语句的sum的变化情况,并说明它们是局部变量和全局变量。 答: 第一个sum为全局变量,第二个: : sum为局部变量。 4.调试如下程序并回答问题。 #include voidmain() { double*r;r=newdouble; cin>>*r; cout<<"Areais: "<<3.14*(*r)*(*r); deleter; } (1)C语言的内存申请和释放使用哪个函数 答: 内存申请: malloc释放: free (2)C++的内存申请和释放使用哪个函数? 简单比较。 答: 内存申请: new释放: delete 使用malloc函数时必须使用sizeof函数来计算所需要的字节数,而new可以根据数据类型自动计算所要分配内存的大小,这就减小了发生错误的可能性。 new能够自动返回正确的指针类型,而不必像malloc函数那样,必须在程序中进行强制类型转换,才能使其返回正确的指针类型。 实验二C++简单程序设计练习 院(系): 课程名称: 面向对象程序设计教师签名: 班级 学号 实验室 姓名 实验成绩 所用软件 Word文档、VC++软件 实验目的和要求 1.掌握if语句的用法。 2.掌握switch语句的用法。 3.掌握循环和多重循环的用法。 4.掌握函数的定义和调用。 5.掌握数组的定义和基本操作。 实验内容和步骤 1.根据输入的百分制按五分制的成绩输出,记录和分析实验结果(后续每个实验都有此要求,不再一一注明)。 百分制与五分制之间的关系见下表。 分别使用if分支结构和switch结构编写程序。 百分制 五分制 90~100 5 80~89 4 70~79 3 60~69 2 0~59 1 #include intmain() { inta; cout<<"从键盘输入百分制: "< cin>>a; if(a>0&&a<60)cout<<"五分制为: 1"< 1 else if(a<70)cout<<"五分制为: 2"< else if(a<80)cout<<"五分制为: 3"< else if(a<90)cout<<"五分制为: 4"< else if(a<=100)cout<<"五分制为: 5"< } 使用if嵌套语句实现某一范围内的输出 具体看注释 #include voidmain() { inta,b; cout<<"从键盘输入百分制: "< cin>>a; b=a/10;//对a求商并赋值给b switch(b)//确定b的值为什么值 { case10: case9: cout<<"五分制为: 5"< 5 case8: cout<<"五分制为: 4"< case7: cout<<"五分制为: 3"< case6: cout<<"五分制为: 2"< default: cout<<"五分制为: 1"< } } 用switch语句实现 分析如上的注释 2.编程求3~100之间的所有素数,要求编写一个素数判断的函数,然后在主程序中调用。 #include #include intmain() {inti;//定义变量i intfun(int);//函数的声明 for(i=3;i<=100;i++) if(fun(i))cout< } intfun(intn)//函数的定义 { inti,t;//定义两个整型变量 t=sqrt(n); for(i=2;i<=t;i++)//当有能被整除的数则返回0,后则返回1 if(n%i==0) return0; return1; } 3.编写程序列出斐波那契(Fibonacci)数列的前20项。 (Fibonacci数列是指前两项为1,后面的每一项都为前两项之和。 要求用数组存储数列)。 #include voidmain() { inta[20]={1,1};//初始化数组a,a[0]=a[1]=1 inti; for(i=2;i<20;i++) { a[i]=a[i-1]+a[i-2];//后面每一项都为前两项之和 } for(i=0;i<20;i++)//输出前20个斐波那契数列 {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 实验 报告