C++程序设计基础第4版上习题解答1_第1页
C++程序设计基础第4版上习题解答1_第2页
C++程序设计基础第4版上习题解答1_第3页
C++程序设计基础第4版上习题解答1_第4页
C++程序设计基础第4版上习题解答1_第5页
已阅读5页,还剩135页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序设计基础(第4版)(上)习题与解答第1章基本数据与表达式11选择题1一个最简单的C程序,可以只有一个(C)。(A)库函数(B)自定义函数(C)MAIN函数(D)空函数2用C语言编写的源程序要成为目标程序必须要经过(D)。(A)解释(B)汇编(C)编辑(D)编译3C程序中的简单语句必须以(B)结束。(A)冒号(B)分号(C)空格(D)花括号4假设有说明INTA0DOUBLEX516,则在以下语句中,(C)属于编译错误。(A)XA/X(B)XX/A(C)AAX(D)XXA5执行C程序时出现的“溢出”错误属于(C)错误。(A)编译(B)连接(C)运行(D)逻辑6在下列选项中,全部都是C关键字的选项为(C)。(A)WHILEIFSTATIC(B)BREAKCHARGO(C)SIZEOFCASEEXTERN(D)SWITCHFLOATINTEGER7按C标识符的语法规定,合法的标识符是(A)。(A)_ABC(B)NEW(C)(D)“AGE“8在C语句中,两个标识符之间(A)不能作为C的分隔符。(A)数字(B)(C)(D)9下列正确的八进制整型常量表示是(B)。(A)0A0(B)015(C)080(D)0X1010下列错误的十六进制整型常量表示是(C)。(A)0X11(B)0XAF(C)0XG(D)0X1F11在下列选项中,全部都合法的浮点型数据的选项为(B)。(A)1E35152E4(B)12341E501E12(C)02E212345E5(D)50E(14)018E212在下列选项中,正确的字符常量为(D)。(A)“A“(B)NAME(C)A(D)10113在下列选项中,(D)不能交换变量A和B的值。(A)TBBAAT(B)AABBABAAB(C)TAABBT(D)ABBA14关于下列语句,叙述错误的是(A)。INTI10,P(A)P的值为10(B)P指向整型变量I(C)P表示变量I的值(D)P的值是变量I的地址15有以下变量说明,下面不正确的赋值语句是(B)。INTA5,B10,CINTP1(A)P2B(B)P1A(C)P2P1(D)CP1P216有以下变量说明,下面正确的语句是(B)。INTA10,BINT(A)(B)PBPA(C)PB(D)PBPA17执行下面语句序列后,A和B的值分别为(B)。INTA5,B3,TINTINTTRARARBRBT(A)3和3(B)3和5(C)5和3(D)5和518在下列运算符中,(D)优先级最高。(A)5)26已知INTX5,执行下列语句后,X的值为(C)。XXXX(A)25(B)40(C)40(D)2027设INTA1,B2,C3,D4,则以下条件表达式的值为(A)。A100INTMAININTA1,B2BOOLX,YCOUTBYACOUTUSINGNAMESPACESTDINTMAININTX,Y,Z,FXYZ1FX|YCOUTINCLUDEUSINGNAMESPACESTDINTMAININTA123INTINTPACOUTUSINGNAMESPACESTDINTMAININTA,B,CCOUTABC/对普通数据类型变量赋值INTPA/用变量地址值初始化指针变量COUTUSINGNAMESPACESTDINTMAININTACOUTAINTRAAINTPACOUTUSINGNAMESPACESTDINTMAININTACOUTAAA5/名访问COUTAINTMAININTA10,B20INTPPPQINTRAAINTRT30COUTUSINGNAMESPACESTDINTMAININTA10,B20INTP/“”是指针类型说明符,“/第1、2、4个“”是间址访问符,第3个“”算术乘运算符INT/“INT/“”是指针类型说明符,“/“”是间址访问符/输出语句中的“”是间址访问符COUTUSINGNAMESPACESTDINTMAININTX,I,J,KCOUTXIX/100JX/1010KX10COUTUSINGNAMESPACESTDINTMAINDOUBLEX,Y,BCOUTXYB2USINGNAMESPACESTDINTMAININTA,B,C,TEMP,MINCOUTABCTEMPA0IFX0IFX0Y0IFX0Y1ELSEY1ELSEY0(C)IFX0(C)INTA5WHILEAA(D)INTI3FORII22阅读下列程序,写出运行结果1INCLUDEUSINGNAMESPACESTDINTMAININTA,B,C,D,XAC0B1D20IFADD10ELSEIFBIFCX15ELSEX25COUTUSINGNAMESPACESTDINTMAININTA0,B1SWITCHACASE0SWITCHBCASE0COUTUSINGNAMESPACESTDINTMAININTI1WHILEIUSINGNAMESPACESTDINTMAININTI0,J5DOIJIFI3BREAKWHILEJ0COUTUSINGNAMESPACESTDINTMAININTI,JFORI1,J5IUSINGNAMESPACESTDINTMAININTI,S0FORI0IUSINGNAMESPACESTDINTMAININTI,J,X0FORI0I90,B90,80,C80,70,D70,60,EUSINGNAMESPACESTDINTMAINCHARGDCOUTGD/直到输入有效等级,否则程序不继续运行WHILEGDAIFGDA|GDACOUT90,B90,80,C80,70,D70,60,EUSINGNAMESPACESTDINTMAINCHARGDCOUTGD/直到输入有效等级,否则程序不继续运行WHILEGDASWITCHGDCASEACASEACOUTUSINGNAMESPACESTDINTMAININTA,BCOUTACOUTBIFABCOUTUSINGNAMESPACESTDINTMAINDOUBLESCORECOUTSCOREIFSCORE85COUT60COUTUSINGNAMESPACESTDINTMAININTA,B,C,TCOUTABCIFABTAABBTIFACTAACCTIFBCTBBCCTCOUTUSINGNAMESPACESTDINTMAINDOUBLEA,B,CCOUTABCIFABCINTMAINDOUBLESCORECHARGRADECOUTSCOREIFSCORE0INTMAINGRADE(级别)CHARFIRST,SECONDCOUTFIRSTCOUTSECONDSWITCHFIRSTCASESSWITCHSECONDCASESCOUTUSINGNAMESPACESTDINTMAININTM,I2COUTMWHILEIINCLUDEUSINGNAMESPACESTDINTMAINCONSTDOUBLEEPS1E8DOUBLEA,X0,XCOUTAX0A/2XX0A/X0/2WHILEFABSXX0EPSX0XXX0A/X0/2COUTINCLUDEINCLUDEUSINGNAMESPACESTDINTMAINCONSTDOUBLEPI314159265INTIDOUBLEX,Y1,Y2,Y3COUTUSINGNAMESPACESTDINTMAININTIFORI100IUSINGNAMESPACESTDINTMAININTI,A,B,CFORI100IUSINGNAMESPACESTDINTMAININTI,J,SFORI1IUSINGNAMESPACESTDINTMAININTI,J,K,NCHARCHCOUTNCOUTCHFORI1IUSINGNAMESPACESTDINTMAININTX,Y,Z,IFORX1XUSINGNAMESPACESTDINCLUDEINTFINTINTMAININTIFORI0IUSINGNAMESPACESTDVOIDFUNCINTA,INTB,INTC3,INTD4INTMAINFUNC10,15,20,30FUNC10,11,12FUNC12,12VOIDFUNCINTA,INTB,INTC,INTDCOUTUSINGNAMESPACESTDVOIDFUNCINT,INT,INTINTMAININTX,Y,ZFUNC5,6,FUNC7,X,FUNCX,Y,COUTUSINGNAMESPACESTDVOIDFUNCINT,INT,INTINTMAININTX0,Y1,Z2FUNC1,2,XFUNCXY,Y,YFUNCZ,XY,ZCOUTUSINGNAMESPACESTDVOIDFUNCINT,INT,INTINTMAININTA10,B20INTPFUNCP,Q,PCOUTUSINGNAMESPACESTDINTF2INT,INTINTF1INTA,INTBINTCAABBCF2AB,B1RETURNCINTF2INTA,INTBINTCCB2RETURNACINTMAININTA3,B4COUTUSINGNAMESPACESTDINTAGEINTNINTFIFN1F10ELSEFAGEN12RETURNFINTMAINCOUTUSINGNAMESPACESTDINTF1INTA,INTBRETURNABINTF2INTA,INTBRETURNABINTF3INTTINT,INT,INTA,INTBRETURNTA,BINTMAININTPINT,INTPF1COUTUSINGNAMESPACESTDINTSUBINT,INTINTA1INTMAININTM1,N2,FFSUBM,NCOUTUSINGNAMESPACESTDINTMAINTYPEDEFINTMYFUNCINT,INTMYFUNCF,FPINTA10,B6FPFCOUTUSINGNAMESPACESTDVOIDFUNCAINTIII10VOIDFUNCBINTJJJ20VOIDFUNCCINTINTMAININTA1FUNCAACOUTUSINGNAMESPACESTDINTA0/全局变量AINTMAININTA1/外层局部变量AINTA2/内层局部变量ACOUTUSINGNAMESPACESTDVOIDFINTINTMAININTA1FACOUTUSINGNAMESPACESTDINTMAINCHARCCINCIFCY|CYINTA1ELSEINTA0COUTUSINGNAMESPACESTDINTMAINCHARCINTACINCIFCY|CYA1ELSEA0COUTINCLUDEUSINGNAMESPACESTDDOUBLESHDOUBLETINTMAINDOUBLEX,YCOUTXYSH1SHX/SH2XSH3XCOUTMNPF1F1,MF2F3,NF3F5,PIFF1COUTUSINGNAMESPACESTDVOIDFMAXMINDOUBLE,DOUBLE,DOUBLE,DOUBLE,DOUBLEINTMAINDOUBLEA,B,C,MAX,MINCOUTABCFMAXMINA,B,C,COUTYUXVYELSEUYVXIFZUUZIFZUSINGNAMESPACESTDVOIDFMAXMINDOUBLE,DOUBLE,DOUBLE,DOUBLEINTMAINDOUBLEA,B,C,MAX,MINCOUTABCFMAXMINA,B,C,MAX,MINCOUTYUXVYELSEUYVXIFZUUZIFZUSINGNAMESPACESTDINTRANDINT,INT/生成指定范围的随机数INTMAININTW,I,R,T0CHAROP,ANSWERINTA,B,DWHILE1/练习开始COUTANSWERIFANSWERN|ANSWERNBREAKWHILE1COUTWIFW1IFOPSWITCHOPCASERABBREAKCASERABBREAKCASERABBREAKCASE/RA/BBREAKIFRDCOUTNRETURNR5已知勒让德多项式为12012/NNNNPXPXPX编写程序,从键盘输入X和N的值,使用递归函数求PNX的值。【解答】INCLUDEUSINGNAMESPACESTDDOUBLEPDOUBLEX,INTNINTMAININTNDOUBLEXCOUTXNCOUTUSINGNAMESPACESTDVOIDPRINTINTWFORINTI1IUSINGNAMESPACESTDVOIDPRINTINTWINTIIFWPRINTW1FORI1IINCLUDEUSINGNAMESPACESTDDOUBLEF1DOUBLEXRETURN4/1XXDOUBLEF2DOUBLEXRETURNSQRT1XXDOUBLEF3DOUBLEXRETURNSINXDOUBLETRAPDOUBLEFUNDOUBLEX,DOUBLEA,DOUBLEB,LONGNDOUBLET,HINTITFUNAFUNB/20HBA/NFORI1IUSINGNAMESPACESTDVOIDDISPLAYDOUBLEDCOUTUSINGNAMESPACESTDVOIDSORTDOUBLEX,DOUBLEYVOIDSORTDOUBLEX,DOUBLEY,DOUBLEZINTMAINSORT56,79SORT05,308,59VOIDSORTDOUBLEX,DOUBLEYIFXYCOUTUSINGNAMESPACESTDINCLUDE“FABRICATEH“INTMAININTM,NCOUTMNCOUTNINTAN2下列数组定义语句中,不合法的是(A)。(A)INTA30,1,2,3(B)INTA0,1,2(C)INTA30,1,2(D)INTA303已知INTA100,1,2,3,4,5,6,7,8,9,PA,不能表示数组A中元素的式子是(C)。(A)A(B)P(C)A(D)APA4已知INTA0,2,4,6,8,10,PA1其值等于0的表达式是(D)。(A)P(B)P(C)P(D)P5以下不能对二维数组A进行正确初始化的语句是(C)。(A)INTA230(B)INTA30,1,0(C)INTA230,1,2,3,4,5(D)INTA30,1,2,3,4,56已知INTA30,1,2,3,4,5,6,7则A21的值是(C)。(A)0(B)2(C)6(D)77已知INTA331,2,3,4,5,6,7,8,9不能表示数组元素A21的地址是(B)。(A),则COUT0(D)STRCMPS2,S1042阅读下列程序,写出运行结果1INCLUDEUSINGNAMESPACESTDINTMAININTI,COUNT0,SUM0DOUBLEAVERAGEINTA1,2,3,4,5,6,7,8,9,10FORI0IUSINGNAMESPACESTDINTMAININTA91,2,3,4,5,6,7,8,9INTPA,SUM0FORPINCLUDEUSINGNAMESPACESTDCONSTINTN5INTMAININTANN0,I,J,KFORK1,I0I0J,KAJIJKFORI0IUSINGNAMESPACESTDINTFINT,INTINTMAININTA1,3,5,7,9,11COUT0AIRETURNT【解答】1355INCLUDEUSINGNAMESPACESTDINTFINT3,INT,INTINTMAININTA30,1,2,3,4,5,6,7,8COUTUSINGNAMESPACESTDVOIDTEST1INTA1A1NEWINT5COUTUSINGNAMESPACESTDINTMAINCHARS“ABCCDA“INTICHARCFORI1CSI0ISWITCHCCASEACOUTUSINGNAMESPACESTDINTMAINCHARSTR“C“,“BASIC“,“PASCAL“CHARPINTIPSTRFORI0IUSINGNAMESPACESTDINTMAINCHARS1“FORTRAN“,S2“FOXPRO“CHARP,QPS1QS2WHILEPINTMAINCHARSTR10“VB“,“PASCAL“,“C“,S10STRCPY_SS,STRCMPSTR0,STR1USINGNAMESPACESTDINTMAINCONSTINTM3,N4INTK,AMN1,2,3,4,5,6,7,8,9,10,11,12,BMNINTI,JCOUTUSINGNAMESPACESTDVOIDCREATEINT,INTINTMAININTANULL,LENCINLENCREATEA,LENFORINTI0IINCLUDEUSINGNAMESPACESTDVOIDAVEMSDDOUBLE,INT,DOUBLE/求平均值和均方差值函数INTMAINDOUBLES76,85,54,77,93,83,90,67,81,65DOUBLEAVE,MSDINTI,NNSIZEOFS/SIZEOFDOUBLE/求数组元素的个数COUTINCLUDEINCLUDEINCLUDEUSINGNAMESPACESTDINTMAININTA10,I,JSRANDINTTIME0/为随机数生成器设置种子值FORI0I100/获取指定范围数据GOTOLFORJ0JMCOUTUSINGNAMESPACESTDINTMAININTA38,6,29,1,25,20,6,32,78,10INTINDEX10/记录下标的数组INTI,J,TEMPFORI0IUSINGNAMESPACESTDINTMAININTB10,I,J,K,FLAGLONGNUM,NCOUTNUMK0NNUMDO/拆分整数,把各数字放入数组BBKN10NN/10WHILEN0FLAG1/判断标志I0JK1/设置指示下标的指针WHILEIUSINGNAMESPACESTDVOIDMERGECONSTINTA,INTNA,CONSTINTB,INTNB,INTC,INTNCINTMAININTA41,2,5,7INTB83,4,8,8,9,10,11,12INTC12INTIMERGEA,4,B,8,C,12FORI0IBJ/当AIBJ,把BI写入数组CCKBJKJELSE/当AIUSINGNAMESPACESTDINTMAINCHARWEEKDAY7“SUNDAY“,“MONDAY“,“TUESDAY“,“WEDNESDAY“,“THURSDAY“,“FRIDAY“,“SATURDAY“INTDCOUTDIFD0VOIDCREATEINTVOIDDELINTINTMAINDIAGONALINTVOIDOUTPUTINTINTMAININTAPNULL,BPNULL,NCOUTNCREATEAP,NCOUTUSINGNAMESPACESTDINTMAINLONGS3300,250,150,200,240,200,280,210,180LONGP3500,3300,3800INTI,JDOUBLESUMFORI0IUSINGNAMESPACESTDINTFMININT,INTINTMAININTA73,85,62,95,77,56,81,66,90,80INTINDEXINDEXFMINA,SIZEOFA/SIZEOFINTCOUTUSINGNAMESPACESTDVOIDINSERTINTA,INT,INTINTMAININTA10,12,23,25,48,48,53,58,60,78INTX,N,ICOUTXNSIZEOFA/SIZEOFINT/求数组长度INSERTA,N,X/插入元素FORI0IPJ/后移元素,挤出最大值AJAJ1APX/插入元素11一个整型数组的每个元素占4字节。编写一个压缩函数PACK,把一个无符号小整数(0255)数组进行压缩存储,只存放低8位;再编写一个解压函数UNPACK,把压缩数组舒展开来,以整数形式存放。主函数用随机函数生成数据初始化数组,测试PACK和UNPACK函数。【解答】INCLUDEINCLUDEINCLUDEUSINGNAMESPACESTDVOIDPACKINTA,UNSIGNEDCHARP,INTNVOIDUNPACKUNSIGNEDCHARP,INTA,INTNINTMAININTARY,N,IUNSIGNEDCHARPACKARYCOUTNARYNEWINTN/建立动态数组PACKARYNEWUNSIGNEDCHARN/压缩数组SRANDINTTIME0FORI0IINCLUDEINCLUDEUSINGNAMESPACESTDVOIDPRINTARRAYINTP,INTNVOIDADVERSEINTP,INTNINTMAININTP,N,ICOUTNPNEWINTN/建立动态数组SRANDINTTIME0FORI0IUSINGNAMESPACESTDINTMAININTP,I,J,KCHARS140,S240,S380COUTS1COUTS2COUTP/输入插入位置FORI0IUSINGNAMESPACESTDINTMAINCHARNAME520“LIMING“,“ZHANGQING“,“LIUXIAOPING“,“WANGYING“,“LUPEI“LONGNUM520030001,20030002,20030005,20030007,20030010INTILONGSNUMBERCOUTSNUMBERFORI0IINCLUDEUSINGNAMESPACESTDINTMAINCHARSTRING10CHARSTR10“WHILE“,“BREAK“,“IF“,“EXTERN“,“VOID“,“AUTO“,“LONG“,“STATIC“,“DO“,“CONST“INTISTRCPYSTRING,STR0FORI0IUSINGNAMESPACESTDCHARSTRCATCHARSTR1,CHARSTR2CHARPSTR1WHILEP0PPSTR2DOPSTR2PSTR2WHILESTR20RETURNSTR1INTMAINCHARSTR180,STR280COUTSTR1COUTSTR2COUTNUM(B)PNUM(C)PNUM(D)PNUM6有以下说明语句STRUCTWORKERINTNOCHARNAME20WORKERW,P则下列错误的引用是(D)。(A)WNO(B)PNO(C)PNO(D)PNO7S1和S2是两个结构类型变量,若要使赋值S1S2合法,则它们的说明应该是(C)。(A)S1只能接收相同类型的数据成员(B)结构中的成员相同(C)同一结构类型的变量(D)存储字节长度一样的变量52阅读下列程序,写出运行结果。1INCLUDEUSINGNAMESPACESTDSTRUCTDATAINTNDOUBLESCOREINTMAINDATAA31001,87,1002,72,1003,90,PACOUTNNNUSINGNAMESPACESTDSTRUCTEMPLOYEECHARNAME20CHARSEXVOIDFUNEMPLOYEEPIFPSEXMCOUTUSINGNAMESPACESTDSTRUCTNODECHARSNODEQINTMAINNODEA“MARY“,A1,“JACK“,A2,“JIM“,ANODEPACOUTSQSQQSQQQSUSINGNAMESPACESTDVOIDSETPUTUNSIGNEDS/输入集合S的元素VOIDSETDISPLAYCONSTUNSIGNEDS/输出集合S中的全部元素BOOLPUTXUNSIGNEDS,UNSIGNEDX/元素X并入集合VOIDCOMUNSIGNEDC,CONSTUNSIGNEDA,CONSTUNSIGNEDB/求并集CABVOIDSETINTUNSIGNEDC,CONSTUNSIGNEDA,CONSTUNSIGNEDB/求交集CABVOIDSETDIFCONSTUNSIGNEDA,CONSTUNSIGNEDB/求差集CABBOOLINCCONSTUNSIGNEDA,CONSTUNSIGNEDB/判蕴含BOOLINCONSTUNSIGNEDS,CONSTUNSIGNEDX/判属于XSBOOLNULLCONSTUNSIGNEDS/判空集CONSTINTN32/输入集合元素VOIDSETPUTUNSIGNEDSUNSIGNEDXCINXWHILEX0/输出集合S中的全部元素VOIDSETDISPLAYCONSTUNSIGNEDSCOUT0COUTXIFINA,XCOUTUSINGNAMESPACESTDSTRUCTPERSON/说明结构类型CHARNAME10UNSIGNEDINTIDDOUBLESALARYVOIDINPUTPERSON,CONSTINTVOIDSORTPERSON,INT,CONSTINTVOIDOUTPUTCONSTPERSON,INT,CONSTINTINTMAINPERSONALLONE100/说明结构数组INTINDEX100/说明索引数组INTTOTALFORINTI0ITOTALCOUTALLINAMECOUTALLIIDCOUTALLISALARYVOIDSORTPERSONALL,INTPI,CONSTINTNINTI,JINTT/交换用中间变量FORI1IALLPIJ1SALARY/通过索引数组访问结构数组元素TPIJ/交换索引数组元素值PIJPIJ1PIJ1TVOIDOUTPUTCONSTPERSONALL,INTPI,CONSTINTNFORINTI0IDATENEXT54编程题1编写程序,将一个整型变量右移4位,并以二进制形式输出该整数在移位前和移位后的数值。观察系统填补空缺的数位情况。INCLUDEUSINGNAMESPACESTDVOIDBITDISPLAYUNSIGNEDVALUEINTMAINUNSIGNEDXCOUTXBITDISPLAYXX4COUT1IFPOWINCLUDEUSINGNAMESPACESTDSTRUCTCOMPLEXDOUBLERE,IMINTMAINCOMPLEXA,B,CCHAROPERCOUTAREAIMCOUTBREBIMCOUTOPERSWITCHOPERCASECREAREBRECIMAIMBIMBREAKCASECREAREBRECIMAIMBIMBREAKCASECREAREBREAIMBIMCIMAIMBREAREBIMBREAKCASE/CREAREBREAIMBIM/BREBREBIMBIMCIMAIMBREAREBIM/BREBREBIMBIMBREAKDEFAULTCOUTUSINGNAMESPACESTDINTMAINSTRUCTDATACHARNAME12DOUBLESCOREA“李小平“,90,“何文章“,66,“刘大安“,87,“汪立新“,93,“罗建国“,78,“陆丰收“,81,“杨勇“,85,“吴一兵“,55,“伍晓笑“,68,“张虹虹“,93DOUBLEMAXA0SCOREINTI,NSIZEOFA/SIZEOFDATAFORI1IMAXMAXAISCOREFORI0IINCLUDEUSINGNAMESPACESTDSTRUCTPOINTDOUBLEXDOUBLEYDOUBLEDPOINTP1,POINTP2RETURNSQRTPOWP1XP2X,2POWP1YP2Y,2INTMAININTIPOINTP5FORI1IPIXPIYIFFABSDP1,P2DP3,P4USINGNAMESPACESTDSTRUCTEMPLOYEEINTNUMINTAGECHARSEXEMPLOYEENEXTEMPLOYEEHEAD,HEAD1/建立单向链表EMPLOYEECREATEEMPLOYEEHEAD,P,PENDCHARCHHEADNULLCOUTCHIFCHYPNEWEMPLOYEECOUTPNUMCOUTPAGECOUTPSEXELSEGOTOL0WHILECHYIFHEADNULLHEADPELSEPENDNEXTPPENDPCOUTCHIFCHYPNEWEMPLOYEECOUTPNUMCOUTPAGECOUTPSEXPENDNEXTNULLL0RETURNHEAD/显示单向链表中全部职工信息VOIDSHOWEMPLOYEEHEADEMPLOYEEPHEADIFHEADCOUTNUMAGESEXNEXTL1/统计男女职工人数VOIDCOUNTEMPLOYEEHEADEMPLOYEEPHEADINTM,FM0F0WHILEPIFPSEXMMELSEFPPNEXTCOUTPNUMCOUTPAGECOUTPSEXHEADPPNEXTNULLRETURNHEAD/在链表尾部插入新结点WHILEPENDNEXTNULLPENDPENDNEXTPNEWEMPLOYEECOUTPNUMCOUTPAGECOUTPSEXPENDNEXTPPENDPPENDNEXTNULLRETURNHEAD/删除指定编号的结点EMPLOYEEDELINTBHEMPLOYEEP,QIFHEADCOUTNUMBHPHEADHEADHEADNEXTDELETEPCOUTNEXTNULLIFQNEXTNUMBHPQNEXT/待删除结点QNEXTPNEXTDELETEPCOUTNEXTCOUTAGE55PDAGEPAGEPDSEXPSEXIFHEAD1NULLHEAD1PDELSEP1NEXTPDP1PDPDNEWEMPLOYEEFLAG1PPNEXTIFFLAG0COUTNEXTNULL/显示新链表COUTNUMAGESEXNEXT/删除指定年龄的结点PHEADQPWHILEPNULLIFPAGE55/待删除结点HEADHEADNEXTDELETEPDPHEADCONTINUEELSEIFPNEXTNULLPDP/待删除结点QNEXTNULLDELETEPDGOTOL3ELSEPDP/待删除结点QNEXTPNEXTDELETEPDPQNEXTCONTINUEQPPPNEXTL3RETURNHEADINTMAININTCHOICE,BHLCOUTCHOICESWITCHCHOICECASE1HEADCREATEGOTOLCASE2SHOWHEADGOTOLCASE3COUNTHEADGOTOLCASE4HEADINSERTGOTOLCASE5COUTBHHEADDELBHGOTOLCASE6HEADDELCREATEGOTOLCASE0COUTUSINGNAMESPACESTDSTRUCTNODECHARCHNODENEXTVOIDSHOWNODEHEADINTMAINNODEHEAD,PCHARCHEADNULLWHILECGETCHARN/输入一行字符PNEWNODE/建立新结点PCHCPNEXTHEAD/插入表头HEADPSHOWHEADVOIDSHOWNODEHEAD/输出链表NODEPHEADCOUTCHPPNEXTCOUTN3若有以下类Z说明,则函数FSTATIC中访问数据A错误的是(C)。CLASSZSTATICINTAPUBLICSTATICVOIDFSTATICZINTZA0ZOBJZ(A)VOIDZFSTATICOBJZA1(B)VOIDZFSTATICA1(C)VOIDZFSTATICTHISA0(D)VOIDZFSTATICZA04若有以下类W说明,则函数FCONST的正确定义是(A)。CLASSWINTAPUBLICVOIDFCONSTINT(A)VOIDWFCONSTINT(B)VOIDWFCONSTINT(C)VOIDWFCONSTINT(D)VOIDWFCONSTINT5若有以下类T说明,则函数FFRIEND的错误定义是(C)。CLASSTINTIFRIENDVOIDFFRIENDT(A)VOIDFFRIENDT(B)VOIDFFRIENDT(C)VOIDTFFRIENDT(D)VOIDFFRIENDT6在类定义的外部,可以被访问的成员有(C)。(A)所有类成员(B)PRIVATE或PROTECTED的类成员(C)PUBLIC的类成员(D)PUBLIC或PRIVATE的类成员7关于THIS指针的说法正确的是(C)。(A)THIS指针必须显式说明(B)定义一个类后,THIS指针就指向该类(C)成员函数拥有THIS指针(D)静态成员函数拥有THIS指针8说明一个类的对象时,系统自动调用(B);撤销对象时,系统自动调用(C)。(A)成员函数(B)构造函数(C)析构函数(D)友元函数9下面对构造函数的不正确描述是(C)。(A)用户定义的构造函数不是必须的(B)构造函数可以重载(C)构造函数可以有参数,也可以有返回值(D)构造函数可以设置默认参数10下面对析构函数的正确描述是(C)。(A)系统在任何情况下都能正确析构对象(B)用户必须定义类的析构函数(C)析构函数没有参数,也没有返回值(D)析构函数可以设置默认参数11关于类的静态成员的不正确描述是(D)。(A)静态成员不属于对象,是类的共享成员(B)静态数据成员要在类外定义和初始化(C)静态成员函数不拥有THIS指针,需要通过类参数访问对象成员(D)只有静态成员函数可以操作静态数据成员12在下列选项中,(C)不是类的成员函数。(A)构造函数(B)析构函数(C)友元函数(D)复制构造函数13下面对友元的错误描述是(D)。(A)关键字FRIEND用于声明友元(B)一个类中的成员函数可以是另一个类的友元(C)友元函数访问对象的成员不受访问特性影响(D)友元函数通过THIS指针访问对象成员14若CLASSB中定义了一个CLASSA的类成员AA,则关于类成员的正确描述是(C)。(A)在类B的成员函数中可以访问A类的私有数据成员(B)在类B的成员函数中可以访问A类的保护数据成员(C)类B的构造函数可以调用类A的构造函数做数据成员初始化(D)类A的构造函数可以调用类B的构造函数做数据成员初始化62阅读下列程序,写出运行结果1INCLUDEUSINGNAMESPACESTDCLASSAPUBLICINTF1INTF2VOIDSETXINTMXMCOUTUSINGNAMESPACESTDCLASSTPUBLICTINTX,INTYAXBYCOUTUSINGNAMESPACESTDCLASSTPUBLICTINTXAXBXSTATICVOIDDISPLAYTCCOUTUSINGNAMESPACESTDINCLUDECLASSPOINTPUBLICPOINTFLOATX,FLOATYAXBYCOUTUSINGNAMESPACESTDCLASSAPUBLICAA5VOIDPRINTACOUTUSINGNAMESPACESTDCLASSAPUBLICAINTXAX0VOIDGETAINTVOIDPRINTACOUTUSINGNAMESPACESTDCLASSBOOKPUBLICVOIDSETBOOKCHAR,DOUBLE,INTVOIDBORROWVOIDRESTOREVOIDDISPLAYPRIVATECHARBOOKNAME40DOUBLEPRICEINTNUMBER/在类外定义BOOK类的成员函数VOIDBOOKSETBOOKCHARNAME,DOUBLEPRI,INTNUMSTRCPYBOOKNAME,NAMEPRICEPRINUMBERNUMVOIDBOOKBORROWIFNUMBER0COUTFLAGSWITCHFLAGCASEBCOMPUTERBORROWBREAKCASERCOMPUTERRESTORECOUTCHCOMPUTERDISPLAY2定义一个BOX(盒子)类,在该类定义中包括以下数据成员和成员函数。数据成员LENGTH(长)、WIDTH(宽)和HEIGHT(高)。成员函数构造函数BOX,设置盒子的长、宽和高3个初始数据;成员函数SETBOX对数据成员置值;成员函数VOLUME计算盒子的体积。在MAIN函数中,要求创建BOX对象,输入长、宽、高,输出盒子的体积。【解答】INCLUDEUSINGNAMESPACESTDCLASSBOXPUBLICBOXDOUBLEL,DOUBLEW,DOUBLEHLENGTHLWIDTHWHEIGHTHVOIDVOLUMECOUTUSINGNAMESPACESTDCLASSSTUDENTPUBLICVOIDSCORETOTALCOUNTDOUBLESSCORESTOTALTOTALSCORECOUNTSTATICDOUBLESUMRETURNTOTALSTATICDOUBLEAVERAGERETURNTOTAL/COUNTPRIVATEDOUBLESCORESTATICDOUBLETOTALSTATICDOUBLECOUNTDOUBLESTUDENTTOTAL0DOUBLESTUDENTCOUNT0INTMAININTI,NDOUBLESCOUTNSTUDENTSTUFORI1ISSTUSCORETOTALCOUNTSCOUTUSINGNAMESPACESTDSTRUCTPOINTDOUBLEXDOUBLEYCLASSLINEPUBLICLINEDOUBLEU,DOUBLEVAUBVVOIDPRINTCOUTUSINGNAMESPACESTDCLASSTPUBLICTA0B0C0TINTI,INTJ,INTKAIBJCKVOIDGETINTJBKCTOPERATORTOBJPRIVATEINTA,B,CTTOPERATORTOBJTTEMPOBJTEMPOBJAAOBJATEMPOBJBBOBJBTEMPOBJCCOBJCRETURNTEMPOBJINTMAINTOBJ11,2,3,OBJ25,5,5,OBJ3INTA,B,COBJ3OBJ1OBJ2OBJ3GETA,B,CCOUTUSINGNAMESPACESTDCLASSVECTORPUBLICVECTORVECTORINTI,INTJXIYJFRIENDVECTOROPERATORVECTORV1,VECTORV2VECTORTEMPVECTORTEMPVECTORXV1XV2XTEMPVECTORYV1YV2YRETURNTEMPVECTORVOIDDISPLAYCOUT必须要用友员函数重载的运算符INCLUDEUSINGNAMESPACESTDCLASSSPUBLICSSTR0SCHARPSTRSTRCPYSTR,PSTRCHARGETSRETURNSTRSOPERATORSOBJPRIVATECHARSTR10SSOPERATORSOBJSTRCATSTR,OBJSTRRETURNSTR/或RETURNTHISINTMAINSOBJ1“VISUAL“,OBJ2“C“,OBJ3OBJ3OBJ1OBJ2COUTINCLUDEUSINGNAMESPACESTDCLASSSPUBLICSSTR0SCHARPSTRSTRCPYSTR,PSTRCHARGETSRETURNSTRFRIENDSOPERATORSOBJ1,SOBJ2PRIVATECHARSTR100SOPERATORSOBJ1,SOBJ2STEMPOBJSTRCATTEMPOBJSTR,OBJ1STRSTRCATTEMPOBJSTR,OBJ2STRRETURNTEMPOBJINTMAINSOBJ1“VISUAL“,OBJ2“C“,OBJ3OBJ3OBJ1OBJ2COUTUSINGNAMESPACESTDCLASSINTEGERPRIVATESHORTAPUBLICINTEGERSHORTN0ANINTEGEROPERATORINTEGERINTEGEROPERATORINTEGERINTEGEROPERATORINTEGERINTEGEROPERATOR/INTEGERINTEGEROPERATORINTEGERVOIDDISPLAYCOUT32767COUT32767COUT32767COUT32767COUTUSINGNAMESPACESTDCLASSREALPRIVATEDOUBLEAPUBLICREALDOUBLER0ARREALOPERATORREALREALOPERATORREALREALOPERATORREALREALOPERATOR/REALREALOPERATORREALVOIDDISPLAYCOUT17E308COUT17E308COUT17E308COUT17E308COUT”、“USINGNAMESPACESTDCLASSVECTORPRIVATEDOUBLEVINTLENPUBLICVECTORINTSIZEVECTORDOUBLE,INTVECTORDOUBLEVECTORFRIENDVECTOROPERATORVECTORFRIENDVECTOROPERATORVECTORFRIENDDOUBLEOPERATORVECTORFRIENDOSTREAMVECTORVECTORINTSIZEIFSIZE2147483647COUT2147483647COUT0IAIRETURNINPUTINTMAININTK1,K2,K3DOUBLETCOUTK1VECTORAK1COUTACOUTK2VECTORBK2COUTBCOUTK3VECTORCK3COUTUSINGNAMESPACESTDCONSTDOUBLEN1852/定义海里与千米和米的转换系数1海里1852千米CLASSNAUTICALMILE_KILOMETERPUBLICNAUTICALMILE_KILOMETERINTKM,DOUBLEMKILOMETERKMMETERMVOIDPRINTCOUTUSINGNAMESPACESTD

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论