高级语言程序设计练习题3及答案.docx
一、单选题1、以下不正确的语句是。A.charcl='172',345'B.charc2=,×107xa,×8,;C.inty5=0zl,3z57,9);D.doublex5=2,0,10.0;正确答案:C解析:C、初始化数据数量多于数组长度2、若有说明:inta;则对a数组元素的非法引用是一A.a04B.a4-20C.aO2*lDal3正确答案:A3、以下能对二维数组a进行正确初始化的语句是A.inta4=l,2,3,4,5,6);BintaH2=L2,3,4,5,6;Cinta211=l,0,l,5,2,3;D.inta23=l,O,l,l,l,l;正确答案:A4、若二维数组a有m歹U,则在aij前的元素个数为A.i*m+jB.i*m+j+lC.j*m+iD.i*m+j-l正确答案:A5、若有语句:inta113=L2,3,4,5,6,7,8;则a数组的行数是A.1B.4C.3D.2正确答案:B6、定义如下变量和数组:intk;inta33=l,2,3A5,6z7,8,9);则下面语句的输出结果是Ofor(k=0;k<3;k+)printf("%d"zak2-k);A.357B.147C.159D.369正确答案:A7、下面程序的运行结果是一main()(inta6J;for(i=l;i<6;i+)ai=9*(i-2+4*(i>3)%5;printf("%2d",ai);)A.-40440B.-40403C.-40404D.-40443正确答案:D8、下面程序的运行结果是一main()(inta66,ij;for(i=l;i<6;i+)for(j=l;j<6;j+)aij=(ij)*(ji);for(i=l;i<6;i+)for(j=l;j<6;j+)printf("%2d",aij);printf("n");)A.10001OlOlOOOlOOOlOlO100OlB.l1111milmilmilmuc.ooooOlOOOOOlOOOOOlOOOOOlD.OOOO1OOOlO001000100010000正确答案:C9、下面程序的运行结果是O#include,stdio.h"#include"string.h"main()chara80=>,AB",b80="LMNP"inti=0;strcat(a,b);while(ai+!=,0')bi=ai;puts(b);)A.LBLMNPB.ABLMNPC.LBD.AB正确答案:A10、下面程序段的运行结果是charx5='a','b','0','c,'0'printf("%s"zx);A.,a"b,B.abC.abcD.abc正确答案:B11、执行下面的程序段后,输出结果为多少chara=,2,z,3,zb10=,l,2','3'printf(',%d,%dn'sizeof(a),sizeof(b);A.3,3B.4,4C.3,10D.4z10正确答案:C12、以下程序intmain()(charwords30="Hi"'NEU",C'7'Programming"inti=0;for(i=l;i<=3;i+)printf("%s",wordsi);return0;A-HiNEUCProgrammingB.HiNEUCC.NECD.NEUCProgramming正确答案:D13、如下程序的输出结果是intmain()(inta10=l,2z2z33A5,6z7JJ;intk=3;for(i=0;i<10;i+)(if(ai=k)for(j=i;j<9;j+)aj=aj+l;printf("%d,a5);returnO;)A.4B.5C.6D.7正确答案:B14、如下程序的输出结果是intmain()(inta10=lz2,33A5,6z7,8Jj;intk=3;for(i=0;i<10;i+)(if(ai=k)for(j=i;j<9;j+)aj+l=aj;)printf("%d"za5);A.5B.4C.6D.3正确答案:D15、如下程序的输出结果是intmain()(charbooks20="English,"Math"'Physica,;intij;for(i=0;i<3;i+)(for(j=0;booksij!=O;j+)if(booksi0<booksij)booksi0=booksij;)printf("%c),books00);return0;A.EB.hC.sD.n正确答案:C16、以下关于return语句的叙述中正确的是A.一个自定义函数中可以根据不同情况设置多条return语句B.没有return语句的自定义函数在执行结束时不能返回到调用处C.定义成void类型的函数中可以有带返回值的return语句D.一个自定义函数中必须有一条return语句正确答案:A17、函数求sum(intn)的功能是计算自然数1到n的和,即l+2+.+n0voidmain()(printf("Thesum=%dn",sum(10);intsum(intn)(ints=0,i;for(i=0;i<=n;i+)A.returns+=i;B.returns;C.s=s+i;returns;D.s=s+n;returns;正确答案:C18、一个C程序的执行是从A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序文件的第一个函数开始,到本程序main函数结束D.本程序的main函数开始,到本程序文件的最后一个函数结束正确答案:A19、设函数fun的定义形式为:fun(charch,floatx)略则以下对函数fun的调用语句中正确的是oA.t=fun('D',5)B.fun("abc",3)C.fun(,ab',3)D.fun('78',l)正确答案:A20、若程序中定义了以下函数doublemyadd(doublea,doubleb)return(a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行声明,以下选项中错误的声明语句是A.doublemyadd(doublea,b);B.doublemyadd(doublex,doubley);C.doublemyadd(doublebzdoublea);.doublemyadd(double,double);正确答案:A21、C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是A.floatB.doubleC.intD.long正确答案:C22、以下程序段结果是intfl(int×)(intz=3=0;y+;z+;return(x+y+z);voidmain()(inta=lzk;for(k=0;k<3;k+)printf("%4d',fl(k);A.6810B.666C.7911D.567正确答案:D23、有以下程序intf(inta)(returna%2;)main()ints8=l,3,5,2A6,izd=0;for(i=O;f(si);i+)d+=si;printf("%dn",d);程序运行后的输出结果是A.9B.11C.19D.21正确答案:A24、有以下函数定义:voidfun(intn,doublex)若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是A.voidfun(n,x);B.fun(10,12.5);C.fun(intyzdoublem);D.fun(xjun(l,2);正确答案:B25、有以下程序intswap(intajntb)intt=a;a=b;b=t;returnt;voidmain()(intt=0;t=swap(swap(3,5),6);printf("%dn",t);)程序运行后的输出结果是A.5B.6C.3D.0正确答案:C26、下面关于局部变量的描述中,错误的是A.不同的函数中不能定义相同名称的局部变量B.局部变量的名称不能和函数同名称C.函数的局部变量的有效范围只能在本函数D.函数的形式参数也是局部变量正确答案:A27、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为A.静态B.寄存器C.外部D.自动正确答案:D28、一个C程序的执行是从A.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B.本程序的main函数开始,到main函数结束C.本程序文件的第一个函数开始,到本程序main函数结束D.本程序的main函数开始,到本程序文件的最后一个函数结束正确答案:B29、设函数fun的定义形式为:fun(charch,floatx).则以下对函数fun的调用语句中正确的是oA.fun("abc",3)B.fun('78',l)C.t=fun('D,z5)D.fun('ab',3)正确答案:C30、若程序中定义了以下函数doublemyadd(doublea,doubleb)return(a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行声明,以下选项中错误的函数声明是A.doublemyadd(doublebzdoublea);B.doublemyadd(double,double);C.doublemyadd(double×zdoubley);D.doublemyadd(doublea,b);正确答案:D31、有以下程序intfun(intX,inty)if(x<y)returnx;returny;voidmain()inta=9zb=8,c=7;printf(l,%dn,zfun(azb);程序的执行结果是A.9B.8C.7D.函数调用出错正确答案:B32、设函数fun的定义形式为intfun(intaJntn)(ints=0,i=0;for(i=0;i<n;i+)s+=ai;returns;voidmain()(inta10=l,2z3,4,5;printf(,%d"zfun(alz2);则程序的运行结果为A.6B.9C.3D.5正确答案:D33、以下正确的函数声明语句是A.floatfun(intazintb);8.1 ntfun(inta,b);C.intfun(chara);D.doublefun();正确答案:D34、有以下程序intfun(inta)(returna%2;main()inta8=l,3,2z4,i,d=0;for(i=0;fun(ai);i+)d+=ai;printf("%dn',d);程序运行后的输出结果是A.6B.10C.1D.4正确答案:D35、以下程序段结果是fl(intx)staticintz=3,y=0;V+;z+;return(x+y+z);)voidmain()inta=lzk;for(k=0;k<3;k+)printf(',%4d",fl(a);A.7911B.6810C.789D.666正确答案:B36、有以下程序intfun(charazcharb)(inti=0;while(ai=bi)i+;returni;)main()(CharS100HHelIo,t20="Hi"fun(s,t);printf("%s",s);程序运行后的输出结果是A.HilloB.HelloC.HiD.HelloHi正确答案:C37、有以下程序intfun(charazcharb)(inti=0;while(ai=bi)i+;returni;main()chars100=,English,t20="Hi"fun(s,t);printf("%c,s3);)程序运行后的输出结果是AJB.无输出C.hD.0正确答案:A38、有以下程序intfun(chara,charb)(inti=0,j=0;while(ai+);while(ai+=bj+);main()(chars100="book"zt20="English"fun(s,t);printf("%s",s);程序运行后的输出结果是A.无输出B.bookEnglishC.book0,English正确答案:C39、有以下程序intfun(chara,charb)(inti=0,j=0;while(ai+=bj+);)main()(chars100="English'7'math,l,physica',"Chinese"fun(slzs2);printf("%s",sl);程序运行后的输出结果是A.EnglishB.mathC.Chinese0.physical正确答案:D40、有以下程序intfun(chara)(inti=0,j=0;while(ai+);for(;i<10;i+)ai=')main()(chars10=,English,7,math,physica,"Chinese"fun(s0);printf("%s"zsO);)程序运行后的输出结果是A.EnglishB.EngIishMathC.English-mathD.math正确答案:A