c++习题.docx
- 文档编号:24931834
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:43
- 大小:25.04KB
c++习题.docx
《c++习题.docx》由会员分享,可在线阅读,更多相关《c++习题.docx(43页珍藏版)》请在冰豆网上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 习题