浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx

上传人:夺命阿水 文档编号:1189447 上传时间:2024-03-30 格式:DOCX 页数:82 大小:165.22KB
返回 下载 相关 举报
浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx_第1页
第1页 / 共82页
浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx_第2页
第2页 / 共82页
浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx_第3页
第3页 / 共82页
浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx_第4页
第4页 / 共82页
浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx》由会员分享,可在线阅读,更多相关《浙江万里学院C语言程序设计专升本练习(含六卷)及答案.docx(82页珍藏版)》请在课桌文档上搜索。

1、C语言程序设计专升本练习(一)(总分100分,考试时长60分钟)一、单项选择题(每小题2分,共100分)1、空语句仅有个的语句称为空语句。号号号号 逗句分冒 、 、 、 、 ABCD,).);):)2、c语言中局部变量的缺省存储类别是oA、 staticB、 autoC、 registerDextern3、下列程序的输出结果是omain()(inta=0,i;for(i=l;i5;i+)(switch(i)(case0:case3:a+=l;case1;case2:a+=2;default:a+=3;)printf(%d,a);)A、19B、1C、6D、84、有以下程序:ttincludema

2、in()(inti,s=0,t=1,2,3,4,5,6,7,8,9;for(i=0;i9;i+=2)s+=*(t+i);printf(%dn,s);A、45B、20C、25D、365、下面程序的输出结果是ftincludemain()(inta=l,2,3,4,5,6,7,8,9,0,*p;P=a;printf(z,%dn,z,*p+9);)A、0B、1C、10D、96、下列语句合法的是oA、 4+c=b=0;B、 a=+c;C、 a=2=b=6;D、a=4+;7、下列字符数组初始化语句中,不正确的是A、charc=,goodmorning,;B、chare20二goodmorning”:C、

3、charc二(a,b,c,d);D、charc=ffgoodmorning,);8、以下字符中不是转义字符的是oA、aB、b,C、c,D、9、下列合法的字符型常量是oA、xl3B、081C、65D、 n10、若有以卜定义,inta,b;floatx;则正确的赋值语句是OA、a=l,b=2E、 b+;F、 a=b=5G、 b=int(x);11、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A、函数调用可以作为独立的语句存在B、函数调用可以作为个函数的实参C、函数调用可以出现在表达式中D、函数调用可以作为个函数的形参12、计算机中的数有浮点和定点两种表示,浮点表示的数,通常由两部分

4、组成,即A、指数和基数B、尾数和小数C、阶码和尾数D、整数和小数13、有以下程序:main()(charstr=,yz,*ps=str;while(*ps)ps+;for(ps-;ps-str=o;ps-)puts(ps);执行后的输出结果是OA、yzxyzB、zyzCzyzxyzD、xXyxyz14、:维数组a有m行n歹J,则在aij之前的元素个数为A、 j*n+iB、 i*n+jC、 i*n+j-lD、 i*nj+l15、以下程序的输出结果是。includemain()(inta=2,c=5;printf(z,a=%d,b=%dn”,a,c);)A、a=%2,b=%5B、a=2,b=5C、

5、a=%d,b=%dDa=%d,b=%d16、有以下程序ftincludemain()(inti,n;for(i=0;i0)y=l;elseif(x=0)y=0;elsey=l;B、 y=0;if(xO)y=l;elseif(x=0);if(x0)y=l;elsey=-l;D、if(x=0)if(xO)y=l;elsey=0;elsey=l;18、有以下程序#includeintfun()(staticintx=l;x*=2;returnx;)main()(inti,s=l;for(i=l;i819、设有数组定义:Chararray口二StUdCnt;则数组所占的存贮空间为A、6个字节B、7个字

6、节C、8个字节D、9个字节20、有以下程序typedefstruct(charname9;charsex;floatscore;stu;stuf(stua)stub=zhao,m,85.0,90.0;inti;strcpy(a.name,b.name);D、 sex=b.sex:;for(i=0;iZhao,m,85,90DZhao,f,95,9221、与十进制数200等值的十六进制数为0A、A8B、A4C、C8D、C422、以下选项中可作为C语言合法整数的是cA、 IOllOBB、 0386C、 OXffaD、 x2a223、计算斐波那契数列第n项的函数定义如下:intfib(intn)(i

7、f(n=0)returnl;elseif(n=l)return2;elsereturnfib(n-l)fib(n-2);若执行函数调用表达式fib(2),函数fib被调用的次数是oA、1B、2C、3D、424、要求通过while循环不断读人字符,当读入字母n时结束循环,若变量已正确定义,下列正确的程序段是。A、WhiIe(Ch二getchar()!=N)printf(%c,ch);B、while(ch=getchar()!=,N,)printf(,%c”,ch);Cwhile(ch=getchar()=,N,)printf(w%c”,ch);Dwhile(chgetchar()=,N,)pri

8、ntf(,%c”,ch);25、关于数组的叙述中,下列说法不正确的是oA、数组是最简单的复合数据类型,是有限元素的有序集合B、数组的元素可以是值(基本数据类型)、对象或其他数组C、定义数组时,必须分配内存D、个数组中的元素都必须是相同的类型26、使下列程序段输出123,456,78,键盘输入数据,正确的输入是。inti,j,kSCanf(%d,%3d%d”,&i,&j,&k);printf(,z%d,%d,%dn,i,j,k);A、12345678B、123,456,78C、123,45678D、123,*4567827、用冒泡排序对4,5,6,3,2,1进行从小到大排序,第三趟排序后的状态为

9、A453216B432156C321456D21345628、某学校有1500名学生,若用:进制来编学号,需要多少位来表示。A、10B、11C、12D、1329、以下正确的字符串常量是oA、B、 abcCOlympicD、*30、下列叙述中错误的是oA、 -个C语言程序只能实现种算法B、C程序可以由多个程序文件组成C、C程序可以由一个或多个函数组成D、一个函数可单独作为一个C程序文件存在31、有以下程序:#includeintf(intt,intn);main()inta4=l,2,3,4,s;s=f(a,2);printf(%dn”,s);)intf(intt,intn)if(n0)&(n5

10、)returntn+l+f(t,n-l);elsereturn0;)程序运行后的输出结果是OA、4B、7C、10D、632、以下字符常量中不合法的是oA、0B、&C、KD、,整,33、C语言程序中必须有的函数是A、#includestdio.hB、 mainC、 printfD、 scanf34、有以下程序structs(intn;inta20;voidf(int*a,intn)(inti;for(i=0;in-l;i+)ai=i;)main()(inti;structss=10,(2,3,1,6,8,7,5,4,10,9);f(s.a,s.n);for(i=0;is.n;i+)printf(

11、d,,s.ai);程序运行后的输出结果是OA、2,4,3,9,12,12,11,11,18,9,B、3,4,2,7,9,8,6,5,11,10,C、2,3,1,6,8,7,5,4,10,9,D、1,2,3,6,8,7,5,4,10,9,35、有以下程序includemain()inta=2,b=3,c=4;a*二16+(b+)-(+c);printf(zz%dn,a);)程序运行后的输出结果是OA、28B、30C、15D、1436、下列语句哪些不属于循环语句?A、forwhileCdowhileD、if37、已有定义int(*p)O;指针p可以。A、代表函数的返回值B、指向函数的入口地址C、表

12、示函数的类型D、表示函数返回值的类型38、以下程序的输出结果是.includefun(intx,inty,intz)(z=x*xy*y;voidmain()(inta=31;fun(5,2,a);printf(%d”,a);)A、0B、29C、31D无定值39、当调用函数时,实参是一个数组名,则向函数传送的是OA、数组的长度B、数组的首地址C、数组每个元素的地址D、数组每个元素中的值40、递归算法的执行过程一般来说可先后分成和两个阶段。试递枚分探推举41、整型变量X和y的值相等,且为非O值,则以下选项中结果为O的表达式是A、XYB、XYC、X&YD、XCY42、下列关于实型变量书写正确的是oA

13、、E3B、2e0.3C、1.2e3D、1.2E0.343、有以下程序includemain()(inta=5,b=4,c=3,d=2;if(abc)printf(dn,d);elseif(c-1=d)=1)printf(,z%dn,z,d+1);elseprintf(%dn”,d+2);)执行后输出的结果是OA、2B、3C、4D、编译时有错,无结果44、以下选项中与if(a=l)a+;elsea=b;语句功能不同的语句是A、 switch(a)ease0:a=b;break;default:a+;B、 switch(a=1)case0:a+:default:a=b;C、 switch(a)de

14、fault:a=b;break;case1:a+;Da=(a=l)(a+):b45、若有说明:int*p,m=5,n;以下正确的程序段是。A、p=&n;SCanf(%c,&p);B、p=&n;SCanf(%c,*p)D、 SCanf(%d”,&p;*p-6);E、 p=&n;*p=m;46、执行语句组inta,b;b=(a=4*9,a*2),a-3;后,b的值是。A、36B、69C、33D、7247、设pl和p2是指向同一个int型维数组的指针变量,k为int型变量,则不能正确执行的语句是OA、 k=*Pl+*P2;B、 p2=k;C、 P1=P2;D、 k=*Pl*(*P2);48、在C语言

15、中,下列运算符优先级最高的是oA、:B、=C、!二D、&49、按照C语言规定的用户标识符命名规则,不能出现在标识符中的是oA、大写字母B、连接符C、数字字符D、下划线50、若已包括头文件且已有定义Charsi18,s2=“ABCDE和inti,现要将字符串ABCDE”赋给si,下列语句错误的是oA、StrCPy(SLs2)strcpy(si,ABCDEw);C、sl=,fABCDEw:D、for(i=0;i=d的值为逻辑值L所以该条件成立。44、B【解析】ifelse语句的含义是,如果变量a的值等于L变量a的值加1,否则,则把变量b的值赋给变量a。在本题的4个选项中,与其含义不同的是选项B),

16、因为没有break语句,当a=l的时候,会顺序执行两条语句,最终结果是将b的值赋给a。45、D【解析】&是求址运算符,是指针变量说明符C选项A),B)应改为scanf(%d,tP);选项C)中指针变量P未指向一确定的内存单元,不能为其赋值,这样做很危险,建议不使用。46、D47、B48、D【解析】本题考查一些常见运算符的优先级。运算符的优先级表示的是运算的先后次序,优先级最高的先参加运算。本题选项中的运算符优先级从低到高依次为二、二二、!二、&49、B【解析】C语言的标识符要符合以下规定:1.标识符是个以字母或下划线开头的,由字母、数字、下划线组成的字符串:2标识符不能与任意一个关键字同名:3

