C++实验指导书.docx

上传人:b****4 文档编号:24164213 上传时间:2023-05-24 格式:DOCX 页数:16 大小:135.80KB
下载 相关 举报
C++实验指导书.docx_第1页
第1页 / 共16页
C++实验指导书.docx_第2页
第2页 / 共16页
C++实验指导书.docx_第3页
第3页 / 共16页
C++实验指导书.docx_第4页
第4页 / 共16页
C++实验指导书.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C++实验指导书.docx

《C++实验指导书.docx》由会员分享,可在线阅读,更多相关《C++实验指导书.docx(16页珍藏版)》请在冰豆网上搜索。

C++实验指导书.docx

C++实验指导书

 

《C++面向对象程序设计》实验指导书

 

实验一VisualC++开发环境及C++程序的上机过程

一、实验目的

1、了解和使用VC集成开发环境;

2、熟悉VC环境的基本命令和功能键;

3、熟悉常用的功能菜单命令;

4、学习使用VC++环境的帮助;

5、学习完整的C++程序开发过程;

6、理解简单的C++程序结构

二、实验内容

使用VisualC++6.0集成环境来编辑、编译并运行下面简单C++程序:

1.#include

voidmain()

{

cout<<"ThisisaC++program.\n";

}

2.#include

voidmain()//主函数

{

inta,b,c;

cout<<"inputtwonumber:

\n";

cin>>a>>b;

c=a+b;//调用max函数,将得到的值赋给C

cout<<"a+b="<

}

三、实验步骤

VisualC++6.0启动后的用户界面选择菜单“开始/程序/MicrosoftVisualStudio6.0/MicrosoftVisualC++6.0”,得到VisualC++6.0启动后的用户界面,如图1-1所示。

图1-1VisualC++6.0用户界面

1、创建新工程

(1)单击菜单“文件/新建”,显示“新建”对话框,如图1-2所示。

(2)在此对话框的列表栏中,选择“Win32ConsoleApplication”(Win32控制台应用程序”)。

在“工程”栏中输入一个工程名,如“实验一”,在位置文本框中选择工程所在的路径,如图中所示H:

\C++实验\实验一,单击“确定”按钮。

图1-2“新建”对话框

(3)在“Win32ConsolApplication-Step1of1”对话框中选择Anemptyproject单选项。

然后单击“Finish”按钮,如图1-3所示。

图1-3“Win32ConsolApplication-Step1of1”对话框

(4)在“新建工程信息”对话框中单击“确认”按钮,完成工程创建过程。

2、创建C++源程序文件

(1)编辑C++源程序:

编辑C++源程序时,选择“文件”菜单项,出现一个下拉式菜单,再选择该菜单中的“新建”选项(热键为Ctrl+N),打开“新建”窗口,如图1-4所示:

图1-4“新建”窗口

(2)选择“文件”,在它的下拉列表框中选择“C++SourceFile”,如图1-4所示,再按击“确定”,出现编辑屏幕,如图1-5所示:

图1-5“C++”源程序编辑

(3)在“C++源程序编辑”窗口下编辑C++源程序。

在编辑窗口键入C++源程序。

如图1-6所示,键入如下源程序:

图1-6编辑C++源程序

3.编译连接和运行源程序

(1)选择菜单项“编译”,出现“编译”的下拉菜单,在该下拉式菜单中选择“编译eg1-1.cpp”菜单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕下方的“编译”窗口中。

所显示的错误信息中指出该错误所在行号和该错误的性质。

用户可根据这些错误信息进行修改。

上述程序的“编译”窗口,如图1-7所示:

图1-7“编辑”窗口

(2)编译无错误后,可进行连接生成可执行文件(.exe),这时选择“编译”下拉菜单中的“构件eg1-1.exe”选项。

“编译”窗口出现如图1-8所示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件(eg1-1.exe)。

图1-8编译连接信息

(3)执行可执行文件的方法是选择“编译”菜单项中“执行eg1-1.exe”选项。

这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图1-9所示:

