《面向对象程序设计》C实验报告.doc
文本预览下载声明
《面向对象程序设计》
实验报告
学 院:
专 业:
班级学号:
姓 名:
学 期:
教 师:
实验一 C++基础练习
院(系): 课程名称:面向对象程序设计 教师签名:
班级
学号
实验室
姓名
实验成绩
所用软件
Word文档、VC++软件
实验目的和要求
1.掌握C++程序的基本格式与规范,学会编写简单的C++程序。
2.理解C++程序结构的特点。
3.熟悉C++程序基本的输入和输出操作。
4.掌握C++数据类型常量和变量以及修饰符的使用方法。
5.掌握函数定义、函数调用和函数说明的方法。
6.熟悉作用域运算符的功能和基本使用方法。
7.掌握C++内存的动态分配与释放方法。
8.理解引用的概念,掌握引用的使用方法。
实验内容和步骤
1. 调试如下的代码并回答问题。
#include iostream.h
void main()
{
//First c++ program
char name[10];
coutplease input your name:;
cinname;
coutwelcome nameendl;
}
(1)C++的注释和C有何不同?
答:C语言的注释有一种,用/*……….*/作为注释分界符号
C++除保留了这种注释方式之外,还提供了一种更有效的注释方式,该注释以“//”开始,到行尾结束。
(2)C++的输入和输出所使用的函数及其相应头文件与C有何不同?
答:在C中进行输入输出操作时,常使用函数scanf和printf。C++除了可以照常使用这两个函数进行输入输出外,还增加了标准输入流对象cin和标准输出流对象cout来进行输入和输出。Iostream是C++系统定义的一个头文件,在这个文件中声明了程序所需要的输入和输出操作的有关信息。在C语言中头文件中用“.h”作为后缀,如stdio.h、math.h等。
2. 单步调试如下的代码并回答问题。
#include iostream.h
inline int f(int x)
{ return 2*x*x+4*x+5; }
inline double f(double x)
{ return 2*x*x+4*x+5; }
void main()
{ int x=5;
double y=5.2;
coutf(x)endl;
coutf(y)endl;
}
(1)inline的含义和作用是什么?
答:含义:在函数说明前冠以关键字“inline”,该函数就被声明为内联函数,每当程序中出现对该函数的调用时C++编译器使用函数体中的代码插入到调用该函数的语句处,同时用实参取代形参。作用:主要是为了消除函数调用时的系统开销,以提高运行速度。
(2)C允许两个函数同名(函数重载)么,函数重载的作用是什么?
答:不允许,作用:方便使用函数,只要函数参数的类型不同,或者参数的个数不同,或者二者兼而有之,两个或者两个以上的函数可以使用相同的函数名。实现函数编译的多态性。
(3)单步调试(F10、F11),记录f(x)和f(y)会分别调用哪段代码,为什么?
答:f(x)会调用int f(int 5) f(y)会调用double f(double 5.2)
因为虽然两个函数名是一样的,形参类型和返回值类型不同,根据所给的实参类型如int型就调用int f(int 5)。
3. 单步调试如下程序并回答问题。
#include iostream.h
int a[]={1,2,3,4,5,6,7,8,9,10};
int sum;
void main()
{
int i;
int sum=0;
for(i=0;i10;i++)
{
if(a[i]%2!=0) sum=sum+a[i];
::sum=::sum+a[i];
}
cout sum of all is : ::sum;
cout sum of odd is: sum;
}
(1)什么是局部变量和全局变量,其作用域如何界定?
答:全局变量:在函数外定义的变量,可以为本源文件的其他函数所公用,有效范围为从定义变量的位置开始到本源文件结束。局部变量:在一个函数内部定义的变量是内部
显示全部