C语言程序设计教程答案杨路明郭浩志_第1页
C语言程序设计教程答案杨路明郭浩志_第2页
C语言程序设计教程答案杨路明郭浩志_第3页
C语言程序设计教程答案杨路明郭浩志_第4页
C语言程序设计教程答案杨路明郭浩志_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

习题11、算法描述主要是用两种基本方法第一是自然语言描述,第二是使用专用工具进行算法描述2、C语言程序的结构如下1、C语言程序由函数组成,每个程序必须具有一个MAIN函数作为程序的主控函数。2、“/“与“/“之间的内容构成C语言程序的注释部分。3、用预处理命令INCLUDE可以包含有关文件的信息。4、大小写字母在C语言中是有区别的。5、除MAIN函数和标准库函数以外,用户可以自己编写函数,程序一般由多个函数组成,这些函数制定实际所需要做的工作。例如VOIDMAININTA,B,C,SA8B12C6SABCPRINTF“SDN“,S3、C语言的特点1、C语言具有结构语言的特点,程序之间很容易实现段的共享;2、C语言的主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译成代码,以实现程序的模块化。3、C语言运算符丰富,运算包含的范围很广;4、C语言数据类型丰富。5、C语言允许直接访问物理地址,即可直接对硬件进行操作,实现汇编语言的大部分功能;6、C语言语法限制不太严格,程序设计自由度大,这样是C语言能够减少对程序员的束缚;7、用C语言编程,生成的目标代码质量高,程序执行效率高,可移植性好;4、合法标识符AB12、LEED_3、EF3_3、_762、PAS、XYZ43K2不合法标识符AB2、8STU、DKJON、IF、AVEXY、_DT5、CD5、F2将当前编辑器中文件存盘F10调用主菜单F4程序运行到光标所在行CTRLF9当前编辑环境下,进行编译、连接且运行程序;ALTF5将窗口切换到DOS下,查看程序运行结果6、1WELCOMEYOUVERYGOOD2PLEASEINPUTTHREENUMBER5,7,8MAXNUMBERIS87、MAIN8、USERSCREEN、ALTF59、标识符必须是字母或下划线开头,大小写字母含义不同。由数字、字母和下划线组成;关键字是一种语言中规定具有特定含义的标识符。关键字不能作为变量或函数名来使用,用户只能根据系统的规定使用它们。10、选择主菜单FILE项下拉子菜单中SAVE项或直接按F2键存盘。习题21、符合C语法规定的常数为0X1E、“ABN“、1E52、1错误如下INTX,Y5,Z5,AVERX7AVERXYX/3结果如下AVER52错误如下CHARC1A,C2B,C3CPRINTF“ADBC“END“N“,A,B结果如下A3BA“END“AABCCABC3、4、19,11,9,1023,1,0,0311,19,31,15、102039500000490510610765849450000010111012201306、57、求X的绝对值8、CMAXABABCMAX9、B10、D习题31、输入函数SCANF的参数错误,应该为SCANF“F“,2、|12341234|3、FF104、1,3,15、原字符串左边加空格再加字符串本省,字符个数总和为5个6、SCANF“D,D,C,C“,7、PRINTF“ABDN“,ABPRINTF“ABDN“,ABPRINTF“ABDN“,ABPRINTF“A/BDN“,A/BPRINTF“FLOATA/BFN“,FLOATA/BPRINTF“ABDN“,AB8、VOIDMAINFLOATRFLOATS,CPRINTF“PLEASEINPUTTHENUMBER“SCANF“F“,IFR0S314RRC2314RPRINTF“SF,CFN“,S,CELSEPRINTF“YOUINPUTNUMBERISERROR“9、VOIDMAININTNPRINTF“PLEASEINPUTTHENUMBER“SCANF“D“,IFN100AREASQRTSSASBSCPRINTF“FN“,AREAELSEPRINTF“YOUINPUTTHENUMBERISERRORN“习题4102203X20|XVOIDMAINCHARA,B,T1,T2SCANF“C,C“,T1ABABT2AVOIDMAININTTEMP10,TEMP20,X,Y,I1PRINTF“PLEASEINPUTX,Y“SCANF“D,D“,WHILEIYSHANGD,YUSHUD“,X,Y,TEMP2,XYTEMP2GETCH9、INCLUDEVOIDMAINFLOATX,Y,M0,N0SCANF“F,F“,NX2X2MY2Y2IFMNVOIDMAININTTEMP0,MONTH,YEARPRINTF“PLEASEINPUTYEAR,MONTH“SCANF“D,D“,IFYEAR4000|YEAR40IFMONTH2IFTEMPPRINTF“DYEARDMONTHHAVE29“,YEAR,MONTHELSEPRINTF“DYEARDMONTHHAVE28“,YEAR,MONTHELSEIFMONTH20PRINTF“DYEARDMONTHHAVE30“,YEAR,MONTHELSEPRINTF“DYEARDMONTHHAVE31“,YEAR,MONTHGETCH11、SWITCHA/10CASE5M4BREAKCASE4M3BREAKCASE3M2BREAKCASE2M1BREAKDEFAULTM512、方法一INCLUDEVOIDMAININTX,YSCANF“D“,IFX5YX1ELSEIFX0YXELSEIFX0SCANF“D“,IFX5IFX0YXELSEIFX0SCANF“D“,IFX5IFX0I1ELSEIFX0PRINTF“THEDYEARSLATERCOMPLETEN“,COUNT6、VOIDMAININTI,TEMP0,BIT0FORI1IINTMAINVOIDINTSTEPS29,I1WHILESTEPS7STEPS30I1PRINTF“TOTALSTEPSDN“,STEPSRETURN08、MAININTI,J,K,NPRINTF“THENARCISSUSNUMBERISN“FORN100NNLEFTLONGK1FLOATE1N1CLRSCRWHILEFABS10/K0000001NEE10/KKKNPRINTF“FN“,E15、INCLUDE“MATHH“MAINFLOATX0,X1,X2,F0,F1,F2X110F12X1X1X14X1X13X1X210F22X2X2X24X2X23X2DOX0X1X2/2F02X0X0X04X0X03X0IFF0F11E6PRINTF“_2XXX4XX3X0_N“PRINTF“THEROOTISFN“,X0习题61、INCLUDEINTDIVISORINTA,INTBINTRWHILERAB0ABBRRETURNBINTMULTIPLEINTA,INTBINTDDDIVISORA,BRETURNAB/DVOIDMAININTA,B,C,DPRINTF“INTPUTA,B“SCANF“D,D“,CDIVISORA,BDMULTIPLEA,BPRINTF“NDIVISORDTTMULTIPLED“,C,D2、INCLUDEVOIDTONGJICHARAINTB30,0,0,I0WHILEAI0IFAI65|AI97B0ELSEIFAI48B1ELSEB2IPRINTF“ZIMUHAVEDSHUZIHAVEDQITAHAVED“,B0,B1,B2GETCHVOIDMAINCHARA100PRINTF“PLEASEINPUTASTRING“GETSATONGJIA3、INCLUDEINTFLOWERINTNINTX0,I,J,KIN10JN/1010KN/100XIIIJJJKKKIFXNRETURN1ELSERETURN0VOIDMAININTI,NPRINTF“PLEASEINTPUTN“SCANF“D“,IFN999|NDEFINESWAPA,BTBBAATMAINFLOATX,Y,TPRINTF“ENTERTWONUMBERX,Y“SCANF“F,F“,SWAPX,YPRINTF“NNEXCHANGEDXF,YF“,X,YGETCH5、INCLUDEINTFIBINTNINTPIFN0P0ELSEIFN1P1ELSEPFIBN1FIBN2RETURNPVOIDMAININTNPRINTF“PLEASEINPUTFIB“SCANF“D“,PRINTF“NNFIBONACCID“,FIBN6、INCLUDELONGFACINTNLONGFIFN0F1ELSEFNFACN1RETURNFVOIDMAININTM,NLONGFPRINTF“PLEASEINPUTM,N“SCANF“LD,LD“,FFACNMFACNPRINTF“NNFIBONACCILD“,F7、INCLUDEVOIDLISTINTI,JFORI1IINTHEINTNINTI,S0FORI1ID“,I,J9、INCLUDEDEFINEMAX100STRUCTWORKLONGSIDCHARNAME15WORKERMAXINTSIZE0STRUCTWORKSET_LISTDOPRINTF“NNPLEASEINPUTSID,NAME“SCANF“LD,S“,SIZEWHILEWORKERSIZE1SID0RETURNWORKERVOIDPAIXUSTRUCTWORKAINTI,J,KLONGTCHARV15FORI0IAJSIDKJIFKITAISIDAISIDAJSIDAJSIDTSTRCPYV,AINAMESTRCPYAINAME,AJNAMESTRCPYAJNAME,VFORI0IFLOATJIECHENGINTNLONGS1INTIFORI1I0AKTEMPBREAKKDEFINEMAX100VOIDMAINFLOATAMAX,S0,AVERAGE0INTI,NPRINTF“PLEASEINPUTN“/输入要处理元素的个数/SCANF“D“,PRINTF“NPLEASEINPUTDGESHU“,N/输入90,85,92,77,80,62/FORI0IAVERAGEPRINTF“2F“,AI/输出9000,8500,9200/5、/题目编写程序,输入一组整数,将他们排序后由小到大输出。/INCLUDEDEFINEMAX100VOIDMAININTAMAX,J,I,K0,T0,N0PRINTF“PLEASEINPUTN“/输入要处理元素的个数/SCANF“D“,FORI0IAJKJIFKI/元素排序前下标与排序后下标不符,则交换其值/TAIAIAKAKTPRINTF“NN“FORI0IINCLUDEVOIDMAININTD440,0,0,0,I,JCLRSCRPRINTF“NPLEASEINPUT16NUM“FORI0IDJI/左下角元素大于右上角元素则交换/DJIDIJFORI0IIPRINTF“TD“,DIJ/为了使位数不同的数输出依然保持三角型/ELSEPRINTF“T“7、题目输入一个3X4的二维数组,然后分别按行和按列输出。/INCLUDEINCLUDEVOIDMAININTD340,0,0,0,I,JPRINTF“PLEASEINPUT12NUM“FORI0IINCLUDEVOIDMAINCHARS150,S250INTI0,J0,T0PRINTF“INPUTONE“GETSS1WHILES1I0I/统计S1中字符个数/PRINTF“NNINPUTSECOND“GETSS2WHILES2J0J/统计S2中字符个数/FORT0TINCLUDEDEFINEMAX100VOIDMAINCHARSTRMAXINTI0,FLAGE0INTCOUNT0PRINTF“NPLEASEINPUTASTRING“GETSSTRWHILESTRIIFSTRIAFLAGE1ELSEIFSTRIBIFFLAGE1COUNTFLAGE0ELSEFLAGE0IPRINTF“THEDOUBLECHAR“AB“COUNTISDN“,COUNT10、INCLUDE/相对于第一种方法,这种方法能把同为最大的字符串全部打印出来。/INCLUDEINTPAIXUINTA,INTN/构造对长度为N的数组排序的函数/INTI,J,T,K,TEMPFORI0IAJKJIFKITAIAIAKAKTTEMPAN1RETURNTEMP/返回最大字符串的长度的值/VOIDMAINCHARSTR150,STR250,STR350,STR450,STR550,STR650CHARSTR750,STR850,STR950,STR1050INTCOUNT100,TEMP100,I,JINTPAIXUINTA,INTNFORI1IVOIDMAININTA100,B100,C100,I,M,N,J,K,TEMP0,SPRINTF“NM“SCANF“D“,/确定M的个数/PRINTF“NN“SCANF“D“,/确定N的个数/PRINTF“NPLEASEINPUTMGESHU“FORS0SBJIKIFJN/B处理到完/FOR/把B数组接到C后面/IFI0/如果A处理完,结束。并做标记TEMP1/CKAITEMP1BREAKCKAIIKIFTEMP1BREAK/标记TEMP1,全部处理结束/FORS0SQQ2IVOIDFUNCHARSTR,CHARCCHARPFORPSTRP0PIFPCSTRPSTR0VOIDMAINCHARSTR80,CPRINTF“NPLEASEINPUTASTRING“GETSSTRPRINTF“NNPLEASEINPUTDELETECHAR“SCANF“C“,FUNSTR,CPUTSSTRGETCH5、/从键盘输入单词,每个单词之间用空格隔开,“”号结束输入,/将每个单词的第一个字母转化成大写字母。/INCLUDEINCLUDECHARZHUANHUACHARC/定义将小写字母转化为大写字母的函数/CHARCIFCAP1DATAPRINTF“NINPUT8NUMBER“FORI0IVOIDMAININTM,N,ICHARA100,B100,P,QPRINTF“PLEASEINPUTASTRING“GETSAPAQBPRINTF“NNPLEASEINPUTMANDNLIKE1,1“SCANF“D,D“,IFSTRLENAM/指针指向第一个要复制的字符/FORI0IVOIDMAININTA100,TEMP10,TEMP20,MAX0,MIN0,KPRINTF“NPLEASEINPUT8GESHU“FORK0KAMAXMAXK/用标记MAX最大值的下标/IFMIN0IFMAX7TEMP1A0A0A7A7TEMP1ELSETEMP2A7A7AMINA0AMAXAMAXTEMP2ELSEIFMAX0IFMIN7TEMP2A7A7AMINAMINTEMP2ELSEIFMIN7TEMP1A0A0AMAXAMAXTEMP1ELSEIFMAX7TEMP2A7A7AMINAMINA0A0TEMP2ELSETEMP1A0TEMP2A7A0AMAXA7AMINAMINTEMP2AMAXTEMP1FORK0KINCLUDEINTPAIXUINTDATA,INTNINTI,P1,P2,TEMPP1DATAFORP1DATAP10AIAI10TPIFP9|PSTRUCTSTUDENTSCHARSID100CHARNAME100FLOATSCORE3STUDENTVOIDMAININTIFLOATJPRINTF“NPLEASEINPUTSID“SCANF“S“,STUDENTSIDPRINTF“NPLEASEINPUTNAME“SCANF“S“,STUDENTNAMEPRINTF“NPLEASEINPUT3SCORELIKE1,1,1“/输入逗号隔开/SCANF“F,F,F“,PRINTF“NSIDS“,STUDENTSIDPRINTF“NNAMES“,STUDENTNAMEJSTUDENTSCORE0STUDENTSCORE1STUDENTSCORE2/30PRINTF“NAVERAGE2F“,JGETCH3、INCLUDEINCLUDEDEFINEFSIZEOFSTUDENTDEFINENULL0TYPEDEFSTRUCTSCORESINTENGLISHINTMATHINTC_LANGUAGEINTALLTPTYPEDEFSTRUCTSTUDENTSCHARSID15CHARNAME15TPSCORESTRUCTSTUDENTSNEXTSTUDENTSTUDENTINPUTSTUDENTHEAD,P1,P2INTN0CHARCHCLRSCRHEADSTUDENTMALLOCFHEADNEXTNULLDONPRINTF“NNPLEASEINPUTDSTUDENTMESSAGENN“,NPRINTF“TDSTUDENTSID“,NP1STUDENTMALLOCFP1NEXTNULLSCANF“S“,P1SIDPRINTF“NTDSTUDENTNAME“,NSCANF“S“,P1NAMEPRINTF“NTDSTUDENTSCORESENGLESH,MATH,C_LANGUAGE“,NSCANF“D,D,D“,P1SCOREALLP1SCOREENGLISHP1SCOREMATHP1SCOREC_LANGUAGEIFN1HEADNEXTP1P2P1ELSEP2NEXTP1P2P1PRINTF“NNTTTCONTINUEORBACKPRESSY/N“CHGETCHWHILECHY|CHYRETURNHEADVOIDAVERAGE1STUDENTHEADSTUDENTPINTJCLRSCRPHEADNEXTWHILEPJPSCOREALL/3PRINTF“NNNAMESTAVERAGED“,PNAME,JPPNEXTPRINTF“NNNPRESSENYKEYRETURN“GETCHVOIDAVERAGE2STUDENTHEADSTUDENTPINTN0,TEMP10,TEMP20,TEMP30PHEADNEXTWHILEPTEMP1PSCOREENGLISHTEMP2PSCOREMATHTEMP3PSCOREC_LANGUAGEPPNEXTNPRINTF“NNAVERAGEENGLISHISDNAVERAGEMATHISDNAVERAGEC_LANGUAGEISDT“,TEMP1/N,TEMP2/N,TEMP3/NSTUDENTSORTSTUDENTHEADSTUDENTHEAD1,P,Q,RINTTEMP10,TEMP20,TEMP30,TEMP4CHARS15,N15HEAD1HEADFORPHEAD1NEXTPNEXTNULLPPNEXTRPFORQPNEXTQQQNEXTIFQSCOREALLRSCOREALLRQIFRPSTRCPYS,PSIDSTRCPYN,PNAMETEMP1PSCOREENGLISHTEMP2PSCOREMATHTEMP3PSCOREC_LANGUAGETEMP4PSCOREALLSTRCPYPSID,RSIDSTRCPYPNAME,RNAMEPSCOREENGLISHRSCOREENGLISHPSCOREMATHRSCOREMATHPSCOREC_LANGUAGERSCOREC_LANGUAGEPSCOREALLRSCOREALLSTRCPYRSID,SSTRCPYRNAME,NRSCOREENGLISHTEMP1RSCOREMATHTEMP2RSCOREC_LANGUAGETEMP3RSCOREALLTEMP4RETURNHEAD1VOIDOUTPUTSTUDENTHEADSTUDENTHEAD2,PINTI1CLRSCRHEAD2SORTHEADFORPHEAD2NEXTPNULLPPNEXTPRINTF“NNNAMESTSIDSTENGLISHDTMATHDTC_LANGUAGEDTAVERAGEDTMINGCID“,PNAME,PSID,PSCOREENGLISH,PSCOREMATH,PSCOREC_LANGUAGE,PSCOREALL/3,IAVERAGE2HEADPRINTF“NNNTTPRESSENYKEYBACK“GETCHVOIDMAINSTUDENTHEAD,P1,P2INTI0,J1HEADINPUTDOCLRSCRPRINTF“NN1AVERAGE1NN2AVERAGE2NN3SORTNN4OUTPUTNNNPLEASECHOOSE“SCANF“D“,SWITCHICASE1AVERAGE1HEADBREAKCASE2CLRSCRAVERAGE2HEADPRINTF“NNNPRESSENYKEYRETUEN“GETCHBREAKCASE3CLRSCRP1SORTHEADFORP2P1NEXTP2NULLP2P2NEXTPRINTF“NTTNAMESTMINGCID“,P2NAME,JPRINTF“NNNPRESSENYKEYBACK“GETCHBREAKCASE4OUTPUTHEADBREAKDEFAULTPRINTF“NYOURCHOOSEISNOTRIGHT“BREAKWHILEI14、INCLUDEINCLUDEDEFINENULL0DEFINEFSIZEOFWORKERTYPEDEFSTRUCTWORKCHARSID15CHARNAME15INTMONEYSTRUCTWORKNEXTWORKERINTMIN0,MAX0CHARA15,B15WORKERINPUTWORKERHEAD,P,QINTN0CHARCHHEADWORKERMALLOCFHEADNEXT0DONPWORKERMALLOCFPNEXT0PRINTF“NNTPLEASEINPUTDWORKERMESSAGE“,NPRINTF“NDWORKERSID“,NSCANF“S“,PSIDPRINTF“NDWORKERNAME“,NSCANF“S“,PNAMEPRINTF“NDWORKERMONEY“,NSCANF“D“,IFN1HEADNEXTPQPMAXPMONEYSTRCPYA,PNAMEMINPMONEYSTRCPYB,PNAMEELSEQNEXTPIFPMONEYMAXMAXPMONEYSTRCPYA,PNAMEIFPMONEYMONEYSTRCPYB,PNAMEQPPRINTF“NTTY/N“CHGETCHWHILECHY|CHYRETURNHEADVOIDOUTPUTCLRSCRPRINTF“NTHEMAXMONEYISDTTNAMEISSNN“,MAX,APRINTF“NTHEMINMONEYISDTTNAMEISS“,MIN,BVOIDMAININPUTOUTPUTGETCH5、6、INCLUDE“STDIOH“DEFINEFSIZEOFSTUDEFINENULL0TYPEDEFSTRUCTSTUDENTINTSIDINTAVERAGESTRUCTSTUDENTNEXTSTUSTUHEADSTUCREATESTUP1,P2INTN0CHARCHHEADSTUMALLOCFHEADNEXTNULLDONPRINTF“NNPLEASEINPUTDSTUDENTMESSAGENN“,NPRINTF“TDSTUDENTSID“,NP1STUMALLOCFP1NEXTNULLSCANF“D“,PRINTF“NTDSTUDENTAVERAGE“,NSCANF“D“,IFN1HEADNEXTP1P2P1ELSEP2NEXTP1P2P1PRINTF“NNTTTCONTINUEORBACKPRESSY/N“CHGETCHWHILECHY|CHYRETURNHEADSTUSELECTSTUHEAD,INTXSTUSSHEADNEXTWHILESIFSSIDXBREAKSSNEXTRETURNSSTUINSERTSTUHEAD,INTX,INTYSTUP,R,QCLRSCRPHEADNEXTRSTUMALLOCSIZEOFSTURSIDXRAVERAGEYIFPNULL/如果插入空表/PRRNEXTNULLPRINTF“NINSERTSUCCESS“ELSEWHILEXPSID/找到插入的位置,按学号大小。(找到位置或者到了表尾都会跳出循环)/IFPNEXTNULLBREAKPPNEXTIFXSID/插到中间位置/RSIDPSIDRAVERAGEPAVERAGEPSIDXPAVERAGEYRNEXTPNEXTPNEXTRPRINTF“NINSERTSUCCESS“ELSEIFXPSID/学号不能相同/PRINTF“NERRORYOURINPUTTHISSAMESID“ELSE/插到末尾/PNEXTRRNEXTNULLPRINTF“NINSERTSUCCESS“RETURNHEADSTUGETSTUHEAD,INTN/得到位置为N的结点的指针/STUPINTIPHEADNEXTIFN0RETURNHEADELSEFORI1INEXTRETURNPSTUDELETESTUHEAD,INTSIDSTUP,QINTTEMP0,I0PHEADNEXTIFPPRINTF“NLISTISEMPTYPRESSENYKEYBACK“GETCHRETURNHEAD/表空/ELSEWHILEP/查找学号为SID的结点的指针/I/标记学号为SID的结点的位置/IFPSIDSIDTEMP1BREAK/TEMP1标记找到了/PPNEXTIFTEMP1/如果有学号为SID的结点/QGETHEAD,I1/得到SID的前一个结点的指针/QNEXTPNEXTFREEPPRINTF“NNDELETESUCESS“RETURNHEADELSE/没有找到/PRINTF“NNNOTHISDATAN“RETURNHEADVOIDPRINTSTUHEADSTUPPHEADNEXTIFPPRINTF“NLISTISEMPTYPRESSENYKEYBACK“GETCHWHILEPPRINTF“NDTD“,PSID,PAVERAGEPPNEXTMAINSTUP1,P2CHARCH1INTN,I0,J0HEADCREATEDOCLRSCRPRINTF“N1INSERT“PRINTF“N2SELECT“PRINTF“N3DELECT“PRINTF“N4PRINTLIST“PRINTF“N5EXIT“PRINTF“NCHOICE15“CH1GETCHSWITCHCH1CASE1CLRSCRPRINTF“NPLEASEINPUTINSERTSIDANDAVERAGELIKE1,1“SCANF“D,D“,HEADINSERTHEAD,I,JPRINTF“NNNPRESSENYKEYBACK“GETCHBREAKCASE2CLRSCRPRINTF“NINPUTYOUWANTTOSELETESID“SCANF“D“,P1SELECTHEAD,NIFP1PRINTF“NSIDDTAVERAGED“,P1SID,P1AVERAGEELSEPRINTF“NNOTHISDATA“PRINTF“NNNPRESSENYKEYBACK“GETCHBREAKCASE3CLRSCRPRINTF“NPLEASEINPUTYOUWANTDELETESID“SCANF“D“,HEADDELETEHEAD,NPRINTF“NNNPRESSENYKEYBACK“GETCHBREAKCASE4CLRSCRPRINTF“ALLINFORMATION“PRINTHEADPRINTF“NNNPRESSENYKEYBACK“GETCHBREAKCASE5RETURNDEFAULTPRINTF“NNYOURENTERISNOTRIGHTPRESSENYKEYBACK“GETCHWHILEN7、INCLUDEDEFINEFSIZEOFLTYPEDEFSTRUCTLISTCHARDATASTRUCTLISTNEXTLLSET_LISTLHEAD,P1,P2CHARCINTN0HEADLMALLOCFHEADNEXT0/建立链表/P1P2HEADPRINTF“NPLEASEINPUTCHARPRESSFINISH“SCANF“C“,WHILECNIFN1P1DATACELSEP1LMALLOCFP1DATACP2NEXTP1P2P1P1NEXT0SCANF“C“,P1HEADWHILEP1PRINTF“C“,P1DATAP1P1NEXTPRINTF“NNN“RETURNHEADVOIDCHANGE_LISTLHEAD1/算法P2指向最后一个元素,P1指向第一个元素。交换他们的值,P1,P2同时往中间靠拢。/LP1,P2,P3INTI,J,K,N1CHARTEMPP1HEAD1P2HEAD1P3HEAD1WHILEP3NEXTP3P3NEXTN/求链长/FORININ/2I/外循环使P1后移,P2前移。/P2HEAD1FORJ1JNEXT/P2指向最后一个元素/TEMPP1DATAP1DATAP2DATAP2DATATEMP/交换他们的值/P1P1NEXT/P1向后移/WHILEHEAD1PRINTF“C“,HEAD1DATAHEAD1HEAD1NEXTVOIDMAINLHEADHEADSET_LISTCHANGE_LISTHEADGETCH习题101答共用体使几种不同类型的值存放在同一内存区域中。例如,把一个整型值和字符值放在同一个存储区域,既能以整型存储,又能以字符存储。共用体类型的定义形式与结构体的定义形式相同,只是其类型关键字不同,共用体的关键字为UNION一般形式为UNION共用体类型名成员列表;例如UNIONDATAINTICHARCHFLOATF;2答共用体不同与结构体,某一时刻,存与共用体的只有一种数据,而结构体是所有成分都存储着的。即共用体是几种数据值的覆盖存储,几种不同类型的数据值从同一地址开始存储,但是任一时刻只能存储其中一种数据,而不是同时存储多种数据。分配给共用体的存储区域大小至少要有存储其中最大的一种数据所需要的存储空间量。3答在实际应用中,有的变量只有几种可能的取值。如表示颜色的名称,表示月份的名称等。为了提高程序描叙问题的直观性,ANSIC引入允许程序员定义枚举类型的机制。程序用枚举方法列举一组标识符作为枚举类型的值的集合。当一个变量具有这种枚举类型的时,它就能取枚举类型的标识符值。枚举类型的一般形式为ENUM枚举类型名(标识符1,标识符2,标识符3,标识符N)例如定义一个枚举类型和枚举变量如下ENUMCOLORNAMERED,YELLOW,BLUE,WHITE,BLACKENUMCOLORNAMECOLOR4(1)16(2)15(3)5(4)15答在使用标准类型定义或者说明变量时,可只写标准名指明变量数据类型。C语言也提供使用TYPEDEF定义类型,为类型定义命名的机制。用TYPEDEF定义新的类型名后,对于结构体,共用体或者枚举类型,使用他们定义或说明变量时不必说明变量时不必再冠以类型类别关键字。(1)简单的名字替换例如TYPEDEFINTINEEGER2定义一个类型名代表一个结构体类型例如TYPEDEFSTRUCTLONGNUMCHARNAME2FLOATSCORESTU3定义数组类型例如TYPEDEFINTCOUNT20COUNTA,B4定义指针类型例如TYPEDEFCHARSTRISTRIP1,P2,P106(1)0,4,5,2(2)177771,177777(3)CLANGUAGE404(4)0000000001000001习题111/C语言数据文件有几种存储形式每种存储形式个有什么特点/答在C语言使用的文件系统中,数据文件的数据存储形式有两种一种以字符形式存放,这种文件称为字符文件,也称为文本文件或者是正文文件;另外一种是以二进制代码形式存放,这种文件称为二进制文件。一般的说,二进制文件节省存储空间,并且在输入时不需要把字符代码先转化成二进制代码形式再送入内存,在输出时也不需要把数据由二进制代码转化成字符代码再输出,因而输入输出速度快。用户程序在实用中,从节省时间和空间的要求考虑,一般选用二进制文件。但是,如果用户准备的数据是作为文档使用阅读时,则一般使用字符文件,他们可以方便,快捷的通过显示器或打印机直接输出。2/打开文件,关闭文件的含义是什么为什么要打开关闭文件/答打开文件的含义要把文件使用方式写入FILE结构体变

温馨提示

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

评论

0/150

提交评论