17、标识符中的字母区分大小写。故本题应该选择Bo50、CC语言程序设计专升本练习(二)(总分IoO分,考试时长60分钟)一、单项选择题(每小题2分,共100分)1、判断闭区间*判断实数X属于闭区间a,b的表达式为A、X=a,bB、a=x=bC、aV=x&xax&xb2、若已定义inta,则表达式a=10,a10,a+的值是.A、20B、10C、21D、113、设变量X和y均已正确定义并赋值。以下if语句中,在编译时将产生错误信息的是OA、if(x+);B、if(xy&y!=0);C、if(x0)-elsey+;D、if(y0);elsex+;4、whiIe(tabs(t)=1e-5&t=-1e-5

18、&s-10&s10B、fabs(t)le-5&!s/10Cfabs(t)le-5D、s10=05、如果用数组元素作为函数调用时的实参,则该实参向函数的形参传送的是A1数组元素的地址B、数组的首地址C、数组元素的值D、数组名6、现代计算机中采用二进制数制是因为二进制数的优点是,0A、代码表示简短,易读13、物理上容易实现且简单可靠;运算规则简单;适合逻辑运算C、容易阅读,不易出错D、只有0,1两个符号,容易书写7、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。ttincludemain()inta,b,t;scanf(/,%d%dz,&a,&b)

19、;while()(if(ab)(t=a;a=b;b=t;)printf(z,%d,%dn,a,b);scanf(,z%d%dzz,&a,&b);)A、 !a=bB、 a!=bC、a.=bDa=b8、卜.列关于八进制与十六进制的描述中,错误的是0A、八进制是一种逢八进一的机制B、八进制由0-8这此符号来描述C、十六进制是种逢十六进一的机制D、十六进制由0-9、A-F这些符号来描述9、若输入字符串:abcdeV回车,则以下While循环体将执行多少次。while(ch=getchar()!=,e)printf(*);A、5B、4C、6D、110、vc6.0中int类型变量所占字节数是OA、1B、2

20、C、3D、411、C语言中函数返回值的类型决定于A、return语句中的表达式类型B、调用函数的主调函数类型C、调用、函数时临时类型D、定义函数时所指定的函数类型12、以下叙述中错误的是A、用户所定义的标识符允许使用关键字B、用户所定义的标识符应尽量做到见名识意C、用户所定义的标识符中,大、小写字母代表不同标识D、用户所定义的标识符必须以字母或下划线开头13、下列能正确进行字符串赋值的是oA、chars5=ABCDEw);B、chars5=A,B,C,D,E;C、char*s;S二”ABCDE,;Dchar*s;printf(,%S”,s);14、已知:inta23;则对数组元素的非法引用是A

