C++程序设计实验七_参考答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广东金融学院实验报告

课程名称:C++程序设计

实验编号

实验7数组与指针练习系别参考答案及实验名称

姓名学号班级

实验地点新电403实验日期2011-11-24实验时数4

指导教师曲政同组其他成员无成绩

一、实验目的及要求

1.学习C/C++数组和指针的概念和使用方法。

2.练习C++/CLI托管数组的创建方法和元素访问方法。

二、实验环境及相关情况(包含使用软件、实验设备、主要仪器及材料等)

硬件设备:联网的个人计算机

操作系统:Windows XP

编译系统:Visual Studio2005

三、实验内容及步骤(包含简要的实验步骤流程)

1.内容和步骤

⑴仔细阅读本课件的知识点和例题,努力理解其中的文字阐述和源代码,必要时可将源代码拷入Visual Studio2005生成的C++/CLR框架编译和运行,将运行结果与源代码对照,加深对C/C++数组和指针的理解。

⑵在理解本课件内容的基础上,编写C/C++程序实现下列文字描述:

a.声明一个int型变量x,并赋初值3;

b.打印x的值;

c.打印x的地址;

d.声明一个指向int的指针p,并让其指向变量x;

e.打印p所指变量的值

f.打印p的值;

g.声明一个有10个元素的一维本地整型数组A,并为其赋初值0~9;

h.在一个循环中打印A的所有元素的值;

i.打印A的值;

j.打印A的第一个元素的地址;

k.声明一个指向int的指针q,并让其指向A的第一个元素;

l.在一个循环中通过q后跟下标,打印出A的所有元素的值;

m.在一个循环中通过q加上循环变量和取值运算,打印出A的所有元素的值;

n.在一个循环中通过q的增量和取值运算,打印出A的所有元素的值;

o.在一个循环中通过q的负增量,反序打印出A的所有元素的值;

p.声明一个int型指针r,在堆中创建一个int型变量,为该变量赋初值3,并将该变量的地址赋给该指针,打印出该变量的值,然后删除该变量。

q.声明一个本地类Point(可以用包含2个int型变量和一个有参数构造函数的结构体表示)的指针s,在堆中创建一个Point类的对象,调用构造函数为该对象的两个数据成员赋初值3和4,并将该对象的地址赋给该指针,打印两个数据成员的值,然后删除该对象。

r.声明一个int型指针t,在堆中创建一个3个元素的int类型数组并将该数组的首地址赋给该指针,为三个数组元素分别赋值3、4、5,在一个循环中打印出所有元素的值,然后删除该数组。

s.声明一个本地类Point类的指针u,在堆中创建一个3个元素的Point类的对象数组(需在Point

中添加无参数构造函数)并将数组的首地址赋给该指针,为三个数组元素分别赋值(1,2)、(3,4)、(5,6),在一个循环中打印该数组所有元素分量的值,然后删除该数组。

t.用基本语法声明并创建一个10个元素的一维托管整型数组B,并在一个循环中为元素赋值0~9;

u.在另一个循环中打印B所有元素的值。

v.用初值表方式声明并创建一个10个元素的一维托管整型数组C,并为其元素赋初值10~19;

w.在一个循环中打印C所有元素的值。

x.用数组C为数组B赋值。

y.在一个循环中打印B和C所有元素的值。

2.提示和要求

⑴首先将上面的文字描述拷入Visual Studio2005生成的C++/CLR框架,在每条文字描述之前加“//”将其变为注释,并在其下留一个空行准备编写对应的程序。

⑵对应于逐条文字描述,在其下编写程序(可能是一个或一组语句),每编写一条文字描述对应的程序,就编译(运行)一次,以保证语法和算法的正确性。

⑶当全部文字描述所对应的程序编写完成,并编译、运行正确,将文字描述和源代码拷入实验报告。

⑷对C/C++的数组和指针做简要总结。

四、实验结果(源程序)

#include"stdafx.h"

#include

using namespace System;

int main(array^args)

{

//a.声明一个int型变量x,并赋初值;

int x=3;

//b.打印x的值;

printf("x=%d\n",x);

//c.打印x的地址;

printf("&x=%x\n",&x);

//d.声明一个指向int的指针p,并让其指向变量x;

int*p=&x;

//e.打印p所指变量的值

printf("*p=%d\n",*p);

//f.打印p的值;

printf("p=%x\n",p);

//g.声明一个有个元素的一维本地整型数组A,并为其赋初值0~9;

int A[10]={0,1,2,3,4,5,6,7,8,9};

//h.在一个循环中打印A的所有元素的值;

for(int i=0;i<10;i++)

printf("A[%d]=%d\n",i,A[i]);

//i.打印A的值;

printf("A=%x\n",A);

//j.打印A的第一个元素的地址;

printf("A=%x\n",&A[0]);

//k.声明一个指向int的指针q,并让其指向A的第一个元素;

int*q=A;

//l.在一个循环中通过q后跟下标,打印出A的所有元素的值;

for(int i=0;i<10;i++)

printf("q[%d]=%d\n",i,q[i]);

//m.在一个循环中通过q加上循环变量和取值运算,打印出A的所有元素的值;

for(int i=0;i<10;i++)

printf("q+%d=%d\n",i,*(q+i));

//n.在一个循环中通过q的增量和取值运算,打印出A的所有元素的值;

for(int i=0;i<10;i++){

printf("q=%d,q++\n",*q);

q++;

}

相关文档
最新文档