还剩42页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
陶裱福本敢[21]以下程序的输出结果是mainD{floata;a=1/100000000;printf%ga;A
0.00000e+00B
0.0C
1.00000e-07D0【
2.2]下面程序的输出结果是B―o#includestdio.hmain{intx=10;{intx=20;printf%dx;printfn%d\nx;A1020B2010C1010D2020{intc;whilec=getchar!=\nswitchc-2{case0:putcharc+4;putcharc+4;break;putcharc+3;default:putcharc+2;break;printfH\n;A888988B668966C88898787D66898787【
2.20]下面程序的输出结果是main{intk=0;charc二A;do{switchc++{caseA:k++;break;caseB:k;caseC:k+=2;break;caseD:k=k%2;contiue;caseE:k=k+10;break;default:k=k/3;k++;}whilecC;printfk=%d\nk;Ak=lBk=2Ck=3Dk=4[
2.21]下面程序的输出结果是—main{intxi;fori=l;i=100;i++{x=i;if++x%2=0if++x%3==0if++x%7=0printfH%dx;A3981B4284C2668D2870【
2.22]下面程序的输出结果是—o#includestdio.hmain{intika
[10]p
[3];k=5;fori=0;i10;i++a[i]=i;fori=0;i3;i++p[i]=a[i*i+l];fori=0;i3;i++k+=p[i]*2;printfH%d\nk;A20B21C22D23【
2.23]假定从键盘上输入”
3.
62.4〈回车,下面程序的输出#includemath.hmain{floatxyz;scanf%f%fxy;z=x/y;whilel{iffabsz
1.0{x=y;y二z;z=x/y;elsebreak;prmtfn%f\nHy;A
1.500000B
1.600000C
2.000000D
2.400000【
2.24]下面程序的输出结果是—omain{intijx=0;fori=0;i2;i++{x++;forj=0;j-3;j++{ifj%2continue;x++;x++;printfx=%d\nHx;Ax=4Bx=8Cx=6Dx=12【
2.25]下面程序的输出结果是main{intijk=10;fori=0;i2;i++{k++;{intk=0;forj=0;j=3;j++{ifj%2continue;k++;k++;printfnk=%d\nnk;Ak=4Bk=8Ck=14Dk=18【
2.26]下面程序的输出结果是—o#includestdio.hmain{intn
[3]
[3]ij;fori=0;i3;i++forj=0;j3;j++n[i][j]=i+j;fori=0;i2;i++for=0;j2;j++n[i+l]U+l]+=n[i][j];printfn%d\nn[i][j];A14B0C6D不确定【
2.27]下面程序的输出结果是—o#includestdio.hmain{inta
[4]
[5]={l24-45-936-32784};intijn;n=9;i=n/5;j=n-i*5-l;printfa[%d][%d]=%d\nnija[i][j];A6B-3C2D不确定【
2.28]下面程序的输出结果是—ointm
[3]
[3]={⑴{2}{3};intn
[3][3{123;main{printf%d\nm[l][O]+n[O][O];/*
①*/printfH%d\nm[O][l]+n[l][O];/*
②*/A0B1C2D3A0B1C2D3【
2.29]下面程序的输出结果是—o#includestdio.h{charsl
[50]={nsomestring*}s2[]={test};printfn%s\nnstrcatsls2;Asomestring*BtestCsomestritestDsomestring*test程序的输出结果是—o#includestdio.hfchar*s{char*p=s;while*p!-\0p++;returnp-s;main{printf%d\nfnABCDEF;A3B6C8D0程序的输出结果是—#includestdio.h#includestring.hmain{charstr
[100]=Howdoyoudo;strcpystr+strlenstr/2nesshe;printf%s\nMstr;AHowdoyoudoBessheCHowareyouDHowdoesshe【
2.32]下面程序的输出结果是—#includestdio.hfuncinta.intb{intc;c=a+b;returnc;main{intx=6y=7z=8j;r=funcx-y++x+yz-;printfH%d\nr;A11B20C21D31[
2.33]下面程序的输出结果是—#includestdio.hvoidfunint*s{staticintj=0;do{s[j]+=s[j+l];}while++j2;main{intka
[10]={l2345};fork=1;k3;k++funa;fork=0;k5;k++printfn%da[k];A35756B23445C35745D12345【
2.34]下面程序的输出结果是—#includestdio.hintk=l;【
2.3】以下程序的输出结果是B_omain{unsignedintn;inti-521;n二i;printfn=%u\n”n;}〃变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理An=-521Bn=521Cn=65015Dn=102170103【
2.4】以下程序的输出结果是mainD{intx=10y=10;printf%d%d\nxy;A1010B99C910D109[
2.5]以下程序的输出结果是—Bomain{intn=l;printf%d%d%d\nnnn++n-;}//C语言在执行printf时,对函数中的表达式表列的{inti=4;funi;printf\n%d%dnik;/*
①*/funintm{m+=k;k+=m;{chark-B;printfH\n%dk-A;/*
②*/printfH\n%d%dmk;/*
③*/
①A41B56C46DABC参考答案都不对
②A1B-59C-64DABC参考答案都不对
③A566B166C56DABC参考答案都不对【
2.35]下面程序的输出结果是—o#includestdio.hfunintnint*s{intflf2;ifn=l||n=2*s=l;else{funn-1fl;funn-2f2;*s=fl+f2;main{intx;fun6x;prmtfn%d\nnx;A6B7C8D9【
2.36]下面程序的输出结果是intw=3;main{intw=10;printf%d\nfun5*w;funintk{ifk==Oreturnw;returnfunk-1*k;A360B3600C1080D1200【
2.37]下面程序的输出结果是#includestdio.hfunainta{intb=0;staticintc=3;a=c++b++;returna;main{inta=2ik;fori=0;i2;i++k=funaa++;printf%d\nk;A3B0C5D4【
2.38]下面程序的输出结果是#includestdio.hvoidnum{externintxy;inta=15b=10;x二a-b;y=a+b;intxy;main{inta=7b=5;x=a-b;y=a+b;num;printf%d%d\nxy;A122B525C112D输出不确定【
2.39]下面程序的输出结果是main{inta=2i;fori=0;i3;i++printfn%4dnfa;finta{intb=0;staticintc=3;b++;C++;returna+b+c;A777B71013C7911D789[
2.40]下面程序的输出结果是—#includestdio.htry{staticintx=3;x++;returnx;main{intix;fori=0;i=2;i++x=try;A3B4C5D6
[241]下面程序的输出结果是#includestdio.hmain{intx=l;voidflf2;fl;f2x;printf%d\nx;voidflvoid{intx=3;printf%d,x;voidf2xintx;{printfn%d”++x;A111B222C333D321【
2.42]下面程序的输出结果是#includestdio.h#defineSUBXYX*Ymain{inta=3b=4;printf%d\nSUBa++b++;A12B15C16D20【
2.43]下面程序的输出结果是main{inta口二{123456};int*p;p二a;printfn%d”*p;printfn%d”*++p;printfH%d”*++p;printfn%dn*p-;p+=3;A123354B123456C122345D123445【
2.44]下面程序的输出结果是—omain{inta
[3]
[4]={123456789101112;int*p=a;p+=6;printf”%d”*p;/*
①*1printf%d”**a+6;/*
②*/printfn%dn*a[l]+=2;/*
③*/printfn%dn*a
[0]
[0]+6;/*®*/A7777B
②句语法错误C
③句语法错误D
④句语法错误【
2.45]下面程序的输出结果是—o#defineFMTn%X\n#includestdio.hmain{staticinta[]
[4]={123456789101112};printfFMTa⑵⑵;/*
①*/printfFMT**a+l+l;/*
②*/
①A9B11CADB
②A6B7c8D前面三个参考答案均是错误的【
2.46]下面程序的输出结果是—o#includestdio.hmain{inta[]={l2345;intxy*p;p=a[O];x=*p+2;y=*p+4;printf%d%d%d\n”,*pxy;A135B123C124D145[
2.47]下面程序的输出结果是—ovoidivexnintx[]n;{intt*p;p=x+n-l;whilexp{匚*x;*x++=*p;*p-=t;return;main{intia口={1234567890};ivea10;fori=0;i10;i++printfn%da[i];printfn\n;A1234567890B0987654321C1357924680D0864297531【
2.48]下面程序的输出结果是—o#includestring.hnfunchar*wintn处理依次是从后向前,即先处理n--再处理n++最终处理nA111B101C110D121程序的输出结果是一omain{intx=0x02ffy=0x0ff00;printf%d\nxy»4|0x005f;A127B255C128D1程序的输出结果是—omain{inta=1;charc=a;floatf=
2.0;printfn%d\n!a==Of!=Oc=A;A0B1【
2.8]下面程序的输出结果是—o{chart*sl*s2;sl=w;s2=w+n-l;whilesls2{t=*sl++;*sl=*s2—;*s2=t;main{staticchar*p=1234567”;funpstrlenp;printfn%snp;A7654321B1717171C7171717D1711717【
2.49]下面程序的输出结果是#includestdio.hchar*p二nabcdefghijklmnopqn;main{inti=0;while*p++!=e;printfu%c\n*p;AcBdCeDf【
2.50]下面程序的输出结果是—o#includestdio.hfintxinty{returny-x;main{inta=5b=6c;intf*g尸f;printfn%d\n*gab;A1B2C3D前面三个参考答案均是错误的[
2.51]下面程序的输出结果是—o#includestdio.hmain{inta=l*p**pp;pp=p;p=a;a++;printf%d%d%d\nHa*p**pp;A211B212C222D程序有错误【
2.52]下面程序的输出结果是—omain{char*alpha
[7]={ABCDnEFGHn;IJKLnMN0PnnQRSTnUVWXVYZn};char**p;inti;p=alpha;fori=0;i4;i++printfn%cn*p[i];printfH\n;AAEIMBBFJNCABCDDDHLP【
2.53]下面程序的输出结果是—o#includestdio.hchar*pp
[2]
[3]={abcnndefghijklnmnopqr1nstuvw“xyz};main{printf%c\n***pp+l;/*
①*/printf%c\n”**pp⑼;/*
②*/printfn%c\n**pp+l+l
[4];/*
③*/printfn%c\nn*pp
[1]
[2]+2;/*
④*/printf%s\n”**pp+l;/*
⑤*/AaBdCiDmAaBdCiDmAhB1CqDwAkBoCuDzAijklBmnopqrCstuvwDxyz[
2.54]下面程序的输出结果是—o#includestdio.hstructstrl{charc
[5];char*s;};main{structstrlsl
[2]={{nABCDnnEFGHH}{nIJK%nLMNn}};structstr2{structstrlsr;intd;}s2={0PQHRSTn32767};structstrl*p
[2];p[O]=sl[O];p[lsl[l];printfn%sn++p[l]-s;/*
①*/printf%c”s
2.sr.c
[2];/*
②*/ALMNBMNCNDUKAOBPCQDR【
2.55]以下程序的输出结果是—ostructst{intx*y;}*p;ints[]={10203040;structsta[]={ls
[0]2s[l]3s
[2]4s
[3]};main{P=a;printf%d\n\++*++p-y;A10B11C20D21【
2.56】以下程序的输出结果是#includestdio.hmain{unionEXAMPLE{struct{intxy;}in;intab;}e;e.a=l;e.b=2;e.in.x=e.a*e.b;e.in.y=e.a+e.b;printfn%d%d\nue.in.xe.in.y;A23B44C48D88【
2.57]下面程序的输出结果是#includestdio.hmain{union{inti
[2];longk;charc
[4];}r*s=r;s-i
[0]=0x39;s-i[l]=0x38;printfn%c\nns-c[O];A39B9C38D8【
2.58]下面程序的输出是main{printf%d\nEOF;A-1B0C1D程序是错误的参考琴案答案D注释程序中除法运算的两个操作数均是整型,运算结果也是整型答案B注释C语言允许在程序块分程序中说明变量【
2.3】参考答案C注释变量i中的负号传送给变量n后,因n是无符号数,已不作为负号处理答案D注释对变量x的一一操作是后缀形式,变量x的减1操作要在执行完printf函数之后才进行,所以变量x的值在输出的时候照旧保持原值10答案B注释C语言在执行printf时,对函数中的表达式表列的处理依次是从后向前,即先处理n--再处理n++最终处理n而且每一个表达式作为一个处理单元,也就是说在不同的表达式中自增自减运算是单独考虑的答案A注释变量x和变量y做按位及,结果为0x0200右移4位为0x0020再及0x005f做按位或,最终结果为0x007f答案A注释逗号表达式的结果是用逗号分开的最终一个表达式的值,此题由于c==7V的值是0所以逗号表达式的值为0答案:B【
2.9】参考答案:A答案:C注释在输出格式描述“%01”中,m是输出总长度,n是实际字符的个数,这里m没有给出,则输出总长度就是实际输出字符的个数答案:C答案B答案C答案B答案D答案A答案:C答案:A答案:C注释在switch语句中,case本身仅起到语句标号的作用,不会变更语句的流程,执行break语句才能退出当前的switch语句答案:D注释siwtch语句的表达式中,变量C是后缀的增一运算第一次执行do-while循环时,执行caseW后面的语句答案:D答案:B答案:B注释fabs是浮点数确定值函数答案:A答案:C注释C语言允许在程序块分程序内说明变量,假如在程序块内说明的变量和程序块外的变量同名,在块外说明的变量在块内是不行见的可将此题和【
2.11]进行比较,加深理解答案:C答案:B答案
①D
②A【
2.29]参考答案D答案:B注释输出结果为字符串长度答案:D注释字符串拷贝函数strcpy要求的两个参数都是字符串首地址本题中其次个参数是字符串常量,接受这个字符串的第一个参量不是干脆给出字符数组名,而是进行了地址运算main{inta=1i=a+1;do{a++;}while!〜i++3;printfC,%d\nua;A1B2C3D4程序的输出结果是一main{inta=lll;a=aA00;printf%d%o\n”aa;A111157B00C2024D77程序的输出结果是.main{chars
[12]=abook;printfH%.4ss;后的结果由于str字符串的长度是13除2取整后是6第一个参数给出的地址是字符数组str的首地址加6也就是原来字符串中其次个空格的位置,把esshe”从该处放入,字符串str变为Howdoesshe答案:C注释main函数调用func函数时,第一个实参运用的是逗号表达式的值,也就是x+y的结果由于对变量x、y、z进行的是后缀运算,所以函数func的参数值是13和8【
2.33]参考答案:C【
2.34]参考答案
①C
②A
③C答案:C答案:B注释函数fun进行了递归调用,实际进行的运算是5x4x3x2x1x3x10主函数内说明的局部变量w屏蔽了外部变量w所以在主函数中外部变量w是不行见的,在调用printf函数时表达式fun5*w”中w的值是10答案:D注释main函数三次调用了函数funa在funa函数中的静态变量c仅在第一次调用时进行了初始化,再次调用时不再对静态变量赋初值答案:B注释main函数和num函数中都说明白变量a和b由于它们是内部变量,所以它们分别在说明它们的函数内有效外部变量x和y在函数num之后被说明,而在num函数中又要引用它们,所以在num函数中用关键字extern”说明变量x和y是一个外部变量,也就是通知计算机这两个变量在fun函数以外被说明,此处不是定义两个int型变量答案:D注释函数f中的变量c是静态变量,仅在第一次调用函数f时它被初始化为3其次次调用函数f时c的值是4第三次调用函数f时c的值是5答案:D答案:D注释程序中有三个“X”分别在三个不同的函数中,这三个“X”都是自动变量,所以三个“X”分别局部于三不同的函数,在三个函数中对“X”的操作互不影响答案:A答案:A注释:*++p和*++p者B是指针变量值前力口1第一次指向a[l]其次次指向a
[2];a+3是a
[3]的地址答案:C注释
②句没有语法错误,但是a+6指向数组之外,因为a是a
[0]的地址,a+1是a[l]的地址,a+2是a⑵的地址明显数组a没有a⑹重量
③句错误,因为a[l]是地址常量,它是a[l]⑼的地址,对于地址常量是不行以进行赋值运算的【
2.45]参考答案
①D
②A注释假如FMT定义为%x\iT则输出的16进制数据用小写字母表示答案:A注释语句,p=a[O『表示将数组a中元素a
[0]的地址赋给指针变量p则p就是指向数组首元素a
[0]的指针变量,a[0『是取数组首元素的地址对于指向数组首址的指针,p+i或a+i是数组元素a[i]的地址,*p+i或*a+i就是a[i]的值答案:B答案:D答案:D答案:A注释变量g是指向函数的指针,*gab是调用指针g所指向的函数【
2.51]参考答案:C注释p是指针,pp是指向指针的指针答案:A注释对于指向数组的指针变量可以做下标运算,p[i]和alpha[i]都是指向字符串的首地址,*p[i]取出字符串的第一个字符【
2.53]参考答案
①D
②A
③D
④D
⑤B注释PP是一个二维指针数组,PP+1指向数组的其次维,*pp+l是其次维的起始地址,**pp+l是其次维第一个元素的地址,***pp+l是其次维第一个元素的内容,所以,
①的参考答案应选D*pp+l+l是其次维其次个元素的地址,**pp+l+l是其次维其次个元素,**pp+D+D
[4]则是其次维其次个元素所指字符串下标为4的元素,即是字符w故
③应当选D【
2.54]参考答案
①B
②C答案:D答案:C注释联合体成员的取值是最终一次给成员赋的值答案:B注释整型数组i和字符数组c共用存储空间,给i赋值也等于给c赋值,所以s-c
[0]=0x39所以输出9答案A注释基本概念EOF是由C语言在头文件stdio.h中定义的,用户可以干脆运用Aabook!Babook!〈四个空格》CaboD格式描述错误,输出不确定程序的输出结果是—omain{intab;scanf%2d%3d;ab;printfa=%db=%d\nnab;Aa=12b=34Ba=123b=45Ca=12b=345D语句右错误程序段的输出结果是inta=10b=50c=30;ifaba=b;b=c;c=a;printfa=%db=%dc=%d\nabc;Aa=10b=50c=10Ba=10b=30c=10Ca=50b=30c=10Da=50b=30c=50[213]以下程序的输出结果是{inta=0b=lc=0d-20;ifad=d-10;elseif!bif!cd=15;elsed=25;printfnd=%d\nd;Ad=10Bd=15Cd=20Dd=25【
2.14]下面程序的输出结果为main{inta=lb=O;switcha{case1:switchb{case0:printf**O**;break;printf**l**;break;printf**2**;break;A**0**b**o****2**C**o****i****2**D有语法错误【
2.15】以下程序的输出结果是main{char*s=12134211;intvl=0v2=0v3=0v4=0k;fork=0;s[k];k++switchs[k]{caseT:vl++;v3++;case2:v2++;default:v4++;printfHvl=%dv2=%dv3=%dv4=%d\nHvlv2v3v4;Avl=4v2=2v3=lv4=lBvl=4v2=9v3=3v4=l【
2.16]下面程序的输出是main{intx=ly=Oa=Ob=O;switchx{case1:switchy{case0:a++;break;b++;break;a++;b++;break;printfa=%db=%d\nMab;Aa=2b=lBa=lb=lCa=lb=0Da=2b=2【
2.17]下面程序的输出是—omain{intnum=0;whilenum=2{num++;printfH%d\nnum;A1B1C1D12223[
2.18]下面程序的输出结果是—omain{inta=lb=O;do{switcha{case1:b=l;break;case2:b=2;break;default:b=0;b=a+b;}while!b;printfna=%db=%dnab;A12B21C11D22[
2.19]从键盘上输入”446755”时,下面程序的输出是#includestdio.hmain。