21、、*(a0+2)B.al3C、alOD、*(*(a+l)+2)15、以卜程序的输出结果是omain()(inti,k,a10,p3;k=5;for(i=0;i10;i+)ai=i;for(i=0;i3;i+)pi=ai+l;for(i=0;i3;i+)k+=pi;printf(dn,k);A、10B、11C、12D、1316、有以下程序#includemain()(inta=7;while(a-);pfintf(%dr,a);)程序运行后的输出结果是OA、-1B、0C、1D、717、语句int*p;说明了oA、P是指向维数组的指针B、P是指向函数的指针,该函数返回Tnt型数据C、P是指向int

22、型数据的指针D、P是函数名,该函数返回一指向int型数据的指针18、以下程序include#defineSUB(a)(a)-(a)main()inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(,%dnn,d);)程序运行后的结果是OA、OB、-12C-20D、1019设有定义:doublex10,*p=x;,以下能给数组X下标为6的元素读人数据的正确语句是OA、SCanf(%f”,&x6);B、scanf%l,*(x6);C、 SCanf(%if”,p+6);D、 SCanf(%if,p6);20、有以下程序includestructtt(intx;structtt*y

23、;)structtta4=20,a+l,15,a,30,a+3,17,a;main()(inti;P=a;for(i=l;ix);p=p-y;)程序的运行结果是oA、20,30,B、30,17C、15,30,D、20,1521、下列对程序解决问题的过程描述中,哪项是正确的()A、编写程序一设计算法一分析问题一调适运行与检测结果B、设计算法一分析问题一编写程序调适运行与检测结果c、设计算法一分析问题调试运行与检测结果一编写程序D、分析问题一设计算法一编写程序一调试运行与检测结果22、下列选择中,不能用做标识符的是oA、 1234B、 _1_2C、 int_2_D、 2_int_23、C语言源短序

