年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验一 Visual C++环境
实验名称:实验一 Visual C++环境 实验目的:
⒈ 熟悉VC++的集成开发环境,学习运行一个C++程序的步骤。 ⒉ 了解几种运算符的使用规则。
⒊ 掌握变量命名规则,学会变量的定义和使用。
实验原理:利用VC++编辑环境的便利来编写程序。 实验设备:电脑, VISUAL C++6.0 实验内容:
⒈ 通过一个最简单的程序熟悉用VC++来调试Dos程序的步骤:
⑴使用Visual C++6.0对一个C++程序进行编辑、编译、连接和运行。 #include {cout<<”I am a student”< void main() {cout<<\"I am a student\"< 通过实验,我熟悉了VC++编辑环境,以及C++运算符及变量的特点。整个实验过程为: 1.开始、Microsoft visual sduio 6.0、Microsoft visual C++ 6.0打开创天中文VC++。 2.文件、新建、C++ source file输入程序、保存为meng.cpp。 3.编译、程序没有错误,(如有按要求修改)。 4.编译菜单下的执行meng.exe。 5.屏幕中弹出结果窗口。 指导老师:郑睿颖 第 1 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验二 结构化程序设计 实验名称:实验二 结构化程序设计 实验目的: ⒈ 熟悉和理解C++语言中的类型简单数据(整型、实型、字符型)、运算、表达式; ⒉ 掌握常见格式控制字符对输出结果的控制作用; ⒊ 能利用学习的数据类型,编制简单的C++程序; ⒋ 初步学习调试方法。 实验原理:利用对条件、循环语句、数组的掌握进行编程。。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。 #include /* 整型数据的输出 */ printf(\"x=%o,y=%d,z=%x\\n\ /* 数据以原进制输出,注意是否有前导0或0x */ printf(\"x=%d,y=%d,z=%d\\n\ /* 数据以10进制输出,换算到10进制,结果对吗? */ /* 字符型数据的输出 */ printf(\"c1=%c,c2=%x,c3=%o,c4=%d\\n\ /* 数据以原进制输出,注意是否有前导0或0x */ printf(\"c1=%c,c2=%c,c3=%c,c4=%c\\n\ /* 结果都是什么字符?,也就是说字符可以自由的表示成几种形式? */ printf(\"c1=%d,c2=%d,c3=%d,c4=%d\\n\ /* 看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符 */ /* 字符型数据参与算术运算 */ c=c1+32; /* 字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数 /* 参与数学运算;结果还是一个整数-另外一个字符的ASCII码 */ printf(\"c=%c,c=%d\\n\ /* 看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如 指导老师:郑睿颖 第 2 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 此! */ } 2.编写程序任意输入一个三位,将其反向输出。如输入123,输出321。 3.编程按分段统计学生成绩,输入为负数时结束。要求按90-100、80-89、70-79、60-69、60以下五档分别统计各分数段人数(用if语句和switch语句编写程序)。 4.用do…while, while, for 三种循环语句求出1+3+5+….+101的和,输出结果。 5.先定义一个含有30个整型元素的数组,依次赋予从2开始的偶数,然后按顺序每五个数的平均值放在另一个数组中,并要求按每行6个数输出结果。 实验代码: 实验结果: 实验心得: 指导老师:郑睿颖 第 3 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验三 函数的应用 实验名称:实验三 函数与作用域 实验目的: 1. 掌握函数声明、定义和使用的方法; 2. 掌握形式参数与实在参数之间的对应关系; 3. 掌握函数调用时,形参、实参之间的“值传递”和“地址传递”的区别; 4. 掌握全局变量、局部变量、静态变量的使用方法。 实验原理:利用函数的知识编程。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.编写一个函数,用来计算从键盘上输入的整数的阶乘。 2.编写函数判断一个数是否是素数,在主程序中实现输入、输出。 3.编写一个程序,设计一个函数可以计算并返回输入的4个数的平均值。 实验代码: 实验结果: 实验心得: 指导老师:郑睿颖 第 4 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验四 指针和引用 实验名称:实验四 指针和引用 实验目的: 1.熟练掌握指针、地址、指针类型、void指针、空指针、引用等概念; 2. 熟练掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式; 3.学会使用数组的指针和指向数组的指针变量; 4.学会使用字符串的指针和指向字符串的指针变量; 5.学习用指针和引用给函数传递参数的方法。 实验原理:利用C++指针技术编程。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.用户输入任意一个字符串和字符c,寻找输入串中第一个c字符出现的位置(若有的话),并输出从c字符开始的子串以及c字符在输入串中的下标号;若输入串中不出现c字符的话,输出“no match found”。 实验代码: 实验结果: 实验心得: 指导老师:郑睿颖 第 5 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验五 类与对象I 实验名称:实验五 类和对象Ⅰ 实验目的: 1.理解类的成员的访问控制的含义,公有、私有和保护成员的区别; 2.掌握构造函数和析构函数的含义与作用、定义方式和执行过程,能够根据要求正确定义和重载构造函数; 3. 学习静态数据成员和静态成员函数的使用。 实验原理:利用类的成员、构造函数、析构函数、类的封装等特性进行编程。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.定义一个长方形类, 并且在程序中创建一个该类的对象, 体现出构造函数、析构函数的调用、执行过程和重载构造函数的使用。 2.设计一个矩阵类matrix(矩阵用二维数组实现), 有分配空间和对矩阵附值的功能。要求: (1)类外定义一个函数mul(), 实现两矩阵的相乘,要求分别用传值调用、引用调用和传址调用三种方式实现。 (2)在matrix类中定义一个静态数据成员, 记录当前的所有matrix对象的数量。 (3)定义一个友元函数实现矩阵转置功能。 实验代码: 实验结果: 实验心得: 指导老师:郑睿颖 第 6 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验六 继承与派生 实验名称:实验七 继承与派生 实验目的: 1. 理解派生类与基类的关系 2. 理解派生类继承方式 3. 掌握单继承和多继承使用方法 4. 理解虚基类概念 实验原理:利用继承与派生的原理进行编程。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.编一个使用派生类的程序,设计一个包含圆和圆柱的几何尺寸的类,它用内部数据建立几何形状并显示它们的尺寸、面积和体积。 2.设计一个圆类和桌子类,再设计一个圆桌类,它是从前两个类派生出来的。要求输出圆桌的高度、面积、颜色等数据。 实验代码: 实验结果: 实验心得: 指导老师:郑睿颖 第 7 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验七 多态性的实现 实验名称:实验八 多态性的实现 实验目的: 1.掌握用成员函数重载运算符的方法 2.掌握用友元函数重载运算符的方法 3.理解并掌握利用虚函数实现动态多态性和编写通用程序的方法 实验原理:利用面向对象多态性原理进行编程。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.(1)定义一个复数类,描述一些必须的成员函数,如:构造函数,析构函数,赋值函数,返回数据成员值的函数等。 (2)定义运算符重载函数,、通过重载运算符:+,-,*,/,直接实现二个复数之间的加减乘除运算。编写一个完整的程序,测试重载运算符的正确性。要求乘法“+”,“*”用友元函数实现重载,除法“-”,“/”用成员函数实现重载,参数是复数或实数。 (3)通过重载运算符:>>,<<,=,直接实现复数的输入、输出及赋值运算,通过重载运算符:= =,!=直接实现复数的比较运算,编写一个完整的程序,测试重载运算符的正确性。 实验代码: 实验结果: 实验心得: 指导老师:郑睿颖 第 8 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验八 C++流 实验名称:实验九 C++的I/O流类库 实验目的: 1.掌握文件流的打开、关闭及使用的使用方法; 2.理解文本文件流与二进制文件流在操作上的区别。 实验原理:利用文本文件流和二进制文件流的原理进行编程。 实验设备:电脑, VISUAL C++6.0 实验内容: 1.设计一个管理图书目的简单程序,提供的基本功能包括:可连续将新书存入文件“book.dat”中,新书信息加入到文件的尾部;也可以根据输入的书名进行查找;把文件“book.dat”中同书名的所有书显示出来。为简单起见,描述一本书的信息包括:书号,书名,出版社和作者。 2.自定义一个描述人的基本信息的类,至少包括的数据成员:姓名,单位,出生日期。用友元函数重载提取和插入运算符,实现对象的输入和输出。 实验代码: 实验结果: 实验心得: 指导老师:郑睿颖 第 9 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验九 检索 实验名称:实验九 检索 实验目的:通过本次实验,掌握查找表上的有关查找方法,并分析时间复杂 度。 实验原理:C语言结构化程序设计思想,查找的应用。 实验设备:电脑,TURBO C2.0/WIN-TC/VISUAL C++ 实验内容: 1、将折半查找算法写成完整的程序,并上机通过。 实验代码: #include\"stdio.h\" typedef struct{ int a[30]; int length; }sqtable; sqtable st; int b=0; void createst(int k){ int i; printf(\"Please input data:\"); st.a[0]=-100; for (i=1;(!b&&(i<=k));i++){ scanf(\"%d\if (st.a[i] st.length=k; printf(\"The table is builted.\\n\"); } 指导老师:郑睿颖 第 10 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 } void stfind(sqtable st,int y){ int f,l,h,m; l=1;h=st.length; f=1; while ((l<=h)&&f){ m=(l+h)/2; if (y==st.a[m]) f=0; else if (y printf(\"\\nPlease input n:\"); scanf(\"%d\ createst(n); if (b==0) { printf(\"Please input you want find value:\"); scanf(\"%d\ stfind(st,x); } } 实验结果: 指导老师:郑睿颖 第 11 页 江 西 科 技 师 范 学 院 实 验 报 告 年级 班 号姓名 同组姓名 实验日期 年 月 日成绩 实验心得: 指导老师:郑睿颖 第 12 页 因篇幅问题不能全部显示,请点此查看更多更全内容