c++习题.docx

上传人:b****9 文档编号:24931834 上传时间:2023-06-03 格式:DOCX 页数:43 大小:25.04KB
下载 相关 举报
c++习题.docx_第1页
第1页 / 共43页
c++习题.docx_第2页
第2页 / 共43页
c++习题.docx_第3页
第3页 / 共43页
c++习题.docx_第4页
第4页 / 共43页
c++习题.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

c++习题.docx

《c++习题.docx》由会员分享,可在线阅读,更多相关《c++习题.docx(43页珍藏版)》请在冰豆网上搜索。

c++习题.docx

c++习题

C++assignment

(1)

FollowingistheC++assignmentforthisweek.

(1)Writeasimpleprogramtodemonstratethesizesoffundamentaldatatypes,includingint,double,float,char,bool,shortint,longint,etc.usingtheoperator"sizeof()";

(2)Writeafunctionintf(intn)tocalculatethefactorialofn,thencallitinmain()function.

Thesamplesourcecodeswillbepresentednextweek

Hi,

Everyone!

FollowingisthesamplesourcecodesforC++assignment1,forreferenceonly.

(1)

#include

usingnamespacestd;

intmain(){

cout<

cout<

cout<

cout<

cout<

cout<

cout<

}

Theoutputofthisprogramis:

1

1

4

2

4

4

8

(2)

#include

usingnamespacestd;

intfactorial(intn){

intfac=1;

for(inti=2;i<=n;i++)

fac*=i;

returnfac;

}

intmain(){

cout<<"Pleaseinputn:

";

intn;

cin>>n;

cout<<"Resultoff("<

return0;

}

C++assignment

(2)

Hi,

Everyone!

FollowingistheC++assignmentforthisweek.

(1)Inspectthisprogram:

#include

usingnamespacestd;

intmain(){

charc;

for(c=-128;c<127;c++){

cout<<"("<<(int)c<<","<

}

cout<<"("<<(int)c<<","<

getchar();

}

WhatistheoutputThedatatypecharcanbeconsideredasintegerwithsinglebyte.HowtooutputacharvariableasanintegerHowtooutputanintegerasacharWhatisASCII

(2)Inspectthisprogram:

#include

usingnamespacestd;

intmain()

{

intnum;

cout<

num=2;

cout<<(num<<1)<

intn=5;

if(num==2&&n==5)

cout<<"good"<

num=-2;

num<<=1;

if(num==-4&&n==5)

cout<<"anothergood"<

getchar();

}

CanyouimagintheoutputIsyourideacorrectIfavariableisnotinitialized,whatisitsvalueLeftshiftoperationandstandardoutputoperationarebothrepresentedas<<,so,howtodistinguishthemLeftshiftby1bitmeansmultiplyingby2,doesn'titHowaboutrightshiftoperation

(3)Writeafunctionthatoutputsacharvariableasabinarysequence。

(4)Outputaminusvalueasabinarysequence.Makeclearwhatthetwo's-complementis,andcheckitactually.

(5)Writeafunctionthatoutputsafloatvariableasabinarysequence。

(Pointersareusedinthisfunction.Asktheteachingassistantfordetail.)

(6)Writeaprogramthatoutputsthegreatestcommondivisoroftwointegersandtheleastcommonmultipleoftwointegers.

Sourcecode:

outputafloatasabinarysequence

(2013-03-2020:

16:

20)

分类:

Hi,

Everyone!

Thefollowingisthesamplesourcecodeforoneproblemgiventheotherday:

howtooutputafloatvariableasabinarysequence.Pleasestudyitandcomparewithyourworks.

#include

usingnamespacestd;

//outputasinglebyteasabinarysequence

voidBinaryOut(charc){

unsignedchartmp=0x80;

for(inti=0;i<8;i++){

if(c&tmp)

cout<<1;

else

cout<<0;

tmp>>=1;

}

}

//outputseveralcontiguousbytesformagivenaddress,withthehighestbyteontheleftmost

voidshow(char*p,intlen){

for(inti=len-1;i>=0;i--){

BinaryOut(*(p+i));

}

}

intmain(){

floatd=-28.0;

show((char*)&d,sizeof(d));//usingtype-casttofetchbytes

getchar();

}

C++assignment(3)

(2013-03-2514:

46:

37)

分类:

Hi,

Everyone!

FollowingistheC++assignmentforthisweek.

(1)Inspectthisprogram:

#include

usingnamespacestd;

intmain(){

intx=5,y=8;

x=sizeof(y++);

cout<

cout<

getchar();

}

WhatistheoutputIsitthesameasyouhaveexpectedDoyouknowtheconcepts"Compile-time"and"Run-time"

(2)Inspectthisprogram:

#include

usingnamespacestd;

voidBinaryOut(charc){

unsignedchartmp=0x80;

for(inti=0;i<8;i++){

if(c&tmp)

cout<<1;

else

cout<<0;

tmp>>=1;

}

cout<

}

intmain(){

charch=-1;

BinaryOut(ch);

ch=127;

BinaryOut(ch);

getchar();

}

Theprogramcanoutputacharvariableasabinarysequence.Ifwechangethedatatypeoftmpintochar,doesthisprogramstillworkWhynotHowtooutputavariableofarbitrarytypeasabinarysequence

(3)Inspectthisprogram:

#include

#include

usingnamespacestd;

intmain()

{

cout<<"Whatisyourname"

<

strings;

cin>>s;

cout<<"Hello"<

getchar();

}