24、的最小单位是oA、程序行B、语句C、函数D、字符24、以下叙述正确的是()。A、do-while语句构成的循环不能用其它语句构成的循环来代替.B、do-while语句构成的循环只能用break语句退出.C、用do-while语句构成的循环,在while后的表达式为非零时结束循环.D、用do-while语句构成的循环,在while后的表达式为冬时结束循环25、有以下函数:fun(char*a,char*b)(while(*a!=,0,)&(*b!二0,)&(*a=*b)(a+;b+;)return(*a-*b);)该函数的功能是oA、计算a和b所指字符串的长度之差B、将b所指字符串连接到a所指字

25、符串中C、将b所指字符串连接到a所指字符串后面D、比较a和b所指字符串的大小26、以下选项中不合法的用户标识符是oA、abC.CB、 fileC、 MainD、 PRINTF27已有定义:chara=xyz,b=x,y,z;以下叙述中正确的是A、数组a和b的长度相同B、a数组长度小于b数组长度C、a数组长度大于b数组长度D、上述说法都不对28、在c语言中,a和a存储所占用的字节数分别是A、1,1B、1,2C、2,1D、2,229、在c语言中,不允许有常量的数据类型是oA、整型B、结构型C、字符型D、字符串30、有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序

26、段是OA、if(x-0)y=-sqrt(x);elsey=sqrt(-);B、y=sqrt(x)if(x-O)ysqrt(x);If(x=0?x:-);31、下列关于strstr()函数的描述,错误的是。A、用于在指定的字符串中查找指定的字符B、用于在指定的字符串中查找指定的子字符串C、该函数接收两个字符指针类型的参数D、该函数若查找到子字符串则返回子字符串的指针,否则返回空指针32、若变量c为char类型,则能正确判断出C为大写字母的表达式是。A、(c=N)(c=A,WZf)D、(A=c)and(iV=c)33、下列叙述中不正确的是oA、在C语言中调用函数时,只能把实参的值传送给形参,形参的

