




已阅读5页,还剩233页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言试题集主讲:郭荣佐,第一章C语言概述,1、一个C程序的执行是从()。A.本程序的main函数开始,到main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序文件的第一个函数开始,到本程序main函数结束2、以下叙述正确的是()。A.在c程序中,main函数必须位于程序的最前面B.c程序的每行中只能写一条语句C.c语言本身没有输入输出语句D.在对一个c程序进行编译的过程中,可发现注释中的拼写错误,参考答案【A】,参考答案【C】,3、以下叙述不正确的是()。A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面4、C语言规定:在一个源程序中,main函数的位置()。A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后5、一个C语言程序是由()。A)一个主程序和若干子程序组成B)函数组成C)若干过程组成D)若干子程序组成,参考答案【D】,参考答案【C】,参考答案【B】,第2章数据、运算与基本输入输出,一、单选题,第一部分1、C语言中字符型(char)数据在内存中的存储形式是_。A.原码B.补码C.反码D.ASCII码2、C语言中,长整型long数据在内存中的存储形式是_。ASCII码B.原码C.反码D.补码3、C语言的运算符按运算的数目可分为_。A.单目运算符B.单目运算符和双目运算符C.单目、双目和三目运算符D.单目、双目、三目和四目运算符,参考答案【D】,参考答案【D】,参考答案【C】,4、C语言中,下列关于运算符优先级的正确叙述是_.A.逻辑运算符高于算术运算符,算术运算符高于关系运算符B.算术运算符高于关系运算符,关系运算符高于逻辑运算符C.算术运算符高于逻辑运算符,逻辑运算符高于关系运算符D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符5、下列关于C语言的不严格的叙述中,错误的是_.A.大写字母和小写字母的意义相同B.有些不同类型的变量可以在同一表达式中运算C.在赋值表达式中等号()两边可以是不同类型D.同一个运算符在不同场合可以有不同的含义6、C语言中的简单数据类型包括_.A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型,参考答案【B】,参考答案【A】,参考答案【B】,7、下列选项中属于C语言数据类型的是_。A.复数型B.逻辑型C.双精度型D.集合型8、在C语言中,int、char和short三种类型数据所占的内存_。A.均为2字节B.由用户定义C.有所用机器的机器子长决定D.是任意的9、在C语言中,错误的int类型的常量是_。A.32768B.0C.037D.0 xAF10、下列常量中不能作为C语言常量的是_。A.0 xA5B.2.5e-2C.3e2D.0582,参考答案【C】,参考答案【C】,参考答案【A】,参考答案【D】,11、在C语言中,十进制的47可等价地写为()。A2FB02FC57D05712、设int类型的数据长度为2字节,则unsignedint类型数据的取值范围是()。A0至255B0至65535C-32768至32767D-256至25513、在C语言中,数字029是一个()。A八进制数B十六进制数C十进制数D非法数14、下列不属于C语言关键字的是()。AdefaultBregisterCenumDexternal15、下列可以正确定义数据类型的关键字是()。ALongBsignedCshorterDinteger,参考答案【D】,参考答案【B】,参考答案【D】,参考答案【D】,参考答案【B】,16、下列可以正确表示字符常量的是()。A“a”BtC”n”D29717、以下()是错误的转义字符。ABC81D018、inta=256,执行语句“printf(“%x”,a);的结果是()。A0100B0256C0ffeD00ff19、C语言中整数-8在内存的存储形式是()。A1111111111111000B1000000000000000C0000000000001000D111111111111011120、下面各选项组中,均是C语言关键字的组是()。Aauto,enum,includeBswitch,typedef,continueCsigned,union,scanfDif,struct,type,参考答案【B】,参考答案【C】,参考答案【A】,参考答案【A】,参考答案【B】,21、将字符g赋给字符变量c,正确的表达式是()。Ac=“g”Bc=101Cc=147Dc=014722、inti;floatf;正确的语句是()。A(intf)%iBint(f)%iCint(f%i)D(int)f%i23、chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是()。AintBcharCfloatDdouble24、以下运算符中优先级最低的算符是()。A则s所指的字符串的长度为()。A19B16C18D说明不合法30、chara=70;则变量a中()。A包含1个字符B包含2个字符C包含3个字符D说明不合法,参考答案【C】,参考答案【C】,参考答案【C】,参考答案【B】,参考答案【A】,31、已知:char*s=”t”NameAddressn”;则s所指字符串的长度为().A.包含1个字符B.包含2个字符C.包含3个字符D.说明非法32.已知:intx=1,y=2,z;则执行:z=xy?+x:+y,则z的值为()A1B2C3D433.已知:intn,i=1,j=2,则执行:n=ib”后变量a的值为()A.0B.1C.4D.5,参考答案【D】,参考答案【D】,参考答案【B】,参考答案【C】,参考答案【A】,41.已知:charw;intx;floaty;doublez;则表达式w*x+y-z结果的类型是()A.floatB.charC.intD.double42.sizeof(double)是()A.函数调用B.double型表达式C.int型表达式D.非法表达式43已知:charch=A;则,下列表达式的值是()Ch=(chA输出一个长度为5个字符的提示信息“OK!”,则应使用宏定义语句()A.#defineSTRING”OK!”B.#defineSTRING”OK!”C.#defineSTRING”OK!”D以上三个答案都是错误的,参考答案【D】,参考答案【C】,参考答案【B】,参考答案【D】,45选出使变量i的运行结果为4的表达式()A.inti=0,j=0;B.inti=1,j=0;(i=3,(j+)+i);j=i=(i=3)*2);C.inti=0,j=1D.inti=1,j=0;(J=1)?(i=1):(i=3);i+=j+=246.在C语言库函数中,可以输出double型变量x值的函数使()A.getcharB.scanfC.putcharD.printf47.已知:inta,b:用语句scanf(“%d%d”,输入a,b的值时,不能作为输入数据分隔符的是()A.,B.空格C.回车D.Tab,参考答案【D】,参考答案【D】,参考答案【A】,48.下列四组字符串中都可以用作C语言程序中的标识符的是()A.printB.IamC.PxqD.str_1_3done_halfMy-bookCppOobdstart$itline#powaBc3paiHis.agewhile49.C语言程序中下列运算符的操作数必须是int型的运算是()A.%B./C._D.+50.已知:intx=10,y=3,z;则下列语句的输出结果是()printf(“%dn”,z=(x%y,x/y);A.1B.0C.4D.3,参考答案【A】,参考答案【A】,参考答案【D】,51.已知:intx=6;则执行”x+=x-=x*x;”语句后,x的值为()A.36B.-60C.60D.-2452.若w=1,x=2,y=3,z=4;则表达式”wx?w:yz?y:z”的结果为()A.4B.3C.2D.153.已知:intx;则使用逗号运算的表达式“(x=4*5,x*5),x+25”的结果为(),变量x的值为().A.20B.100C.表达式不合法D.45A.20B.100C.125D.45,参考答案【B】,参考答案【B】,参考答案【DA】,第二部分1、在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为()。A.charintlongint=floatdoubleB.char=intlongint=floatdoubleC.charintx)A)x10,y20,z30C)x20,y=30,z=10B)x=20,y30,z30D)x=20y30,z20,参考答案【BA】,参考答案【C】,参考答案【AC】,参考答案【B】,18.以下if语句语法正确的是()。A)if(x0)printf(“%f”l,x)elseprintf(“%f”,-x);B)if(x0)x=x+y;printf(“%f”,x);elseprintf(“%f”,-x);19请阅读以下程序:main()inta=5,b=O,c=0;if(a=b+C)printf(“*n”);elseprintf(“$n”);以上程序()。A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出*D)输出$,C)if(x0)x=x+y;printf(“%f”,x);elseprintf(“f”,x);D)if(x0)x=x十y;printf(“%f”,x)elseprintf(“%f”,一x);,参考答案【B】,参考答案【D】,20.以下程序的运行结果是().main()intm=5;if(m+5)printf(“%dn”,m);elseprintf(“%dn”,m-);A)4B)5)6D)721.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是().if(ab)if(c0)y=x+1;elsey=x;,C)if(x=0)if(x0)y=x+1;elsey=x;elsey=x+1;D)y=x;if(xO)if(xO)y=x一l;elsey=x+l;,参考答案【C】,23.以下程序的输出结果是()。main()inta=100,x=10,y=20,okl=5,ok2=0;if(xy)if(y!=10)if(!okl)a=1;elseif(ok2)a=10;a=-1;printf(“%dn”,a);A)1B)0C)1D)值不确定,24以下程序的输出结果是()。main()intx2,yl,z2;if(xy)if(yy);B)if(x=y)若运行时输入2,0回车,则上面程序的输出结果是()。A)0.O00000B)0.5000O0C)1.000000D)0.250000,参考答案【B】,参考答案【B】,参考答案【B】,28若有条件表达式达式(exp)?a+:b-,则以下表达式中能完全等价于表达式(exp)的是()。)(exp=0))(exp!=0)C)(exp=1))(exp!=1)29.若运行时给变量x输入12,则以下程序的运行结果是()。main()intx,y;scanf(“%d”,A)4B)3C)2D)1,参考答案【B】,参考答案【A】,参考答案【D】,31.执行以下程序段后,变量a,b,c的值分别是().intx=10,y=9;inta,b,c;a=(-x=y+)?-x:+y)?-x:+y;b=x+;c=y;A)a=9,b=9,c=9B)a=8,b=8,c=10C)a=9,b=10,c=9D)a=1,b=11,c=1032.若w、x、y、m均为int型变量,则执行下面语句后的m值是()。w=1;x=2;y=3;z=4;m=(wx)?w:x;m=(my)?m:y;m=(mz);printf(“%dn”,wA)0111B)1111C)0101D)O100,参考答案【D】,参考答案【C】,第五章循环控制,1、设有程序段intk=10;while(k=O)kk1;则下面描述中正确的是()。A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次2、设有以下程序段intx=0,s=0;whlle(!x!=0)s+=x;printf(“%d”,s);则()。A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次,参考答案【C】,参考答案【B】,3、语句while(!E);中的表达式中!E等价于()。A.E=0B.E!=1C.E!=0D.E=14、下面程序段的运行结果是()。a1;b2;c=2;while(abc)t=a;a=b;b=t;c-printf(“%d,%d,%d”,a,b,c);A)1,2,OB)2,1,OC)1,2,1D)2,1,15、下面程序段的运行结果是()。x=y=O;while(x=a【1】A)c+=2B)c-=32C)c=c+32+2D)c一=30【2】A)c=BB)c=AC)c-=26D)c=c+26,参考答案【DC】,11、下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。#includemain()inta,max=O;scanf(“%d”,1A)a=0B)aC)!a=1D)!a,12、下面程序的运行结果是()。#includemain()intnum=O;while(num=2)num十;printf(%dn,nurn);A)1B)12C)123D)l234,参考答案【B】,参考答案【C】,13、若运行以下程序时,从键盘输入2473(main()intc;while(c=getchar()!=n)switch(c一2)case0:casel:putchar(c十4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;printf(”n”);A)668977B)668966C)66778777D)668876614、C语言中while和do一while循环的主要区别是()。A)do一while的循环体至少无条件执行一次B)while的循环控制条件比do一while的循环控制条件严格c)do一while允许从外部转到循环体内D)do一while的循环体不能是复合语句,参考答案【A】,参考答案【A】,15、以下能正确计算12310的程序段是()。A)doi=l;s=1;S=S*ii+;while(i=10);B)doi=1;s=0;s=s*i;i+;while(i=10);16、以下程字段()。x一1;dox=x*x;while(!x);A)是死循环B)循环执行二次C)循环执行一次D)有语法错误,C)i=1;s=1;dos=s*i;i+;while(i0=0C)!num=OD)num!=O,参考答案【BC】,21、等比数列的第一项a=1,公比q=2,下面程序的功能是求满足前n项和小于100的最大n,请选择填空。#includemain()inta,g,n,sum;a=1,g=2;n=sum=C;do1;+n;a*=g;while(sum100);2;printf(“%dn”,n);1A)sum+B)sum+=aC)sum=a+aD)a+=sum2A)n=n-2B)n=nC)n+D)n-=1,参考答案【BD】,22、下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13之和11整除。请选择填空。#includemain()inti=0,j,k;doi+;k=316-13*i;while(1);j=k/11;printf(316=13*%d+11*%d,i,j);1A)k/11B)k%11C)k/11=OD)k/11=023、下面程序的运行结果是()。#includemain()inty=10;doy-;while(-y);printf(%dn,y-);A)-1B)1C)8D)0,参考答案【B】,参考答案【D】,24、若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是。#includemain()charc;intv0=0,vl=0,v2=0;doswitch(c=getchar()casea:caseA:casee:caseE:casei:caseI:caseo:caseO:caseu:caseU:v1+=l;default:v0+=l;v2+=l;while(c!=n);printf(“v0=%d,v1=%d,v2=%dn”,vo,vl,v2);A)v0=7,vl=4,v2=7B)v0=8,vl=4,v2=8C)v0=11,v1=4,v2=11D)v0=12,v1=4,v2=12,参考答案【D】,25、下面程序的运行结果是()。#includemain()inta=1,b=10;dob-=a;a+;while(b-=0);D)ints=36;while(s);-s;34、执行语句for(i=1;i+4;);后变量i的值是。A)3B)4C)5D)不定,参考答案【D】,参考答案【C】,参考答案【C】,35、有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。#includemain()inti;for(i=100;irnain()inti,sum=O;for(i=1;i=50;i+)if(1)sum+=i;printf(“%d”,sum);A)(int)(i/7)=i/7B)(int)i/7=i/7C)i%7=OD)i%7=O,参考答案【D】,参考答案【D】,37、下面移序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空。includemain()inta,b,c,i;a=c=0;for(i=O;i=10;i+=2)a=i;1;c+b;printf(“偶数之和%dn”,a);printf(“奇数之和%dn”,2);1A)b=i-B)b=i+1C)b=i+D)b=i-12A)c-10B)cC)c-11D)c-b,参考答案【BC】,38、下面程序的运行结果是。#includemain()inti;for(i=l;i=5;i+)switch(i%5)case0:printf(“*”);break;casel:printf(“#”);break;default:printf(“n”);case2:printf(“A)#for(i=1;i=100;i+)x=i;if(+x%2=O)if(+x%3=0)if(+x%7=0)printf(“d%”,x);A)3981B)4284C)2668D)2870,参考答案【B】,参考答案【D】,40、下面程序段的功能是计算1000!的末尾含有多少个零。请选择填空。(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;imain()intx,y,z,i,result=532;for(x=1;x10;x+)for(y=l;y10;y+)for(【1】;z10;z+)i=100*x+10*y+z+100*y+10*z+z;if(【2】)printf(“x=d,y=%d,z=%dn”,l,x,y,z);【1】A)z=xB)z=1C)z=0D)z=y【2】A)i/result=1B)1=resultC)i!=resultD)i=result,参考答案【C】,参考答案【CD】,42、下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。#includemain()inta,d,i,s,f,x;/*a是第一项*/for(a=1;a30;a+)for(d=1;【1】;d+)s=O;f=1;x=a;for(i=l;i=4;i+)s=s+x;i=f*x;x=x+d;if(s=26【1】A)d=aB)空C)d=5D)da【2】A)a+i*dB)i*dC)a+(i+l)*dD)a+d,参考答案【CA】,43、下面程序的运行结果是。#includemain()inti,b,k=O;for(i=1;i0)k+;printf(“%d,%d”,k,b);A)3,-1B)8,-1C)3,0D)8,-244、以下正确的描述是。A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使毛goto语句,参考答案【D】,参考答案【B】,45、下面程序段()。for(t=1;t=100;t+)scanf(“%d”,A)将输出#B)将输出#*C)是死循环D)含有不合法的控制表达式,参考答案【D】,参考答案【C】,47、以下是死循环的程序段是。A)for(i=1;)if(+i%2=0)continue;if(+i%3=0)break;48、以下描述正确的是()。A)goto语句只能用于退出多层循环B)switch语句中不能出现continue语句C)只能用continue语句来终止本次循环D)在循环中break语句不能独立出现49、与下面程序段等价的是。for(n=100;n=200;n+)if(n%3=0)continue;printf(“%4d”,n);A)for(n=100;(n%3),B)i=32767;doif(iO)break;while(+i);C)for(i=1;)if(+i10)continue;D)i=1;while(i-);,D)for(n=100;nsqrt(d)printf(“%d=%d+%dn”,a,b,d);【1】A)a+bB)a-bC)a*bD)a/b,参考答案【B】,51、下面程序的运行结果是。#includemain()intk=0;charc=A;doswitch(c+)caseA:k+;break;caseB:k-;break;caseC:k+=2;break;caseD:k=k%2;continue;caseE:k=k*10;break;default:k=k/3;k+;while(cG);printf(“k=%dn”,k);A)k=3B)k=4C)k=2D)k=0,52、若运行以下程序时,从键盘输入3.62.4(表示回车),则下面程序的运行结果是()。#include#includemain()floatx,y,z;scanf(“%f%f”,1.500000B)1.600000C)2.000000D)2.400000,参考答案【B】,参考答案【B】,54、下面程序的运行结果是()。#includemain()inti,j,x=0;for(i=0;i2;i+)x+;for(j=O;j3;j+)if(j%2)continue;x+;x+;printf(“x=%dn”,x);A)x=4B)x=8C)x=6D)x=12,53、下面程序的运行结果是()。#includemain()inta,b;for(a=l,b=1;a=20)break;if(b%3=1)b+=3;continue;b-=5;printf(“%dn”,a);A)7B)8C)9D)10,参考答案【B】,参考答案【B】,55、下面程序的运行结果是。#include“stdio.h”main()inti;for(i=1,i=5;i+)if(i%2)printf(.);elsecontinue;printf(#);printf(“$n”);A).#.#.#$B)#.$C).#.#$D)#.#.$,56、下面程序的运行结果是()。main()inti,j,a=0;for(i=O;i2;i十)for(j=0;j4;j+)if(j%2)break;a十十;a十;printf(“%d”,a);A)4B)8C)6D)7,参考答案【A】,参考答案【A】,第六章数组,1、在C语言中,引用数组元素时,其数组下标的数据类型允许是()。A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式2、以下对一维整型数组a的正确说明是()。A)inta(10);B)intn=10,an;C)intn;scanf(“%d”,3、若有说明:inta10;则对a数组元素的正确引用是()。A)a10B)a3.5C)a(5)D)a10一104.在C语言中,一维数组的定义方式为:类型说明符数组名()。A)常量表达式B)整型表达式C)整型常量或整型表达式D)整型常量,参考答案【C】,参考答案【D】,参考答案【D】,参考答案【A】,5.以下能对一维数组a进行正确初始化的语句是()。A)inta10=(0,0,0,0,0);B)inta10=;C)inta=0;D)inta10=10*1;6.以下对二维数组a的正确说明是()。A)inta3;B)floata(3,4);C)doublea14;D)floata(3)(4);7.若有说明:inta34;则对a数组元素的正确引用是。A)a24B)a1,3C)a4-20D)a248.若有说明:inta34;则对a数组元素的非法引用是()。A)a02*1B)a13C)a4-20D)a049.以下能对二维数组a进行正确初始化的语句是()。A)inta2=1,0,1,5,2,3;B)inta3=1,2,3,4,5,6;C)inta24=1,2,3,4,5,6;D)inta3=1,0,1,1,1;,参考答案【C】,参考答案【C】,参考答案【C】,参考答案【D】,参考答案【B】,10.以下不能对二维数组a进行正确初始化的语句是()。A)inta230;B)inta31,2,0;C)inta23=1,2,3,4,5,6;D)inta3=1,2,3,4,5,6;11.若有说明:inta34=0;则下面正确的叙述是A)只有元素a00可得到初值。B)此说明语句不正确C)数组a中各元素都可得到初值,但其值不一定为0D)数组a中每个元素均可得到初值012.若有说明:inta4=0,0;则下面不正确的叙述是。A)数组a的每个元素都可得到初值。B)二维数组a的第一维大小为1C)因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1D)只有元素ao0和a01可得到初值0,其余元素均得不到初值。,参考答案【C】,参考答案【D】,参考答案【D】,13.若有说明:inta34;则数组a中各元素_。A)可在程序的运行阶段得到初值。B)可在程序的编译阶段得到初值0.C)不能得到确定的初值D)可在程序的编译或运行阶段得到初值014.以下各组选项中,均能正确定义二维实型数组a的选项是()。A)floata34;floata4;floata31,0;B)floata(3,4);floata34;floatao;o;C)floata34;staticfloata4=0,0;D)floata34;floata3;autofloata4=0,0,0;floata4,参考答案【B】,参考答案【C】,15.下面程序(每行程序前面的数字表示行号)。1main()23inta33*0;4inti;5for(i=0;i3;,i+)scanf(%d,8A)第3行有错误B)第7行有错误C)第5行有错误D)没有错误,参考答案【A】,16.下面程序(每行程序前面的数字表示行号)。1main()23floataa10=0.0;4inti;5for(i=0;i3;i+)scanf(%d,8A)3B)6C)7D)5,参考答案【C】,参考答案【D】,18.下面程序(每行程序前面的数字表示行号).1main()23inta30;4inti;5for(i=0;i3;i+)scanf(%d,8A)没有错误B)第3行有错误C)第5行有错误D)第6行有错误,参考答案【D】,19.若二维数组a有m列,则计算任一元素aij在数组中位置的公式为_(假设a00位于数组的第一个位置上。)A)i*m+jB)j*m+iC)i*m+i一1D)i*m+i十120.对以下说明语句的正确理解是。inta106,7,8,9,10;A)将5个初值依次赋给a1至a5B)将5个初值依次赋给a0至a4C)将5个初值依次赋给a6至a10D)因为数组长度与初值的个数不相同,所以此语句不正确,参考答案【D】,参考答案【B】,21.以下不正确的定义语句是。A)doublex5=2.0,4.0,6.0,8.0,10.0;B)inty5=0,1,3,5,7,9;C)charcl=1,2,3,4,5D)charcZ=x10,xa,x8;22.若有说明:inta3(1,2,3,4,5,6,7;则a数组第一维的大小是().A)2B)3C)4D)无确定值23.若二维数组a有m列,则在aij前的元素个数为。A)i*m+iB)i*m+jC)i*m+j-1D)i*m+j+1,参考答案【B】,参考答案【B】,参考答案【B】,24.定义如下变量和数组:intk;a331,2,3,4,5,6,7,8,9;则下面语句的输出结果是。for(k=0;k0则该程序段的功能是().A)对数组a进行插入排序(升序)B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序)D)对数组a进行选择排序(降序),参考答案【A】,参考答案【B】,26.以下正确的定义语句是。A)inta14=1,2,3,4,5);B)floatx3=1,2,3;C)longb23=1,l,2,1,2,3D)doubley3=0;27下面程序的运行结果是。main()inta66,i,j;for(i=1;i6;i+)for(i=l;i6;j十)aij(i/j).(j/i);for(i=1;i0)D)if(strcmp(s1,s2)0),参考答案【D】,参考答案【B】,参考答案【D】,参考答案【D】,39、下面程序段是输出两个字符串中对应字符相等的字符。请选择填空。charxProgramming;charyFortran;inti=0;while(xi!=0,A)xi+B)y十iC)xiD)yi40下面描述正确的是。A)两个字符串所包含的字符个数相同时,才能比较字符串B)字符个数多的字符串比字符个数少的字符串大C)字符串“STOP_”与“STOP”相等D)字符串”That小于字符串,The(_表示空格)41下述对c语言字符数组的描述中错误的是。A)字符数组可以存放字符串B)字符数组的字符串可以整体输入、输出C)可以在赋值语句中通过赋值运算符“”对字符数组整体赋值D)不可以用关系运算符对字符数组中的字符串进行比较,参考答案【A】,参考答案【D】,参考答案【C】,第七章函数,1、以下关于建立函数的目的的说法正确的是。A)提高程序的执行效率B)提高程序的可读性C)减少程序的篇幅D)减少程序文件所占内存2、以下正确的说法是。A)用户若需调用标准库函数,调用前必须重新定义B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义C)系统根本不允许用户重新定义标准库函数D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调,参考答案【B】,参考答案【B】,3、以下正确的函数定义形式是()。A)doublefun(intx,inty);B)doublefun(intx;inty);C)doublefun(intx,inty);D)doublefun(intx,y);4、以下正确的函数形式是。A)doublefun(intx,inty)z=x+y;returnz;B)fun(intx,y)intz;returnz;C)fun(x,y)intx,y;doublez;z=x十y;returnz;D)doublefun(intx,inty)doublez;z一x十y;returnz;5、以下正确的说法是。在C语言中A)实参和与其对应的形参各占用独立的存储单元B)实参和与其对应的形参共占用一个存储单元C)只有当实参和与其对应的形参同名时才共占用存储单元D)形参是虚拟的,不占用存储单元,参考答案【A】,参考答案【D】,参考答案【A】,6、若调用一个函数,且此函数中没有return语句,则正确的说法是。该函数A)没有返回值B)返回若干个系统默认值C)能返回一个用户所希望的函数值D)返回一个不确定的值7、以下不正确的说法是。C语言规定A)实参可以是常量、变量或表达式B)形参可以是常量、变量或表达式C)实参可以为任意类型D)形参应与其对应的实参类型一致8、以下正确的说法是。A)定义函数时,形参的类型说明可以放在函数体内B)return后边的值不能为表达式C)如果函数值的类型与返回值类型不一致,以函数值类型为准D)如果形参与实参的类型不一致,以实参类型为准9、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_A)地址传递B)单向值传递C)由实参传给形参,再由形参传回给实参D)由用户指定传递方式,参考答案【D】,参考答案【B】,参考答案【C】,参考答案【B】,10、以下程序有语法性错误,有关错误原因的正确说法是_main()intG=5,k;voidprt_char();k=prt_char(G);A)语句voidPrt_char();有错,它是函数调用语句,不能用void记说明B)变量名不能使用大写字母C)函数说明和函数调用语句之间有矛盾D)函数名不能使用下划线11、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_A)float型B)int型C)long型D)double型12、C语言规定,函数返回值的类型是由。A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定13、下面函数调用语句含有实参的个数为。func(exp1,exp2),(exp3,exp4,exp5);A)1B)2C)4D)5,参考答案【C】,参考答案【B】,参考答案【D】,参考答案【B】,14、以下错误的描述是。函数调用可以A)出现在执行语句中B)出现在一个表达式中C)做为一个函数的实参D)做为一个函数的形参15、以下程序的功能是计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。#include#includefloatf(float,float);main()floatx,y,z,sum;scanf(“%f%f%f”,【1】A)x-y,x+yB)x+y,x-yC)z+y,z一yD)z-y,z+y【2】A)x-y,x+yB)x+y,x-y)y,zy)z一y,z十y,floatf(floata,floatb)(floatvalue;value=a/b;return(value);,参考答案【D】,参考答案【BC】,、以下正确的描述是。在C语言程序中A)函数的定义可以嵌套,但函数的哪不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套17、以下程序是选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。请选择填空。sub(intk,intn)(intal,a2;a2【l】;al=k一【2】;if(k%3=0【1】A)k*10B)k%10C)k/10D)k*10%10【2】A)a2*10B)a2C)a2/10D)a2%10,main()intn=0,k,m;for(k=10;k=99;k+)m=sub(k,n);if(m!一l)n=m;printf(“nn=%d”,n);,参考答案【B】,参考答案【CA】,18、以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,A,B,C);则符合程序段运行结果的选项是。voidmove(chargetone,charputone)printf(“%c一一%cn”,getone,putone);voidhanoi(intn,charone,chartwo,charthree)if(n=1)move(one,three);elsehanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);A)A一一CA一一BC一一BB一一AC一一BA一一CA一一B,B)A一一CA一一BC一一AA一一BB一一CA一一CA一一B,C)A一一CA一一BC一一BA一一CB一一AB一一CA一一C,D)A一一CA一一BC一一BA一一CA一一BB一一CA一一C,参考答案【C】,19、若用数组名作为函数调用的实参,传递给形参的是。A)数组的首地址B)数组第一个元素的值C)数组中全部元素的值D)数组元素的个数20、已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为。inta34;f(a);A)f(intarray6)B)f(intarray3)C)f(intarray4)D)f(intarray25)21、若使用一维数组名作函数实参,则以下正确的说法是。A)必须在主调函数中说明此数组的大小B)实参数组类型与形参数组类型可以不匹配C)在被调函数中,不需要考虑形参数组的大小D)实参数组名与形参数组名必须一致,参考答案【A】,参考答案【B】,参考答案【A】,22、折半查找法的思路是:先确定待查元素的范围,将其分成两半,然后测试位于中间点元素的值。如果该待查元素的值大于中间点元素,就缩小待查范围,只测试中点之后的元素;反之,测试中点之前的元素,测试方法同前。函数binary的作用是应用折半查找法从存有10个整数的a数组中对关键m进行查找,若找到,返回其下标值;反之,返回一1。请选择填空。binary(inta10,intm)intlow=O,high=9,mid;while(low=high)mid=(low+high)/2;if(mamid)【2】elsereturn(mid);return(-1);【1】A)high=mid-1B)low=mid+1C)high=mid+1D)low=mid-1【2】A)high=mid-1B)low=mid+1C)high=mid+1D)low=mid-1,参考答案【AB】,23、以下正确的说法是。如果在一个函数中的复合语句中定义了一个变量,则该变量A)只在该复合语句中有效B)在该函数中有效C)在本程序范围内均有效D)为非法变量24、以下不正确的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电瓶电池知识培训内容课件
- 高空吊物安全知识培训课件
- 北京市社工证报考试卷及答案
- URAT1-inhibitor-13-生命科学试剂-MCE
- Dimethenamid-d3-生命科学试剂-MCE
- 北京安全员a考试题库及答案
- 软件开发服务合同(编号5)
- 护士转正考试题及答案
- 个人与团队管理机考试题及答案
- 真菌学考试题及答案
- 代运营协议合同范本
- 《人格障碍》课件
- 座位表模板(空白)
- 部编版高一语文必修上册教学计划
- 青岛版六三制四年级上册数学1万以上数的认识和读法教学课件
- GB∕T 27011-2019 合格评定 认可机构要求
- 私企接待应酬管理制度(3篇)
- YX51-380-760型金属屋面板专项施工方案(32页)
- 国际商务(International Business)英文全套完整课件
- 编制说明—《殡仪服务规范》
- 人教版六年级数学教材解读
评论
0/150
提交评论