




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1C程序设计练习题一、单项选择题导读单项选择题要求从给出的四个备选答案中,选出一个最符合题意的答案。在完成习题的过程中,不但要选出正确的答案,而且要清楚不正确的选项错在何处,以加深对概念的理解。对于掌握不准的问题,应该通过上机实验来检验。(注选用普通整型数据占用2个字节的C编译器。如TURBOC20、WINTC、TURBOC30)【11】以下不正确的C语言标识符是_。AINTBA_1_2CAB1EXED_X【12】以下是正确的C语言标识符是_。ADEFINEB_123CDDN【13】下列四组字符串中都可以用作语言程序标识符的一组是。APRINTBIAMCPXQDSTR_L_3DONE_HALFMYBOOKCPPOODBSTARTITLINEPOWABC3PAIHISAGEWHILE【14】下面各选项组中,均是C语言关键字的组是。AAUTO,ENUM,INCLUDEBSWITCH,TYPEDEF,CONTINUECSIGNED,UNION,SCANFDIF,STRUCT,TYPE【15】下列不属于C语言关键字的是。ADEFAULTBREGISTERCENUMDEXTERNAL【16】C语言程序从MAIN函数开始执行,所以这个函数要写在_。A程序文件的开始B程序文件的最后C它所调用的函数的前面D程序文件的任何位置【17】下列关于C语言的叙述错误的是_A大写字母和小写字母的意义相同B不同类型的变量可以在一个表达式中C在赋值表达式中等号左边的变量和右边的值可以是不同类型D同一个运算符号在不同的场合可以有不同的含义【18】在C语言中,错误的INT类型长度为2字节的常数是。A32768B0C037D0XAF【19】执行语句PRINTF“X“,1INT类型长度为2字节屏幕显示_。A1B1CFFFFDFFFF【110】已知LONGI32768执行语句PRINTF“D“,I屏幕显示_。A1B32768C1D32768【111】已知LONGI65539执行语句PRINTF“D“,I屏幕显示_。A65539B3C3D程序不能执行【112】在语言中,整数8在内存中的存储形式是。2A1111111111111000B1000000000001000C0000000000001000D1111111111110111【113】语言中字符型CHAR数据在内存中的存储形式是_。A原码B补码C反码DASCII码【114】将字符G赋给字符变量C,正确的表达式是。AC147BC“147“CC147DC0147【115】下列转义字符中错误的一个是_。A000B0014CX111D2【116】将空格符赋给字符变量C,正确的赋值语句是_。AC0BCNULLCC0DC32【117】已知CHARA70则变量A中。A包含1个字符B包含2个字符C包含3个字符D说明非法【118】字符串“EOFN61“的长度是_。A8B9C14D非法字符串【119】字符串“的长度是_。A0B1C2D非法字符串【120】已知CHARAINTBFLOATCDOUBLED执行语句“CABCD“后,变量C的数据类型是。AINTBCHARCFLOATDDOUBLE【121】温度华氏和摄氏的关系是。已知FLOATC,F由华氏求摄氏的正确的3295FC赋值表达式是_。AC5/9F32BC5F32/9CC5/9F32D三个表达式都正确【122】逗号表达式“A35,A4,A15“的值是_。A15B60C30D不确定【123】如果INTA1,B2,C3,D4则条件表达式“A5A1B2C3D程序运行有错误【142】已知CHARA20“BEIJING“,“SHANGHAI“,“TIANJIN“,“CHONGQING“语句PRINTF“C“,A30的输出是_。ABNC不定D数组定义有误【143】若用数组名作为函数调用时的实参,则实际上传递给形参的是。A数组首地址B数组的第一个元素值C数组中全部元素的值D数组元素的个数【144】对二维数组的正确说明是_。AINTA1,2,3,4,5,6BINTA21,2,3,4,5,6CINTA31,2,3,4,5,6DINTA2,31,2,3,4,5,6【145】对字符数组S赋值,不合法的一个是_。ACHARS“BEIJING“BCHARS20“BEIJING“CCHARS20S“BEIJING“DCHARS20B,E,I,J,I,N,G【146】对字符数组STR赋初值,STR不能作为字符串使用的一个是_。ACHARSTR“SHANGHAI“BCHARSTR“SHANGHAI“CCHARSTR9S,H,A,N,G,H,A,IDCHARSTR8S,H,A,N,G,H,A,I【147】如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为_。A静态变量B动态变量C外部变量D内部变量【148】在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是。AEXTERNBREGISTERCAUTODSTATIC【149】在C语言中,函数的数据类型是指_。A函数返回值的数据类型B函数形参的数据类型C调用该函数时的实参的数据类型D任意指定的数据类型【150】已知如下定义的函数FUN1APRINTF“ND“,A则该函数的数据类型是_。A与参数A的类型相同BVOID型C没有返回值D无法确定【151】定义一个函数实现交换X和Y的值,并将结果正确返回。能够实现此功能的是_。ASWAPAINTX,INTYBSWAPBINTX,INTYINTTEMPINTTEMP5TEMPXXYYTEMPTEMPXXYYTEMPCSWAPCINTX,INTYDSWAPDINTX,INTYINTTEMPINTTEMPTEMPXXYYTEMPTEMPXXYYTEMP【152】求一个角的正弦函数值的平方。能够实现此功能的函数是_。ASQOFSINAFLOATXRETURNSINXSINXBDOUBLESQOFSINBFLOATXRETURNSINDOUBLEXSINDOUBLEXCDOUBLESQOFSINCXRETURNSINXSINXDSQOFSINDFLOATXRETURNDOUBLESINXSINX【153】一个函数内有数据类型说明语句如下DOUBLEX,Y,Z10关于此语句的解释,下面说法正确的是_。AZ是一个数组,它有10个元素。BZ是一个函数,小括号内的10是它的实参的值。CZ是一个变量,小括号内的10是它的初值。D语句中有错误。【154】已知函数定义如下FLOATFUN1INTX,INTYFLOATZZFLOATX/YRETURNZ主调函数中有INTA1,B0可以正确调用此函数的语句是_。APRINTF“F“,FUN1A,BBPRINTF“F“,FUN1CPRINTF“F“,FUN1A,BD调用时发生错误【155】下面函数的功能是_。VOIDACHARS1,CHARS2WHILES2S1A字符串比较B字符串复制C字符串连接D字符串反向【156】在下列结论中,只有一个是错误的,它是_。A语言允许函数的递归调用B语言中的CONTINUE语句,可以通过改变程序的结构而省略C有些递归程序是不能用非递归算法实现的DC语言中不允许在函数中再定义函数【157】说明语句“INTP“的含义是。6AP是一个指向一维数组的指针变量BP是指针变量,指向一个整型数据CP是一个指向函数的指针,该函数的返回值是一个整型D以上都不对【158】设有说明INTP4其中的标识符P是。A4个指向整型变量的指针变量B指向4个整型变量的函数指针C一个指向具有4个整型元素的一维数组的指针D具有4个指向整型变量的指针元素的一维指针数组【159】已知CHARS10,PS,则在下列语句中,错误的语句是。APS5BSPSCS2P4DPS0【160】已知CHARS100INTI则引用数组元素的错误的形式是。ASI10BSICISDSI【161】已知CHARS6,PSS则正确的赋值语句是。AS“12345“BS“12345“CPS“12345“DPS“12345“【162】已知INTA431,2,3,4,5,6,7,8,9,10,11,12INTPTR3A,PA0则以下能够正确表示数组元素A12的表达式是。AA12BP5CPTR12DPTR12【163】已知INTA1,2,3,4,5,6,7,8,9,10,11,12,PA则值为3的表达式是。AP2,PBP2,PCP2,PDP2,P【164】已知INTA1,2,3,4,Y,PA则执行语句YP之后,数组A各元素的值变为_。A0,1,3,4B1,1,3,4C1,2,2,4D1,2,3,3变量Y的值是_。A1B2C3D4【165】已知INTA1,3,5,7,Y,PA为使变量Y的值为3,下列语句正确的是_。AYPBYPCYPDYP【166】已知INTX1,3,5,7,9,11,PTRX则能够正确引用数组元素的语句是。AXBPTRCX6DPTR【167】函数的功能是交换变量X和Y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是。AVOIDFUNAINTX,INTYBVOIDFUNBINTX,INTYINTPINTTPXXYYPTXXYYTCVOIDFUNCINTX,INTYDVOIDFUNCINTX,INTYXYYXXXYYXYXXY【168】有定义如下STRUCTSKINTAFLOATBDATA,P如果P则对于结构变量DATA的成员A的正确引用是_。7A()DATAABPACPDATAADPDATAA【169】已知STRUCTSTINTNSTRUCTSTNEXTSTATICSTRUCTSTA31,如果下述语句的显示是2,则对P的赋值是_。PRINTF“D“,PNEXTNAPBPCPDP【170】已知STRUCTPERSONCHARNAME10INTAGECLASS10“LIMING“,29,“ZHANGHONG“,21,“WANGFANG“,22下述表达式中,值为72的一个是_。ACLASS0AGECLASS1AGECLASS2AGEBCLASS1NAME5CPERSON1NAME5DCLASENAME5【171】已知STRUCTINTICHARCFLOATATEST则SIZEOFTEST的值是。A4B5C6D7【172】已知UNIONINTICHARCFLOATATEST则SIZEOFTEST的值是。A4B5C6D7【173】已知UNIONU_TYPEINTICHARCHFLOATATEMP现在执行“TEMPI266PRINTF“D“,TEMPCH“的结果是。A266B256C10D1【174】若有以下程序段8STRUCTDENTINTNINTMINTA1,B2,C3STRUCTDENTS3101,STRUCTDENTPS则以下表达式中值为2的是。APMBPMCPMDPM【175】若有以下说明语句,则对结构变量PUP中SEX域的正确引用是。STRUCTPUPILCHARNAME20INTSEXPUP,PPAPPUPSEXBPPUPSEXCPPUPSEXDPSEX【176】以下对结构变量STUL中成员AGE的非法引用是。STRUCTSTUDENTINTAGEINTNUMSTU1,PPASTU1AGEBSTUDENTAGECPAGEDPAGE【177】若有以下定义和语句UNIONDATAINTICHARCFLOATFAINTN则以下语句正确的是。AA5BA2,A,12CPRINTF“DN“,AIDNA【178】已知ENUMWEEKSUN,MON,TUE,WED,THU,FRI,SATDAY则正确的赋值语句是_。ASUN0BSANDAYCSUNMONDDAYSUN【179】已知ENUMCOLORRED,YELLOW2,BLUE,WHITE,BLACKREN执行下述语句的输出结果是_。PRINTF“D“,RENWHITEA0B1C3D4【180】下述关于枚举类型名的定义中,正确的是_。AENEMAONE,TWO,THREEBENEMAONE9,TWO1,THREECENEMA“ONE“,“TWO“,“THREE“DENEMA“ONE“,“TWO“,“THREE“【181】已知宏定义DEFINEN3DEFINEYNN1N执行语句Z2NY51后,变量Z的值是_。A42B48C52D出错9【182】已知宏定义DEFINESQXXX,执行语句PRINTF“D“,10/SQ3后的输出结果是_。A1B3C9D10【183】已知宏定义如下DEFINEPRPRINTFDEFINENL“N“DEFINED“D“DEFINED1DNL若程序中的语句是PRD1,A经预处理后展开为_。APRINTFDN,ABPRINTF“DN“,ACPRINTF“D“N“,AD原语句错误【单项选择题参考答案】【11】答案A注释INT是C语言的关键字【12】答案B【13】答案A【14】答案B注释INCLUDE是预处理命令SCANF是函数名TYPE不是C语言的关键字。【15】答案D【16】答案D【17】答案A【18】答案A注释INT型表示整数的范围是3276832767。【19】答案D注释整型常量1在计算机中表示为补码1111111111111111,用十六进制显示这个数时,最左边的1不会被解释为符号位,而是与右边其它位共同转换为十六进制数。【110】答案B注释长整型数32768在计算机内的表示是1000000000000000,以一般整型进行输出时,此数恰是32768的补码。【111】答案C注释长整型数65539在计算机内的表示是00010000000000000011,以一般整型进行输出时,仅将右侧16位二进制数转换为十进制数。【112】答案A注释C语言中,INT型的负数是采用补码表示的。【113】答案D【114】答案C注释变量C是字符型,可用字符常量为它赋值。字符常量必须用单引号括起来,所以B是错误的在单引号或双引号内的反斜线用于表示转义字符,A选项在无引号时使用反斜线是错误的C选项单引号内出现反斜线表示它与后面的数字组成一个转义字符单引号只允许括起一个字符,D选项在单引号内出现4个字符,是错误的。【115】答案C【116】答案D注释空字符和空格符是不同的两个字符,空格符的ASCII码值是32,空字符的ASCII值是0。【117】答案A10【118】答案B【119】答案A【120】答案C【121】答案B注释单纯从C语言语法来说,选项B、C都是正确的,但是选项C中第一个运算的两个对象都是整型常数,其结果也是整型数0,最后的运算结果也就是0了。【122】答案C【123】答案A注释将条件表达式增加一个括号,此式变为ANEXT是A0的地址,引用其成员N再做前增1运算,结果就是2。【170】答案B【171】答案D【172】答案A【173】答案C注释联合变量TEMP的成员是占用同一存储单元,它的长度是4个字节。266的二进制表示是100001010,存放在存储单元的低端两个字节,如下图高字节00000001低字节00001010引用TEMPCH进行输出,只取最低的第一个字节。【174】答案D注释由于结构指针指向了结构数组的0号元素,所以表达式PM的含义是先取出M(变量A的地址),然后指针P加1。表达式PM的含义是先取出M的内容(变量A的值),然后指针P再加1。表达式PM的含义是取出M(变量A的地址)。表达式PM的含义是先将指针P加1,然后再取M的内容(变量B的值)。【175】答案D【176】答案B【177】答案C【178】答案D【179】答案D【180】答案B【181】答案B注释语句Z2NY51引用了两个宏定义。C语言是区分字母大小的,第二个宏定义中的N直接用3替换,用51替换N,则有Z233151结果是48。注意对于带参数的宏亦是直接的文本替换,此例中N用51去替换,结果是(N1)51,而不是N151。【182】答案C注释宏替换后的结果是PRINTF“D“,10/33。【183】答案C二、阅读程序题导读学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。程序设计13语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。【21】以下程序的输出结果是。INCLUDEVOIDMAINFLOATAA1/100000000PRINTF“G“,AA000000E00B00C100000E07D0【22】下面程序的输出结果是_。INCLUDEVOIDMAININTX10INTX20PRINTF“D,“,XPRINTF“DN“,XA10,20B20,10C10,10D20,20【23】以下程序的输出结果是_。INCLUDEVOIDMAINUNSIGNEDINTNINTI521NIPRINTF“NUN“,NAN521BN521CN65015DN102170103【24】以下程序的输出结果是。INCLUDEVOIDMAININTX10,Y10PRINTF“DDN“,X,YA1010B99C910D109【25】以下程序的输出结果是_。INCLUDEVOIDMAININTN1PRINTF“DDDN“,N,N,NA111B101C110D121【26】以下程序的输出结果是_。INCLUDEVOIDMAININTA1CHARCA14FLOATF20PRINTF“DN“,A0,F0A0B1【27】下面程序的输出结果是_。INCLUDEVOIDMAINCHARS12“ABOOK“PRINTF“4S“,SAABOOKBABOOKVOIDMAININTA,BSCANF“2D3D“,PRINTF“ADBDN“,A,BAA12B34BA123B45CA12B345D语句有错误【29】以下程序段的输出结果是。INTA10,B50,C30IFABABBCCAPRINTF“ADBDCDN“,A,B,CAA10B50C10BA10B30C10CA50B30C10DA50B30C50【210】以下程序的输出结果是。INCLUDEVOIDMAININTA0,B1,C0,D20IFADD10ELSEIFBIFCD15ELSED25PRINTF“DDN“,DAD10BD15CD20DD25【211】下面程序的输出结果为。INCLUDEVOIDMAININTA1,B0SWITCHACASE1SWITCHBCASE0PRINTF“0“BREAK15CASE1PRINTF“1“BREAKCASE2PRINTF“2“BREAKA0B02C012D有语法错误【212】以下程序的输出结果是。INCLUDEVOIDMAINCHARS“12134211“INTV10,V20,V30,V40,KFORK0SKKSWITCHSKCASE1V1CASE3V3CASE2V2DEFAULTV4PRINTF“V1D,V2D,V3D,V4DN“,V1,V2,V3,V4AV14,V22,V31,V41BV14,V29,V33,V41CV15,V28,V36,V41DV14,V27,V35,V48【213】下面程序的输出是。INCLUDEVOIDMAININTX1,Y0,A0,B0SWITCHXCASE1SWITCHYCASE0ABREAKCASE1BBREAKCASE2ABBREAKPRINTF“AD,BDN“,A,BAA2,B1BA1,B1CA1,B0DA2,B2【214】下面程序的输出是_。INCLUDEVOIDMAININTNUM0WHILENUMVOIDMAININTA1,B0DOSWITCHACASE1B1BREAKCASE2B2BREAKDEFAULTB0BABWHILEBPRINTF“AD,BD“,A,BA1,2B2,1C1,1D2,2【216】从键盘上输入“446755“时,下面程序的输出是_。INCLUDEVOIDMAININTCWHILECGETCHARNSWITCHC2CASE0CASE1PUTCHARC4CASE2PUTCHARC4BREAKCASE3PUTCHARC3DEFAULTPUTCHARC2BREAKPRINTF“N“A888988B668966C88898787D66898787【217】下面程序的输出结果是_。INCLUDEVOIDMAININTK0CHARCADOSWITCHCCASEAKBREAKCASEBKCASECK2BREAKCASEDKK2CONTIUECASEEKK10BREAKDEFAULTKK/3K17WHILECVOIDMAININTX,IFORI1IVOIDMAININTI,K,A10,P3K5FORI0I“,下面程序的输出是_。INCLUDEINCLUDEVOIDMAINFLOATX,Y,ZSCANF“F,F“,ZX/YWHILE1IFFABSZ10XYYZZX/YELSEBREAK18PRINTF“FN“,YA1500000B1600000C2000000D2400000【221】下面程序的输出结果是_。INCLUDEVOIDMAININTI,J,X0FORI0IVOIDMAININTI,J,K10FORI0IVOIDMAININTN33,I,JFORI0IVOIDMAININTA451,2,4,4,5,9,3,6,3,2,7,8,4INTI,J,NN9IN/5JNI51PRINTF“ADDDN“,I,J,AIJA6B3C2D不确定【225】下面程序的输出结果是_。INCLUDEINTM331,2,3INTN331,2,3VOIDMAINPRINTF“DN“,M10N00/PRINTF“DN“,M01N10/A0B1C2D3A0B1C2D3【226】下面程序的输出结果是_。INCLUDEVOIDMAINCHARS150“SOMESTRING“,S2“TEST“PRINTF“SN“,STRCATS1,S2ASOMESTRINGBTESTCSOMESTRITESTDSOMESTRINGTEST【227】下面程序的输出结果是_。INCLUDEINTFCHARSCHARPSWHILEP0PRETURNPSVOIDMAINPRINTF“DN“,F“ABCDEF“20A3B6C8D0【228】下面程序的输出结果是_。INCLUDEINCLUDEVOIDMAINCHARSTR100“HOWDOYOUDO“STRCPYSTRSTRLENSTR/2,“ESSHE“PRINTF“SN“,STRAHOWDOYOUDOBESSHECHOWAREYOUDHOWDOESSHE【229】下面程序的输出结果是_。INCLUDEINTFUNCINTA,INTBINTCCABRETURNCVOIDMAININTX6,Y7,Z8,RRFUNCX,Y,XY,ZPRINTF“DN“,RA11B20C21D31【230】下面程序的输出结果是_。INCLUDEVOIDFUNINTSSTATICINTJ0DOSJSJ1WHILEJINTK1VOIDMAINVOIDFUNINTINTI421FUNIPRINTF“ND,D“,I,K/VOIDFUNINTMMKKMCHARKBPRINTF“ND“,KA/PRINTF“ND,D“,M,K/A4,1B5,6C4,6DA,B,C参考答案都不对A1B59C64DA,B,C参考答案都不对A5,66B1,66C5,6DA,B,C参考答案都不对【232】下面程序的输出结果是_。INTW3INCLUDEVOIDMAININTFUNINTINTW10PRINTF“DN“,FUN5WINTFUNINTKIFK0RETURNWRETURNFUNK1KA360B3600C1080D1200【233】下面程序的输出结果是_。INCLUDEINTFUNAINTAINTB0STATICINTC3AC,BRETURNAVOIDMAININTA2,I,KFORI0IVOIDNUMEXTERNINTX,Y22INTA15,B10XABYABINTX,YVOIDMAININTA7,B5XABYABNUMPRINTF“D,DN“,X,YA12,2B5,25C1,12D输出不确定【235】下面程序的输出结果是_。INCLUDEVOIDMAININTFINTINTA2,IFORI0IINTTRYSTATICINTX3XRETURNXVOIDMAININTI,XFORI0IVOIDMAIN23VOIDF1,F2INTINTX1F1F2XPRINTF“DN“,XVOIDF1INTX3PRINTF“D“,XVOIDF2INTXPRINTF“D“,XA111B222C333D321【238】下面程序的输出结果是_。INCLUDEDEFINESUBX,YXYVOIDMAININTA3,B4PRINTF“DN“,SUBA,BA12B15C16D20【239】下面程序的输出结果是_。INCLUDEVOIDMAININTA1,2,3,4,5,6INTPPAPRINTF“D“,PPRINTF“D“,PPRINTF“D“,PPRINTF“D“,PP3PRINTF“DD“,P,A3A123354B123456C122345D123445【240】下面程序的输出结果是_。DEFINEFMT“XN“INCLUDEVOIDMAINSTATICINTA41,2,3,4,5,6,7,8,9,10,11,12PRINTFFMT,A22/PRINTFFMT,A11/A9B11CADBA6B7C8D前面三个参考答案均是错误的24【241】下面程序的输出结果是_。INCLUDEMAININTA1,2,3,4,5INTX,Y,PPXP2YP4PRINTF“D,D,DN“,P,X,YA1,3,5B1,2,3C1,2,4D1,4,5【242】下面程序的输出结果是_。INCLUDEVOIDIVEINTX,NINTT,PPXN1WHILEXINCLUDE“STRINGH“FUNCHARW,INTNCHART,S1,S2S1WS2WN1WHILES1CHARP“ABCDEFGHIJKLMNOPQ“VOIDMAININTI0WHILEPEPRINTF“CN“,PACBDCEDF【245】下面程序的输出结果是_。INCLUDEINTFINTX,INTYRETURNYXVOIDMAININTA5,B6,CINTGINT,INTFPRINTF“DN“,GA,BA1B2C3D前面三个参考答案均是错误的【246】下面程序的输出结果是_。INCLUDEVOIDMAININTA1,P,PPPPPAPRINTF“D,D,DN“,A,P,PPA2,1,1B2,1,2C2,2,2D程序有错误【247】下面程序的输出结果是_。INCLUDEVOIDMAINCHARALPHA7“ABCD“,“EFGH“,“IJKL“,“MNOP“,“QRST“,“UVWX“,“YZ“CHARPINTIPALPHAFORI0ICHARPP23“ABC“,“DEFGH“,“IJKL“,“MNOPQR“,“STUVW“,“XYZ“MAINPRINTF“CN“,PP1/PRINTF“CN“,PP0/PRINTF“CN“,PP114/PRINTF“CN“,PP122/PRINTF“SN“,PP1/AABDCIDMAABDCIDMAHBLCQDWAKBOCUDZAIJKLBMNOPQRCSTUVWDXYZ【249】下面程序的输出结果是_。INCLUDESTRUCTSTR1CHARC5CHARSVOIDMAINSTRUCTSTR1S12“ABCD“EFGH“,“IJK“,“LMN“STRUCTSTR2STRUCTSTR1SRINTDS2“OPQ“,“RST“,32767STRUCTSTR1P2P0P1PRINTF“S“,P1S/PRINTF“C“,S2SRC2/ALMNBMNCNDIJKAOBPCQDR【250】以下程序的输出结果是_。INCLUDESTRUCTSTINTX,YPINTS10,20,30,40STRUCTSTA1,VOIDMAINPA27PRINTF“DN“,PYA10B11C20D21【阅读程序题参考答案】【21】参考答案D注释程序中除法运算的两个操作数均是整型,运算结果也是整型。【22】参考答案B注释C语言允许在程序块分程序中说明变量。【23】参考答案C注释变量I中的负号传送给变量N后,因N是无符号数,已不作为负号处理。【24】参考答案D注释对变量X的操作是后缀形式,变量X的减1操作要在执行完PRINTF函数之后才进行,所以变量X的值在输出的时候仍然保持原值10。【25】参考答案B注释C语言在执行PRINTF时,对函数中的表达式表列的处理顺序是从后向前,即先处理N,再处理N,最后处理N,而且每一个表达式作为一个处理单元,也就是说在不同的表达式中自增自减运算是单独考虑的。【26】参考答案A注释逗号表达式的结果是用逗号分开的最后一个表达式的值,此题由于CA的值是0,所以逗号表达式的值为0。【27】参考答案C注释在输出格式描述“MNS“中,M是输出总长度,N是实际字符的个数,这里M没有给出,则输出总长度就是实际输出字符的个数。【28】参考答案C【29】参考答案B【210】参考答案C【211】参考答案B【212】参考答案D【213】参考答案A【214】参考答案C【215】参考答案A【216】参考答案C注释在SWITCH语句中,CASE本身仅起到语句标号的作用,不会改变语句的流程,执行BREAK语句才能退出当前的SWITCH语句。【217】参考答案D注释SIWTCH语句的表达式中,变量C是后缀的增一运算,第一次执行DOWHILE循环时,执行CASEA后面的语句。【218】参考答案D【219】参考答案B【220】参考答案B注释FABS是浮点数绝对值函数。【221】参考答案A【222】参考答案C注释C语言允许在程序块(分程序)内说明变量,如果在程序块内说明的变量和程序块外的28变量同名,在块外说明的变量在块内是不可见的。可将此题和【211】进行比较,加深理解。【223】参考答案C【224】参考答案B【225】参考答案DA【226】参考答案D【227】参考答案B注释输出结果为字符串长度。【228】参考答案D注释字符串拷贝函数STRCPY要求的两个参数都是字符串首地址。本题中第二个参数是字符串常量,接受这个字符串的第一个参量不是直接给出字符数组名,而是进行了地址运算后的结果。由于STR字符串的长度是13,除2取整后是6,第一个参数给出的地址是字符数组STR的首地址加6,也就是原来字符串中第二个空格的位置,把“ESSHE“从该处放入,字符串STR变为“HOWDOESSHE“。【229】参考答案C注释MAIN函数调用FUNC函数时,第一个实参使用的是逗号表达式的值,也就是XY的结果。由于对变量X、Y、Z进行的是后缀运算,所以函数FUNC的参数值是13和8。【230】参考答案C【231】参考答案CAC【232】参考答案B注释函数FUN进行了递归调用,实际进行的运算是54321310。主函数内说明的局部变量W屏蔽了外部变量W,所以在主函数中外部变量W是不可见的,在调用PRINTF函数时表达式“FUN5W“中W的值是10。【233】参考答案D注释MAIN函数三次调用了函数FUNA,在FUNA函数中的静态变量C仅在第一次调用时进行了初始化,再次调用时不再对静态变量赋初值。【234】参考答案B注释MAIN函数和NUM函数中都说明了变量A和B,由于它们是内部变量,所以它们分别在说明它们的函数内有效。外部变量X和Y在函数NUM之后被说明,而在NUM函数中又要引用它们,所以在NUM函数中用关键字“EXTERN“说明变量X和Y是一个外部变量,也就是通知计算机这两个变量在FUN函数以外被说明,此处不是定义两个INT型变量。【235】参考答案D注释函数F中的变量C是静态变量,仅在第一次调用函数F时它被初始化为3,第二次调用函数F时C的值是4,第三次调用函数F时C的值是5。【236】参考答案D【237】参考答案D注释程序中有三个“X“分别在三个不同的函数中,这三个“X“都是自动变量,所以三个“X“分别局部于三不同的函数,在三个函数中对“X“的操作互不影响。【238】参考答案A【239】参考答案A注释P和P都是指针变量值前加1,第一次指向A1,第二次指向A2A3是A3的地址。【240】参考答案DA注释如果FMT定义为“XN“,则输出的16进制数据用小写字母表示。【241】参考答案A注释语句“PLONGIFORI1IVOIDFINDMININTS,INTT,INTKINTPFORP0,KPPVOIDMAINFLOATX,AMAX,AMINSCANF“F“,AMAXXAMINXWHILEIFXAMAXAMAXXIFAMINXSCANF“F“,31PRINTF“NAMAXFNAMINFN“,AMAX,AMIN【36】下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。INCLUDEVOIDMAININTN,K1,S0,MFORN1NSPRINTF“D“,N【37】下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。INCLUDEVOIDMAININTI,J,K,COUNT0FORI1IVOIDMAININTI,JFORI0IJI106IFCOUNTINUEPRINTF“D“,J【39】下面程序的功能是用辗转相除法求两个正整数M和N的最大公约数。INTHCFINTM,INTNINTRIFMVOIDMAININTI,JPRINTF“INPUT10NUMBERSPLEASEN“FORI0ISCANF“F“,PRINTF“N“FORI2IFORJ0JIFXAJAJ1XPRINTF“THESORTED10NUMBERSN“FORI0IIFPRINTF“N“PRINTF“FT“,AIPRINTF“N“【311】下面程序的功能是读入20个整数,统计非负数个数,并计算非负数之和。INCLUDEVOIDMAININTI,A20,S,COUNTSCOUNT0FORI0IVOIDMAINCHARS“BEIJINGLIGONGDAXUE“INTI,JFORIJ0SI0IIFSIELSESJ0PRINTF“S“,S【313】下面程序的功能是将字符串S中所有的字符C删除。请选择填空。INCLUDEVOIDMAINCHARS80INTI,JGETSSFORIJ0SI0IIFSICSJ0PUTSS【314】下面程序的功能是输出两个字符串中对应相等的字符。请选择填空。INCLUDECHARX“PROGRAMMING“CHARY“FORTRAN“VOIDMAININTI0WHILEXI0ELSEI【315】下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如输入的两个字符串分别为“ABCDEFG“和“ABCEEF“,则输出为1。INCLUDE34VOIDMAINCHARSTR1100,STR2100,CINTI,SPRINTF“ENTERSTRING1“GETSSTR1PRINTF“ENTERSTRING2“GETSSTR2I0WHILESTR1ISTR2ISPRINTF“DN“,S【316】下面程序的功能是显示具有N个元素的数组S中的最大元素。INCLUDEDEFINEN20VOIDMAININTI,ANINTFMAXINTS,INTN;FORI0ISKRETURNK【317】以下程序是计算学生的年龄。已知第一位最小的学生年龄为10岁,其余学生的年龄一个比一个大2岁,求第5个学生的年龄。INCLUDEINTAGEINTNINTCIFN1C10ELSECRETURNCVOIDMAININTN5PRINTF“AGEDN“,【318】下面的函数SUMINTN完成计算1N的累加和。INTSUMINTNIFNVOIDMAININTNVOIDRINTM;PRINTF“INPUTN“SCANF“D“,RNPRINTF“N“VOIDRINTMPRINTF“D“,MIF【322】下面程序的功能是实现数组元素中值的逆转。INCLUDEINCLUDEVOIDMAININTI,N10,A101,2,3,4,5,6,7,8,9,10VOIDINVERTINTS,INTNUM;INVERTA,N1FORI0IVOIDMAINCHARSTR81,SPTRINTIFORI0ISTRUCTSTUINFCHARNAME20/学生姓名/INTSCORE/学生成绩/STU,PVOIDMAINPPRINTF“ENTERNAME“GETSPRINTF“ENTERSCORE“SCANF“D“,PRINTF“OUTPUTS,DN“,【325】以下程序的功能是读入一行字符如A、Y、Z,按输入时的逆序建立一个链接式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。INCLUDEVOIDMAINSTRUCTNODECHARINFOSTRUCTNODELINKTOP,PCHARC37TOPNULLWHILECGETCHARPSTRUCTNODEMALLOCSIZEOFSTRUCTNODEPINFOCPLINKTOPTOPPWHILETOPTOPTOPLINKPUTCHARPINFOFREEP【程序填空题参考答案】【31】答案10/FLOATIISQRT6S【32】答案KP【34】答案TTITT011【34】答案D1KK0X0MM/10【37】答案IJKISUMN1当N1时SUMNSUNN1N当N1时根据此递归定义,可以很容易完成程序。【319】答案RETURN1NFACTON1注释我们熟悉的求N的算法一般是采用循环语句实现,但在此程序中根本没有循环语句。这时我们应该想到是采用递归算法实现的。首先写出求N的递归公式N1当N1时NNN1当N1时根据此递归定义,可以很容易完成程序。【320】答案STR01STRLENSTR1注释求串长算法的关键是确定串结束标记0的位置。根据求串长的方法,可以得到如下递归算法指针STR指向字符串的首字符如果当前字符(STR)串结束标记0则串长0否则串长1除第一个字符之外的剩余字符串的串长因此,在的位置上应当填写“STR0“,以判断当前字符(STR)是否是串结束标记0。在的位置应当是根据上面的递归算法进行递归调用,因此应当填写“1STRLENSTR1“。【321】答案否则,表达式不成立(即值为0),YEAR为平年。【43】输入N值,输出如图所示高为N的等腰三角形。【44】编写程序,输出如图所示上三角形式的乘法九九表。【45】编写程序求出555555的约数中最大的三位数是多少。【46】编写程序计算下列序列的值40要求最后一项小于0001时、或者当N20时尚未达到精度要求,则停止计算。【47】输入一个正整数,要求以相反的顺序输出该数。例如输入12345,输出位54321。【48】100匹马驮100担货,大马一匹驮担,中马一匹驮担,小马两匹驮担。试编写程序计算大、中、小马的数目。【49】显示200以内的完全平方数和它们的个数。(完全平方数A2B2C2,求A、B、C)【410】请验证2000以内的哥德巴赫猜想,对于任何大于4的偶数均可以分解为两个素数之和。【411】输入55的数组,编写程序实现1求出对角线上各元素的和2求出对角线上行、列下标均为偶数的各元素的积3找出对角线上其值最大的元素和它在数组中的位置。【412】求这样一个三位数,该三位数等于其每位数字的阶乘之和。即ABCABC【413】找出一个二维数组中的鞍点,即该位置上的元素是该行上的最大值,是该列上的最小值。二维数组也可能没有鞍点。【414】编写程序,读入一个以符号“结束的长度小于20字节的英文句子,检查其是否为回文(即正读和反读都是一样的,不考虑空格和标点符号)。例如读入句子MADAMIMADAM它是回文,所以输出YES读入句子ABCDBA它不是回文,所以输出NO【415】编写函数,通过指针将一个字符串反向。41【416】编写程序,输入字符串,分别统计字符串中所包含的各个不同的字符及其各自字符的数量。如输入字符串ABCEDABCDCD则输出A2B2C3D3E1。【417】利用结构STRUCTCOMPLXINTREALINTIM编写求两个复数之积的函数CMULT,并利用该函数求下列复数之积34I56I1020I3040I【418】编写成绩排序程序。按学生的序号输入学生的成绩,按照分数由高到低的顺序输出学生的名次、该名次的分数、相同名次的人数和学号同名次的学号输出在同一行中,一行最多输出10个学号。【编写程序题参考答案】【41】参考答案INCLUDEVOIDMAININTYEARFLOATMONEY,RATE,TOTAL/MONEY本金RATE月利率TOTAL本利合计/PRINTF“INPUTMONEYANDYEAR“SCANF“FD“,/输入本金和存款年限/IFYEAR1RATE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工企业竞选班长课件
- 农业安全培训课件
- 农业固定资产投资课件
- 初级网络安全培训课程课件
- 4.“笔墨绘山河・童心映祖国”-2025年国庆节绘画比赛评比细则
- 内训课件审核标准
- 化学实验室安全培训讲座课件
- 8 灯光+公开课一等奖创新教学设计
- 13《桥》第1课时 +公开课一等奖创新教学设计+学习单+作业
- 统编版六年级上册第三单元《语文园地三》+公开课一等奖创新教学设计+学习单+作业
- 养老护理员中级考试题库2025年(附答案)
- 2024年河北石家庄交通投资发展集团有限责任公司招聘考试真题
- 公安援疆工作总结
- 湖南省益阳市2026届高三9月教学质量监测数学试题(含答案)
- 第8课《网络新世界》第一课时-统编版《道德与法治》四年级上册教学课件
- 2025秋人教版美术七年级第一单元 峥嵘岁月第1课 情感表达2
- 装饰工程拆除施工方案(3篇)
- 2025至2030年中国车载摄像头行业市场调研及投资战略规划建议报告
- 2025年招聘市场年中洞察报告-瀚纳仕
- 2025年大学生英语六级必考词汇表全部汇编(带音标)
- DL∕T 1867-2018 电力需求响应信息交换规范
评论
0/150
提交评论