实验1 从C到C_实验1从c到c

其他范文 时间:2020-02-27 22:49:33 收藏本文下载本文
【www.daodoc.com - 其他范文】

实验1 从C到C由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“实验1从c到c”。

实验1 从C到C++ 1.2 实例解析

【1-1】编写一个程序,实现一个整数、长整数、浮点数和双精度数除以2的计算。

【分析】这是一个典型的函数重载的程序。声明函数div()为除法函数,每个函数的功能基本都是一致的,不同的只是形式参数的类型不同而已。程序代码如下:

#include using namespace std;int division(int x){ return x/2;} long division(long x){ return x/2;} float division(float x){ return x/2;} double division(double x){ return x/2;} int main(){

int a;long b;

if(a!=0)else else if(c!=0)else

float c;

double d;

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

if(b!=0)

if(d!=0)

else

} return 0;【总结】这是一个最原始的程序,并且很机械化。有心的读者会发现上面的程序有许多重复的地方,这个正是我们后面模板里面会讲到的内容。

【1-2】编写一个函数,从三个整数中找出最大值和最小值,并返回。【分析】这个程序要求一次调用从主调函数中获取两个值,这不是值传递能够解决的问题,必然会考虑使用地址传递。实现地址传递有两种方法,一种是指针实现,另一种就是采用引用。变量的引用既方便又直观,非常利于理解。程序代码如下:

#include using namespace std;void swap(int &a,int &b){ {

} if(a

swap(a,b);swap(a,c);swap(b,c);minnum=c;int t;t=a;a=b;b=t;} void max(int a,int b,int c,int &maxnum,int &minnum)

maxnum=a;int main(){

} int a,b,c,maxnum,minnum;cout>a>>b>>c;max(a,b,c,maxnum,minnum);cout

cout

【1-3】编写一个函数,求立方体体积,默认变长为10。

【分析】这个程序需要用到带有默认形参值的函数。则在声明函数时,为形参赋予默认值。当函数调用时,如果输入实参值,则默认函数值不起作用。而在没有实参值输入的情况下,就使用默认形参值进行计算。程序代码如下:

#include using namespace std;float volumn(float a=10,float b=10,float c=10);int main(){

float a,b,c;

} float volumn(float a,float b,float c){ return a*b*c;

} cout>a>>b>>c;return 0;

cout

【1-4】编写一个程序,计算分别选修2、3和4门课程的学生的平均分。

【分析】这也是一个典型的函数重载的问题。这几个函数的区别在于参数个数不同。程序代码如下:

#include using namespace std;float avg(float,float);float avg(float,float,float);float avg(float,float,float,float);int main(){

cout

} float avg(float a,float b,float c){ return(a+b+c)/3;} float avg(float a,float b,float c,float d){ return(a+b+c+d)/4;} 【分析】这几个avg函数重载的出发点是由于其形参个数不同。并且由于函数体只有一句话,并且没有选择和循环等复杂结构,故也可以将其定义为内联函数,以提高程序运行效果。

1.3 实验与实践任务

1.3.1 实验名称

C++基础 1.3.2 实验目的1.学习并利用C++语言的基本知识编写标准的C++程序;

2.掌握函数的定义和调用方法,练习带默认参数的函数、重载函数的使用; 3.掌握引用的使用;

4.掌握string类型的使用;

5.练习通过动态内存分配实现动态数组,并体会指针在其中的作用;

6.学会使用VC++6.0开发环境中的debug调试功能:单步执行、设置断点、观察变量值。

1.3.2 实验要求

1.调试程序要记录调试过程中出现的问题及解决办法; 2.给出每个问题的算法或画出流程图;

3.编写程序要规范、正确,上机调试过程和结果要有记录,并注意调试程序集成环境的掌握及应用,不断积累编程及调试经验;

4.做完实验后给出本实验的实验报告。

1.3.4 实验内容

1.3.4.1 照猫画虎

所谓照猫画虎,目的是想让读者先模仿别人编写的程序,通过模仿、分析和体会别人编写的程序,领悟编程的基本方法,模仿的过程中,可以加入自己对程序中的一些思考,尝试对别人编写的程序进行试验性修改,根据自己的试验是否成功,判断自己已经掌握的知识水平和能力强弱,使自己的实践能力不断得到提高。

作为初学者,必须搞清楚有关概念,很多概念就是在模仿、实验、思考的过程中,加深了理解、达到了融会贯通。对于下面的举例,依照下述提示进行实验操作,照猫画虎——通过模仿,理解程序的编辑、编译、运行概念。当然,对于前面列举的项目,读者也可以照猫画虎进行模仿。

【例1】输入并运行下列程序,并体会C++引入“默认参数”的用意。

#include using namespace std;int add3(int,int=7,int=8);int main(){ int a,b,c;cin>>a>>b>>c;cout

#include using namespace std;int main(){

int* a;

int* &p=a;

int b=10;

p=&b;

cout

cout