ThereisaclassnamedstringintheC++standardlibrary,whosefunctionalityisprovidingsomeusefuloperationswithtextstrings.Thisisonlyaverysimpleexample.YoucanconsultC++documentationfordetail.

(4)Inspectthisprogram:

//CStringExample

#include

#include

intmain()

{

chars[]="hello";

chart[]={'w','o','r','l','d','!

','\0'};

//modifythestringsdirectly,replacehwithH

s[0]='H';

//comparestrings

if(strcmp(t,"world!

")==0)

{

strcpy(t,"World!

");//notecapitalW

}

char*u=strcat(s,t);

//willoutput"HelloWorld!

"

std:

:

cout<

:

endl;

std:

:

cout<<"Thisstringis"<

<<"characterslong."<

:

endl;

}

ThisisanexampleabouttraditionalC-stylestring.Pleasenotethattheheaderfileiscstring,andyoucanusestring.hinstead.Inthisheaderfile,somefamousstring-relatedfunctionsstartingwithstraredeclared,suchasstrlen(),strcat(),strcpy()andsoon.Youcantrymoreofthembyyourself。

(5)Inspectthisprogram:

//Usingvariableswithautomaticconversion

#include

intmain()

{

intx,y;

x=6.23;//xbecomes6

cout<<"x="<

charc='w';//(see

cout<<"c="<

x=c;//xbecomestheinteger

//equivalentof‘w’whichis119

cout<<"x="<

y=2.110;//ybecomes2

doubled;//(see

d=y;//dbecomes2.0

cout<<"d="<

constfloatpi=3.14159;

//(see

//pi=223.34;//wouldbeanerror

}

Youcangetsomeideaoftheprincipleoftypecast(typeconvertion)inC++.

(6)Inputsomeparagraphsthroughkeyboard,andcalculatethelinesandwordscontainedinthem.

Hint:

usecin.get()ratherthancin>>toreadcharacters.

 

(2013-04-0109:

44:

40)

分类:

Hi,

Everyone!

FollowingistheC++assignmentforthisweek.

(1)Inspectthisprogram:

#include

usingstd:

:

cout;

usingstd:

:

cin;

usingstd:

:

endl;

intmain(){

intyear;

cout<<"Inputyear:

"<

cin>>year;

if(year%4==0&&year0!

=0

||year@0==0)

cout<

elsecout<

return0;

}

Isitabsolutelynecessarytowrite"usingnamespacestd"whenreferencesomeidentifierinstd(suchascin,cout,andsoon)

Infact,ifyoujustneedtousecininyourprogram,youcanuse"usingstd:

:

cin;"tointroduceitseperately.Youcantrythewaytointroducesomeotheridentifierinthenamespacestd.

(2)Inspectthisprogram:

#include

usingnamespacestd;

intmain(){

floatnum1,num2;

charop;

cout<<"Inputoperand1,perator,operand2:

"<

cin>>num1>>op>>num2;

switch(op){

case'+':

cout<

case'-':

cout<

case'*':

cout<

case'/':

cout<

default:

cout<

";}

return0;

}

Thisisamini-calculatorprogram.Pleasemodifyit,andwhenweinput"2^3",itcangivetheresultof3rdpowerof2。

(3)Inspectthisprogram:

#include

usingnamespacestd;

constintn=100;//nisaconstantvariable

intmain(){

inti=1,sum=0;//Initializationforloop

while(i<=n){

sum+=i;

i++;//modificationtocontrollingvariable

}

cout<<"sum="<

return0;

}

Thisprogramcangivetheresultof"1+2+...+100".Pleasewriteafunction:

intsum(intn),togivetheresultof"1+2+...+n".And,invokeitinmain()tocalculatethesummationfrom1to100.

(4)Insepcttheprogram:

intmain(){

inti,num,subscript;

intdigit[5];

cout<<"Inputainteger:

"<

cin>>num;

cout<<"Theoriginalnumberis:

"<

subscript=0;//subscriptofthearray

do{digit[subscript]=num;

num=num/10;

subscript++;

}while(num>0);

for(i=0;i

num=num*10+digit[i];

cout<<"Thenumberafterreversionis:

"<

return0;

}

Thisisaprogramtooutputaintegerreversely.Pleasemodifytheprogramto:

(1)Withoutusingarray,andcandealwithintegerswitharbitrarylength;

(2)Usingonlyoneloop.

(5)Inspecttheprogram:

#include

usingnamespacestd;

intmain()

{

constintm=5;

intA[m]={};

inti;

for(i=0;i

cout<

}

cout<

intB[m]={1,2};

for(i=0;i

cout<

}

getchar();

}

WhatistheoutputIsitthesamewithwhatyou'veexpetedWhatistheruletoinitiateanarryusing"{}"

(6)Inspecttheprogram:

#include

usingnamespacestd;

intmain()

{

boolbvar;

inti=5,j=5;

bvar=i==j;

cout<

cout<

getchar();

}

WhatistheoutputIsitthesamewithwhatyou'veexpetedInfact,operator==takesprecedenceoveroperator=,andthevalueofaboolvariableisfrom{0,1}.

(7)Writeafunction:

intmax3(intx,inty,intz)toreturnthemaximumofthreeintegers,usingoperator:

.

C++assignment(5)

(2013-04-0814:

37:

36)

分类:

Hi,

Everyone!

FollowingistheC++assignmentforthisweek.

(1)Writeaprogramtoprintthefollowinggraph:

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

当前位置:首页 > 农林牧渔 > 林学

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

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