图1-9运行C++程序结果

4.关闭打开工作区、打开工作区

单击菜单“文件/关闭工作区”,关闭工作区。

单击菜单“文件/打开工作区”,在强出的对话框中选定“H:

\C++实验\实验一\实验一.dsw”,单击“打开”按钮,则可打开工作区,对已建立的工程文件进行修改。

5.根据实验步骤1-4,建立、编译并运行实验程序2。

四、实验要求

1. 复习教材有关内容。

2. 掌握C++控制台程序的开发、调试步骤。

3. 完成实验报告。

实验二选择分支结构程序设计

一、实验目的

1.熟练if和switch选择结构程序设计的基本方法。

2.掌握在程序设计中选择实现简单算法。

二、知识要点

C++语句可以分为以下5类:

(1)表达式语句:

由一个表达式构成一个语句,最典型的是,由赋值表达式

构成一个赋值语句。

例:

a=5;

(2)声明语句:

一个名字在使用之前必须先声明,以便建立名字与程序实体

之间的映射关系。

按声明的程序实体结构对象声明语句可以分为:

声明

变量;声明函数;声明对象。

按产生不产生程序实体,声明语句可分为

定义性与引用性两种。

(3)空语句:

只有一个分号的语句称为空语句。

主要用于语法上要求有一条语句但

实际没有任何操作可执行的场合。

(4)块语句:

也称为复合语句或分程序,是括在一对花括号之间的语句序列。

在语法上它相当于一条语句,只是在花括号外不再写分号。

块语句主要

在两种情形下使用:

语法要求一条语句,但又难以只用一条简单语句表

达的情形;形成局部化的封装体。

(5)流程控制语句

①条件语句:

if()~else~

②循环语句:

for()~

③循环语句:

while()~

④循环语句:

do~while()

⑤结束本次循环语句:

continue

⑥终止执行switch或循环语句:

break

⑦多分支选择语句:

switch(){case1;case2…;default;}

⑧从函数返回语句:

return

三、实验内容及步骤

1.输入并运行下列程序并分析其功能。

main(){

intt,a,b,c,d;

cout<<“请输入四个数:

”;

cin>>a>>b>>c>>d;

cout<<“\n排序结果如下:

”;

if(a>b){t=a;a=b;b=t;}

if(a>c){t=a;a=c;c=t;}

if(a>d){t=a;a=d;d=t;}

if(b>c){t=b;b=c;c=t;}

if(b>d){t=b;b=d;d=t;}

if(c>d){t=c;c=d;d=t;}

cout<

}

2.设计程序找出1~100间的质数,显示出来。

用for或while或do-while

循环语句实现。

3.从键盘上输入一学生成绩,根据成绩的取值范围,输出成绩的等级,如成绩大于90分输出等级“优“等。

要求:

分析出现结果的原因,如何修改使结果正确。

实验三循环结构程序设计

一、实验目的

1.熟练while和for循环结构及实现循环的方法。

2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。

二、知识要点

在C++的程序设计中,有很多问题需要对同一问题进行反复求解,循环结构的程序可以实现此类功能。

在C++中,主要有两类循环,一是当型循环,另一种是直到型号循环,后一种较少使用。

从语句的角度来说,主要有

Do{

}while

While(条件表达式)

和for(条件表达式1;判断;表达式))

{

}

三、实验内容及步骤

1.编写一控制台应用程序,输入一个数,判断是否为素数。

2.根据上面的代码,输出100-200之间的所有素数。

显示出来。

用for或while或do-while循环语句实现。

3.编写一程序,计算100!

,并讨论使用什么数据类型来存储。

实验四函数的定义及调用

一、 目的与要求

1、 掌握C++语言函数定义及调用的规则。

2、 理解参数传递的过程。

二、 实验内容与步骤

1、 上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。

main()

{

int,y;

printf(“%d\n”,sum(x+y));

intsum(a,b)

{

inta,b;

return(a+b);

}

}