return 0;} 【例3】下面的程序利用重载函数max,分别返回char数组、int数组、long数组、float数组、double数组和字符串数组中的最大元素,请补充完成的函数,输入并运行程序,观察运行结果,深入理解什么是函数重载。

#include #include using namespace std;char max(char *a,int n){ char temp=a[0];for(int i=1;i

} int max(int *a,int n){ int temp=a[0];for(int i=1;itemp)if(a[i]>temp)temp=a[i];return temp;} temp=a[i];return temp;//返回long数组最大值的max函数

//返回float数组最大值的max函数

//返回double数组最大值的max函数

string max(string *a,int n){ string temp=a[0];for(int i=1;i

} int main(){ char a[3]={'a','b','c'};int b[3]={1,2,3};long c[3]={1234,2345,3456};float d[3]={321.1f,322.1f,323.1f};double e[3]={2.1001,3.1001,4.1001};string name[3]={“Zhang”,“Li”,“Wang”};couttemp)temp=a[i];return temp;【例4】输入并运行下面的程序,写出运行结果。体会new和delete是如何进行动态分配和回收存储空间的。

#include using namespace std;int main(){

int arraysize;

int* array;

cout

cin>>arraysize;

if((array=new int[arraysize])==NULL)//申请一块连续的存储空间 {

cout

exit(1);

}

for(int count=0;count

array[count]=count*2;

cout

cout

delete[] array;return 0;} //释放array指向的连续存储空间

1.3.4.2 牛刀初试

所谓牛刀初试,目的是让读者把已经掌握的知识和能力应用到编程实践中。请读者根据题目的要求,自己编程设计,实现题目的要求。

【P1】编写一个程序,用C++的输入输出风格从键盘输入两个整数,然后显示以第一个数为底,第二次数为指数的结果(例如,用户输入2与4,那么结果就是16)。

【P2】求2个或3个正整数中的最大数,用带有默认参数的函数实现。

【P3】编一个程序,用同一个函数名对n个数据进行从小到大排序,数据类型可以是整型、单精度型、双精度型。用重载函数实现。

【P4】输入一个字符串,把其中的字符按逆序输出。如输入LIGHT,则输出THGIL。要求用string方法。

【P5】编写程序,调用传递引用的参数,实现两个字符串变量的交换。例如: char *ap=”hello”;char *bp=”how are you?”;交换的结果使得ap和bp指向的内容分别如下:

ap: “how are you?” bp: “hello”

【P6】编写程序,通过指针动态生成一个二维数组,数组元素的值为该元素的行值和列值的和,最后输出该二维数组的每个元素。要求利用new和delete运算符。

1.3.4.3挑战自我所谓挑战自我,是指这一部分给出的程序设计题目有一定的难度,需要你认真思考、认真设计并进行编程实现。如果遇到问题,在已有的知识中不能解决的话,你可以去后面的章节中寻找所需的知识。这样,你的编程水平才能不断提高。

1.编程计算图形的面积。程序可计算圆形、长方形、三角形的面积,运行时先提示用户选择图形的类型,然后,对圆形要求用户输入半径值,对长方形要求用户输入长和宽的值,对三角形要求用户输入三条边长的值,计算出面积的值后将其显示出来。使用debug调试功能观察程序运行中变量值的变化情况。

2.定义如下结构体: struct list { int n;

struct list*next;};输入k个整数,将它们依次放入由结构体形成的链表(用new运算符生成链表项)中。再输入一个整数x,查找x在链表中第一次出现的位置(序号),若不存在,输出“不存在”。

C语言实验

C语言实验实验一:C语言程序调试基础一、实验目的1.掌握C语言源程序的编写方法和调试方法2.学会使用VC6开发工具及调试过程的查错纠错能力。二、任务调试课本例子:例2.19、例3.......

C语言实验

实验人员:17自动化类03,学号1710221315,万里,实验日期:2018.3.27实验一C语言上机基础一实验目的1 熟悉C语言运行环境——Microsoft Visual C++ 6.0中文版。2 掌握C语言程序的书......

从虚拟仿真到开放实验学习心得

从虚拟仿真到开放实验学习心得 2015-2016学年信息技术应用能力提升工程培训中学习了《虚拟实验与未来教学》的相关内容,觉得这次培训内容非常的丰富。包含了中小学所有科目的......

C语言实验心得体会

C语言实验心得体会当我们有一些感想时,写心得体会是一个不错的选择,这样我们就可以提高对思维的训练。那么写心得体会要注意的内容有什么呢?以下是小编为大家整理的C语言实验心......

数据结构实验C语言版

南阳理工学院数据结构(C语言版)上机实验指导书软件学院·软件工程目录实验1 线性表应用实验2 栈和队列的应用 ................................................................

下载实验1 从C到Cword格式文档
下载实验1 从C到C.doc
将本文档下载到自己电脑,方便修改和收藏。
点此处下载文档

文档为doc格式

相关专题 实验1从c到c
热门文章
点击下载本文