C++试验题目目录

更新时间:2024-05-09 05:38:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验一 熟悉C++程序 (2学时)

一、 实验目的

1) 熟悉C++程序结构;

2) 初步了解Visual C++编辑环境。 二、 实验内容

1) 编写程序判断输入的数是否是回文。 回文数:前后位对称的数 2) 编程输出所有的水仙花数。

水仙花数:一个三位数,每位的3次方和等于本身。例如:153=1^3+5^3+3^3

1、熟悉Visual C++开发环境

(1)从Windows的“开始”菜单,选择“程序”→“Microsoft Visual Studio”→“Microsoft Visual C++ 6.0”,用鼠标左键点击“Microsoft Visual C++ 6.0”。进入Developer Studio的应用程序集成开发环境。

(2)用鼠标左键点击“File”→“新建”命令,得到“新建”对话框,在“新建”对话框中点击“文件”标签,选择标签“C++ Source File”,并且在右边“文件”文本框中输入文件名file1,点击命令按钮“确定”。

(3)在编辑区光标处开始输入源程序,输入源程序。 (4)点击菜单栏的菜单“编译”→“编译file1.cpp”,建立一个默认的工作区。编译成功,产生一个目标文件:file1.obj。如果程序有错误,在输出窗口中会指出每一项的错误及产生错误的原因、所在行。请操作(a)在程序中任何一行少一个“;”符号,有什么提示?(b)删除int age;这一行,编译后有什么错误提示。 (6)点击菜单“编译”→“执行 file1.exe Ctr1+F5”,点击命令按钮“是(Y)”,将产生一个可执行文件file1.exe。

(7)编辑第二个C++源程序。点击菜单的“文件”→“关闭工作区”,关闭前一题的工作空间。点击“文件”→“新建”,在“新建”对话框中选择“C++ Source File”,在文件框中输入文件名file2。

(8) 输入源程序,重新编译即可。

(9)打开已存在的文件,Developer Studio中一次只能打开一个工作空间。工作空间的打开过程为:“文件”→“打开工作区”,在对话框中选择要打开的工程(.dsw)文件。

2、C++程序的调试

编辑程序后存在一些错误是不可避免的,这些错误的发生有可能是:编译错误,如语法、输入错误等;链接错误,如函数名写错或所调用的函数没有定义;运行错误等。 与位置有关的断点设置。

(1)最简单的是设置一般位置断点,只要把光标移到要设断点的位置,当然这一行必须包含一条有效语句的;然后按F9键(F9键为开关键),会看到在这一行的左边出现一个红色的圆点。

(2)表达式在满足一定条件的情况:要设置这种断点可单击“编辑”→“断点….”命令,这时Breakpoint对话框将会出现(或组合键Alt+F9键)。选中Breakpoint对话框中的

Location标签,使Location页面弹出,输入行号或单击condition按钮,弹出“断点条件”对话框,在Expression编辑框中写出逻辑表达式,如age==18或age>20,最后按OK返回。

3、控制程序的运行

(1)单击“编译”→“开始调试”→“去”命令,程序开始运行在Debug状态下(此时菜单“编译”改变为“Debug”),程序会由于断点而停顿下来,这时会看到有一个小箭头,它指向即将执行的代码。

(2)四条命令:Step over, step Into,Step Out,Run to Cursor。 Step over:功能是运行当前箭头指向的代码(只运行一条代码)。

Step Into:功能是如果当前箭头所指的代码是一个函数的调用,则用Step Into进入该函数进行单步执行。

Step Out:功能是如当前箭头所指向的代码是在某一函数内,用它使程序运行至函数返回处。

Run to Cursor:功能是使程序运行至光标所指的代码处。

实验二 指针

一. 实验目的

1. 掌握指针的概念,学会定义和使用指针变量 2. 学习使用指针数组和指向数组的指针 3. 学习使用指针给函数传递参数

二. 实验内容 班级课程成绩计算:

一个班有5名学生,每个学生修了五门课,

1) 求每个学生的平均成绩,并输出每个学生的学号,每门课的成绩及平均成绩 2) 求某门课程所有学生的平均分

要求分别编写2个程序实现以上两个要求,第一个函数用数组名做参数,第二个函数用数组指针做参数,并在函数体内用指针对数组操作。 要求:

(1)程序数据结构

由于学号、成绩、平均成绩都是数值型数据,可以定义一个二维数组用来保存学生的信 息——学号、5 门成绩、平均成绩:int stu_info[5][7] 数组有5 行7 列,5 行对应5 个学生, 7 列分别对应学生的学号、5 门成绩、平均成绩。当然没有计算平均成绩之前最后一列数据 是0;