2、 编写并调试一个求(n为整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。

3、任意编写一些小函数,练习C++中各种存储变量的区别。

(选做)。

三、 分析讨论

1、 针对以上实验内容写出相应的参数传递过程并分析结果。

2、 讨论参数的传递的几种形式。

实验五、数组的应用

一、目的和要求

1、掌握数组定义的规则。

2、掌握C++语言数组的基本用法。

二、实验内容与步骤

1、编写程序,测试下列数组的定义方式是否正确

(1)   main()

{

intn;

scanf(“%d”,&n);

inta[n];

……

}

(2)   main()

{

constintn=10;

inta[n];

 

 

 

}

(3)   #include

#defineM10

main()

{

inta[M];

 

}

(4)   main()

{

inta[2+2*4];

 

}

(5)   #include

#defineM2

#defineN8

main()

{inta[M+N];

 

}

通过这一实验,可以说明什么问题?

2、运行下面的C++程序,根据运行结果,可以说明什么?

main()

{intnum[5]={1,2,3,4,5};

intii;

for(i=0;i<=5;i++)

printf(“%d”,num[i]);

}

3、操作符&用以求一个变量的地址,这在函数scanf中已经使用过了。

现在要你设计一个程序,返回一个3*5的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存诸的。

4、为一个起泡排序程序设计测试用例,并测试之。

三、分析讨论

通过实验,分析定义与引用数组的区别。

实验六指针

(一)

一、目的和要求

1.      熟悉指针的正确用法。

2.      掌握指针作为函数参数的使用方式

二、实验内容和步骤

1、指出下面程序错误的原因。

main()

{

intx=10,y=5,*px,*py;

px=py;

px=&x;

py=&y;

printf(“*px=%d,*py=%d,*px,*py);

}

2、下面的程序试图有如下运行结果:

whichstyleyouwantto:

Capital(c)oruncapital(a):

c↙

COMPUTER

 

Whichsytleyouwantto:

Capital(c)oruncapital(a):

u↙

computer

请调试下面的程序,使其有如上执行结果。

#include

main()

{

chars*;

charc;

printf(“whichstyleyouwantto:

ln”);

printf(“capital(c)oruncapital(a):

”);

c=getchar();

if(c=’c’)strcpy(s,”COMPUTER”);

elsestrcpy(s,”computer”);

put(s);

}

分析出错原因。

3.下面的程序能获得上述运行结果吗?

main()

{

char*S=”COMPUTER”;

charc;

printf(“whichstyleyouwantto\n”);

printf(“capital(c)oruncapital(u);”);

c=getchar();

if(c=’c’)

put(s);

else{

s=”computer”;

puts(s);

}

}

分析出错原因。

4.设计一个C程序,用以测试下列各表达式的运算。

(1)   y=*px++

(2)   y=*++py

(3)   y=(*py)++

(4)   y=--*ppx++

5.编写一函数,完成自小到大的的排序功能,要求使用指针作为参数传递,在主函数编写测试代码。

三、分析讨论

数组与指针的联系与区别。

 

实验七结构体和共用体

一、目的和要求

1、掌握结构体类型方法以及结构体变量的定义和引用。

2、掌握指向结构体变量的指针变量的应用,特别是链表的应用。

3、掌握运算符”.”和”->”的应用。

4、共用体的概念和应用。

二、实验内容和步骤

1、按习题7.7的要求编写程序:

有4名学生,每个学生的数据包括学号、姓名、成绩,要求找出成绩最高者的姓名和成绩,上机运行程序。

2、按习题7.8的要求,建立一个链表每个结点包括的成员为:

职工号、工资。

用malloc打印出来。

用一个creat来建立链表,用list来输出数据。

5个职工号为101,103,105,107,109。

3、在上题基础上,新增加一个职工的数据,按职工号的顺序插入链表,新插入的职工号为106。

写一函数insert来插入新结点。

4、在上面的基础上,写一函数delete,用来删除一个结点。

要求删除职工号为103的结点。

打印出删除后的链表.

5、你有无办法测试构造链表时,内存空间的动态分配情形?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1