C++实验一Word格式.docx

上传人:b****3 文档编号:16790216 上传时间:2022-11-26 格式:DOCX 页数:16 大小:252.75KB
下载 相关 举报
C++实验一Word格式.docx_第1页
第1页 / 共16页
C++实验一Word格式.docx_第2页
第2页 / 共16页
C++实验一Word格式.docx_第3页
第3页 / 共16页
C++实验一Word格式.docx_第4页
第4页 / 共16页
C++实验一Word格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C++实验一Word格式.docx

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

C++实验一Word格式.docx

//参考程序1

//sum.cpp

#include<

iostream.h>

intadd(inta,intb);

intmain()

{

intx,y,sum;

cout<

<

"

Entertwonumbers:

\n"

;

cin>

>

x;

y;

sum=add(x,y);

Thesumis:

sum<

endl;

return0;

}

intadd(inta,intb)

intc;

c=a+b;

returnc;

涉及知识点:

输入与输出流

 

Experiment1-2分别编写四个同名函数maxl,实现函数重载,在main()函数中测试函数功能。

程序名:

lab1_2.cpp。

#include<

intmax1(inta,intb);

intmax1(inta,intb,intc);

doublemaxl(doublea,doubleb);

doublemaxl(doublea,doubleb,doublec);

main()

intx1,y1,x2,y2,z2,max_1,max_2;

doublex4,y4,z4,max_4,x3,y3,max_3;

Entertwointegernumbers:

cin>

x1>

y1;

max_1=max1(x1,y1);

cout<

Themaxnumberis:

"

max_1<

Enterthreeintegernumber:

x2>

y2>

z2;

max_2=max1(x2,y2,z2);

max_2<

Entertwodoublenumber:

x3;

y3;

max_3=max1(x3,y3);

max_3<

Enterthreedoublenumber:

x4>

y4>

z4;

max_4=max1(x4,y4,z4);

max_4<

intmax1(inta,intb)

if(a>

=b)

{

returna;

}

else{

returnb;

intmax1(inta,intb,intc)

if(a>

b&

&

a>

c)

if(b>

a&

b>

returnb;

if(c>

c>

b)

returnc;

doublemax1(doublea,doubleb)

else

doublemax1(doublea,doubleb,doublec)

函数重载

Experiment1-3编写并测试3X3矩阵转置函数,使用数组保存3X3矩阵:

voidmove(int**matrix)

{

inti,j,k,c;

for(i=0;

i<

1;

i++)

for(j=0;

j<

3;

j++){

k=matrix[i][j];

matrix[i][j]=matrix[j][i];

matrix[j][i]=k;

c=matrix[1][2];

matrix[1][2]=matrix[2][1];

matrix[2][1]=c;

}

main()

inti,j;

int**p;

p=newint*[3];

输入矩阵的元素:

p[i]=newint[3];

j++)

{

cout<

第"

<

i+1<

行第"

j+1<

个元素为:

cin>

p[i][j];

cout<

输入的矩阵的为:

endl;

for(i=0;

i<

i++)

for(j=0;

j<

j++)

cout<

p[i][j]<

move(p);

转置后的矩阵的为:

delete[]p;

数组的运用

Experiment1-4

使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能

#include<

stdio.h>

inti,j,t;

inta[3][3],(*p)[3],*q;

printf("

input%ddatas:

3*3);

for(j=0;

j++)

scanf("

%d"

&

a[i][j]);

beforechange:

);

p=a;

for(;

p<

a+3;

p++)

for(q=*p;

q<

*p+3;

q++)

%d\t"

*q);

}

afterchange:

q=a[0];

for(j=i;

t=*(q+3*i+j);

*(q+3*i+j)=*(q+3*j+i);

*(q+3*j+i)=t;

for(p=a;

指针的运用

Experiment1-5编写程序,用二进制方式读写指定的文件a.bin,在每一行前加行号,写入另一个二进制文件b.bin中,从b.bin中读取数据输出到屏幕。

iostream>

fstream>

cstdlib>

iomanip>

string>

usingnamespacestd;

voidnew_line(ifstream&

fin,char&

temp);

intmain(intargc,char*argv[])

ifstreamfin;

ofstreamfout;

intnum_line=1;

chartemp,inFileName[128];

stringbuffer;

if(argc==1)

请用格式:

SetLineNUmfilename\n"

exit(0);

else

strcpy(inFileName,argv[1]);

正打开输入文件...\n"

fin.open(inFileName);

//打开输入文件

if(fin.fail())

cout<

输入文件打开失败!

exit

(1);

正打开输出文件...\n"

fout.open("

b.bin"

//打开输出文件

if(fout.fail())

输出文件打开失败!

do

{

new_line(fin,temp);

getline(fin,buffer);

if(buffer.length()>

0)

fout<

setw(3)<

num_line++<

:

//设置行号

buffer;

}while(!

fin.eof());

fin.close();

//关闭文件

fout.close();

成功关闭输入输出文件。

程序结束。

return0;

}

voidnew_line(ifstream&

temp)

do//跳过行首空格和空行

{

fin.get(temp);

}while(isspace(temp));

文件的输入输出流

五、实验总结

1.基本掌握如何操作C++的界面,包括运行,编译,调试等过程;

2掌握基本数据类型变量和常量、运算符与表达式的简单应用;

理解了函数重载

3.学会使用vc6.0开发环境中的debug调试功能:

单步执行、设置断点、观察变量值;

熟练使用快捷键的使用。

4.基本掌握函数的运用,并对C语言的复习与运用,认识了C++与C语言的异同。

六、思考题

1)重载函数是通过什么来区分?

答:

区分重载方法的依据在于这些方法具有不同的方法特征。

所谓方法特征是指方法的参数的数量、顺序和类型。

不同的方法特征指参数的数量、顺序和类型至少有一个不相同。

2)new和delete操作符与C语言中的malloc()和free()函数有何异同点?

1,malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。

它们都可用于申请动态内存和释放内存。

2,对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。

对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。

由于malloc/free是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加于malloc/free。

3,因此C++语言需要一个能完成动态内存分配和初始化工作的运算符new,以一个能完成清理与释放内存工作的运算符delete。

注意new/delete不是库函数。

4,C++程序经常要调用C函数,而C程序只能用malloc/free管理动态内存

3)C++提供的输入输出操作与C语言的输入输出操作的异同点?

c语言中的scanf和printf,他们不是类型安全的,而且没有扩展性。

对于C++来说,因为类型安全和扩展性是C++的

基石,另外,scanf/printf系列函数把要读写的变量和

控制读写格式的信息分开来

4)什么是流?

使用流有那些好处?

流是C++标准库类的一个类,常见的有输入流,输出流,使用流不需要明确确定输入字符的格式,譬如输出整形,C中为printf("

i);

而C++中只要cout<

i即可搞定。

方便很多,

5)C++与定义了那些流?

他们分别与什么设备相连?

标准输入输出流

cincout控制台

文件流

ifstreamofstream文件

字符串流

istrstreamostrstream字符串

七、参考文献

无。

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

当前位置:首页 > 工程科技 > 电子电路

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

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