27、值不能传送给实参B、在C的函数中,最好使用全局变量C、外部变量可以在函数之间传递数据D、自动变量实质上是个函数内部的局部变量34、若有以下说明语句:structdate(intyear;intmonth;intday;brithday;则下面的叙述不正确的是.A、StrUCt是声明结构体类型时用的关键字B、structdate是用户定义的结构体类型名C、brithday是用户定义的结构体类型名Dyear,day都是结构体成员名35、F面程序的输出结果是oml(intx)(i11ty;y=x+x;return(y);)m2(inta,intb)(intz;z=ml(a*b);return(z);

28、)main()(inta=3,b=6,c;c=m2(a,b);printf(d,c);A、26B、18C、9D、3636、卜.面程序段执行后输出的结果是#includemain()(inti;for(i=l;i*#*37、以下函数的返回类型是offf(floatx)(return5.86;)A、与参数X的类型相同B、void类型C、int类型D、无法确定38、有以下程序includeintfun(intx,inty)(if(x=y)return(x);elsereturn(x+y)/2);)main()(inta=4,b=5,c=6;printf(%dn”,fun(2*a,fun(b,c);)

29、程序运行后输出的结果是OA、3B、6C、8D、1239、-个int型变量,在程序中多次频繁使用,最好定义它为一A、autoB、 registerCstaticDextern40、以下程序的运行结果是ftincludezzstdio.hmain()(structdateintyear,month,day;today;printf(zz%dnz,sizeof(structdate);)A、6B、8C、10D、1241、以下选项中不能作为C语言合法常量的是oA,cd,B、O.le+6C、 aD、 ,011,42、卜.面四个选项中,均是不合法的浮点数的选项是()。A、160.0.12e3B、1232e

30、4.2.e5C、18123e40.0D、-e3.234le343switch语句中表达式(CXPreSSiOn)的值不允许用的类型是。A、byteB、intC、booleanDchar44、流程控制语句的基本控制结构有三种,其中不包括oA、顺序结构B、选择结构C、循环结构D、计算结构45、设intx:,则经过后,语句*px=O;可将X值置为0。A、 int*px;B、 intconst*px=&x;Cint*constpx=&x:Dconstint*px=&x;46、卜.面四个选项中,均是不正确的八进制数或十六进制数的选项是oA、 0160x8f018B、 Oabc017OxaC、 010-0

31、x110x16D、 0al27ff-12347、若有定义语句:intm=5,4,3,2,l,i=4;则下面对m数组元素的引用中错误的是oA、m-iB、 m2*2C、mm0D、mmi48、在标准ascii码表中,若英文字母i的十进制码值是105,则小写字母f的十进制码值为oA、102B、101C、103D、10049、下列字符串中,正确的C标识符是。A、foo-lB、2bCnewD、25650、有以卜.程序main()(chars二nl23”;printf(,%d,%dn”,strlen(s),sizeof(s);)执行后输出结果是OA赋初值的字符串有错B、6,7C、5,6D、6,6参考答案一、

32、单项选择题1、C2、B3、C【解析】C语言规定,在if(表达式)语句LeISe语句2;”这种形式的if语句中,在每一个else前面有一个分号,整个语句结束处有一分号。在本题的C)选项中,else前面少了一个分号,这样程序在编译时,会出现语法错误。4、A5、C6、B【解析】二进制数只用0”和“1”来存储,因此物理上容易实现且简单可靠,运算规则简单,适合逻辑运算。但不容易阅读,易出错。7、B8、B【解析】八进制是由0-7这八个符号来描述的。9、BIOsD11、D【解析】函数在定义时已经可以指定其函数类型,则函数返回值类型就是该类型。12、A13、C14、B15、B16、A【解析】在WhiIe语句中

33、,先判断WhiIe后面的表达式是否为0,如果为0,则退出循环,否则执行循环体。在本题中,当变量a的值经过几次循环后,其值等于0时,退出WMe循环语句,变量a再执行自减运算,所以其值等于17、B18、C19、C20、D21、D22、D23、D24、D25、D【解析】字符串的比较规则是对两个字符串自左至右逐个字符相比(按ASCIl码值大小比较),直到出现不同的字符或遇到0为止,相等,则返回0,否则返回第一个不等字符串的ASCll码的差值。26、A27、C28、B29、B30、B31、A【解析】用于在指定的字符串中查找指定的子字符串32、C33、B34、C35、D36、B【解析】#includemai()inti;for(i=1;i8;i+)/*循环条件为i8,步进值为1*/if(i%3)pritf(*);continue;/*如果能被3整除打印输出并跳过后面的语句直接执行下次徨*/PnntfC#);/*如果不能被3整除打印输出”#*/printf(n);37、C38、B39、B【解析】寄存器类型变量常用于循环变量、数组下标等频繁使用的变量,将变量放入寄存器内,可以加快程序的运行速度C40、A【解析】在解答本题时应该考虑两个问题:结构体变量的长度及size

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号