C++上机实验(一)

实验一 C++基础
1.1 实验目的
1.进一步了解和熟悉VC++6.0开发环境,学会在VC++6.0环境下调试程序;
2.熟悉C++中简单的标准输入输出函数的实用;
3.理解const修饰符的作用,并学会应用const修饰符;
4.理解内置(内联)函数的优缺点并学会使用内置函数;
5.理解和使用函数重载以及带默认参数的函数;
6.使用new和delete进行动态内存管理;
7.理解和使用引用。
1.2实验内容
1.2.1 程序阅读
1.理解下面的程序,并在VS下运行查看结果,回答程序后面的问题。

问题一:上述程序的输出结果是什么?
545.612

问题二:哪些情况可以参与函数的重载?
函数需要的参数不同,需要的参数不是常数

问题三:①处调用的是哪个函数?
Int max_def

问题四:②处的输出结果为什么是d2=12,而不是d2=12.3?
函数的返回类型为整数,temp也是整数类型

2.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。

问题一:①、②、③处动态申请内存分别代表什么不一样的意思?
1处代表:整型数指针定义
2处代表:函数指针定义
3处代表:字符型数组指针定义
问题二:该程序存在什么隐患?改正该程序使隐患消除。
没有清理1,2内存
3.理解下面的程序,并在VC++6.0下运行查看结果,回答程序后面的问题。

问题一:上述程序的输出结果是什么?
5 10
5 10
10 5

问题二:①处函数调用后并不能实现两个数的交换,而②处却可以,为什么?
函数使用的是形参
指针传的是地址可以改变原数值

问题三:②处调用的是哪个重载函数?
第二个重载函数

1.2.2 程序设计
1.使用函数重载的方法定义两个重名函数,分别求出整形数平面间两点间距离和双精度平面间两点间距离,如果没有输入第二点的坐标则默认为圆点(0,0)。

2.设计一个函数:exchange(float x, float y, float z),当调用exchange(a,b,c)时,将a的内容赋值给b,b的内容赋值给c,c的内容赋值给a,要求采用引用的方式来实现。

1.3 思考题
1.自己设计一个程序,测试const的三种用法:指向常量的指针,常指针,指向常量的常指针。

代码:
#include
using namespace std;
int main(){
int *const p = new int; //常量指针
*p=23;
*p=32;
Return 0;
}
#include
using namespace std;
int main(){
int *const p = new int; //常量指针
p++;
Return 0;
}

#include
using namespace std;
int main(){
int const *p = new int; //常量指针
p++;
*p=23;
Return 0;
}
//*P只读,p可以修改
#include
using namespace std;
int main(){
const int *const p = new int; //常量指针
p++;
*p=23;
Return 0;
}
//都不可修改

2.编写一个函数,实现两个字符串变量的交换,要求参数用引用。
代码:
#include “stdafx.h”
#include “iostream”
using namespace std;
void swapstring(char *&a,char *&b){
char *temp;
temp = a;
a = b;
b = temp;
}

int _tmain(int argc, _TCHAR* argv[])
{
char *a = “hello”;
char *b = “world”;

cout << "a=" << a << endl;
cout << "b=" << b << endl;
swapstring(a, b);

cout << "0000" << endl;

cout << "a=" << a << endl;
cout << "b=" << b << endl;

return 0;

}

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值