(2)函数编写

求每个学生的平均成绩函数:void averscore ( int stu_info[5][7] ),函数体中算法是计算 stu_info[5][7]]每一行的第1 到5 列元素的平均值赋给第6 列元素(第0 列是序号)。 求某门课程的平均分函数:int avercourse( int(*psco)[7], n ) ,形参中int(*sco)[7] 是

指向7 个元素组成的一维数组的指针变量,n 表示要查找第n 门课程的成绩。如函数调用: avercourse( sco, 3),sco 是二维数组名,3 表示要计算第3 门课程的平均分。函数体中计算 psco 所指向二维数组的第3+1 列的平均值(第一列是学号)

实验三 类和对象

一.实验目的

1. 掌握类的概念以及定义类的方法

2. 掌握类的构造函数和析构函数的概念和使用方法 3. 掌握对象数组、对象指针的定义和使用 4. 掌握对象成员的使用

5. 学习简单面向对象程序的编写

二.实验内容

学生类设计:

设计一个Student 类

1. Student类的基本信息包括:

StudentID, Name, Sex, Birthday, Grade, Department, major; 其中Birthday使用自定义的Date类;

Student类的基本操作包括:

SetInfo(形参表)函数修改学生的基本信息

Show()函数显示学生基本信息 2. Date类:

数据成员:年、月、日

成员函数:SetYear( int year), SetMonth( int month), SetDay( int day), GetYear(), GetMonth, GetDay().

3. Student 类有多个构造函数:缺省构造函数,带参数的构造函数,带默认参数的构造函

4. 程序基本功能:

1) 使用对象数组保存学生对象 2) 从键盘输入学生基本信息

3) 根据学号,显示特定学生的基本信息,

[实验提示]

1、注意带参数的构造函数和带默认参数的构造函数的声明与定义; 2、注意对象成员Birthday的初始化

3、从键盘输入学生个数,即学生数组的长度。因为学生个数不确定,因此使用动态内存分配方式构造数组:

Student * SList;

SList=new Student[size]; 用SList[i]访问数组中第i个元素。

4、从键盘输入基本信息,调用带参数的构造函数生成学生对象; 5、当输入数据为不合理数据时,提示用户输入错误;

6、当用new为对象动态分配内存空间时,对象所属的类必须有缺省构造函数

实验四:静态数据成员和静态成员函数 (2学时)

一、实验目的

1) 熟悉和掌握C++中类的结构。

2) 熟悉和掌握类的静态数据成员和静态成员函数。 二、实验内容

编写程序实现ATM的模拟,实现储存,取款,查账,转账,修改密码等一系列功能。 (1) 用类实现ATM的主要功能

(2) 提示用户执行操作,内置用户资料,输入操作动作和信息。

程序可执行对不同用户的储存,取款,查账,转账,修改密码等一系列动作。

实验五:函数重载 I (2学时)

一、实验目的

1) 熟悉和掌握C++中函数的重载。 2) 进一步熟悉类的结构。 二、实验内容

设计一复数类,并重载+、-、*、<<、>>运算符以适应复数类。 (1) 用类实现复数的运算处理 (2) 类使用重载调用

(3) 其中<<、>>需要使用到ostream和istream的流函数

实验六 运算符重载 II

一、实验目的

1、 理解运算符重载的概念和使用方法; 2、 掌握几种常用运算符的重载; 二、实验内容

设计一个整形 N 阶方阵类

1、重载运算符+、一、*、=、<<、>> 进行两个方阵的加、减、乘、赋值四种运算以及输入和输出,并给出类的拷贝构造函数

2、运算前,用户先输入方阵的阶数,再输入方阵的数据;

Tips:

用二维数组存储方阵数据。由于事先不知道方阵的阶数,需要对方阵动态分配存储空间。 方阵类的属性(数据成员)应该至少包括:int n(表示方阵的维数),int ** p(指向指针的指针,为二维数组的数组名)。 在构造函数中为方阵分配存储空间: p=new int* [n]; for(i=0;i

p[i]=new int [n];

实验七:继承和多态性 (2学时)

一、实验目的

1) 熟悉面向对象特性中的继承。 2) 熟悉面向对象特性中的多态性。 二、实验内容

1) 定义一个rectangle类,它包含两个数据成员length和width,以及包含用于求长方形面

积的成员函数。再定义rectangle的派生类rectangular,它包含一个新的数据成员height和用来求长方体提及的成员函数。在main函数中,使用两个类,求某个长方形的面积和某个长方体的体积。 2) 虚函数。

本文来源:https://www.bwwdw.com/article/rzag.html

Top