C语言基础练习题含答案_第1页
C语言基础练习题含答案_第2页
C语言基础练习题含答案_第3页
C语言基础练习题含答案_第4页
C语言基础练习题含答案_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

6.6.c语言基础知识1.1选择题1.以下不是C语言的特点的是()语言简洁紧凑能够编制出功能复杂的程序C语言可以直接对硬件操作C语言移植性好,不可用作C语言标识符的是()C.123A、B、C、D、2.下列字符序列中A.abc123_ok正确的C语言标识符是()A._buy_2buy?请选出可用作A.2aB.3.D4.DOsizeof5.D7.是A.voiddefineWORDB•2_buyC.?_buyC语言用户标识符的一组标识符B.a3b3123-abcIFCasezoC.For不属于转义字符的是(B.\0xAA、列符号中,A.\\\0不属于C语言关键字的是()。A.int B.breakcharacterC语言提供的合法关键字的是()。Float B./oc.C.\twhilesignedC.integer以下不能定义为用户标示符的是(A.scant B.VoidC.integer以下不能定义为用户标示符的是(A.scant B.Voidint一个C程序是由()。D・CharC.3comD9.—个主程序和若干子程序组成—个或多个函数组成若干过程组成若干子程序组成C语言程序的基本单位是()。C•函数A.程序行 B.C•函数D字符下列说法中,错误的是()。A•每个语句必须独占一行,语句的最后可以是一个号,也可以是一个回车换行符号也不B•每个函数都有一个函数头和一个函数体,主函数例外也不可以C•主函数只能调用用户函数或系统函数,用户函数相互调用可以只能D•程序是由若干个函数组成的,但是必须有、而且有一个主函数只能以下说法中正确的是()。C语言程序总是从第一个定义的函数开始执行B•在C语言程序中,要调用的函数必须在main()函数中定义C语言程序总是从main()函数开始执行C语言程序中的main()函数必须放在程序的开始部分C编译程序是()。A•C程序的机器语言版本BA•C程序的机器语言版本B•一组机器语言指令C•将C源程序编译成目标程序D•由制造厂家提供的一套应用软件14•以下选项中,合法的用户标识符是()OA.long B._2abcC.3dmax15•以下选项中,合法的实型常数是()OA• B・E-3 C-2E0B•字符aC-字符cD•非合法转义字符的选项是()0B•^01&C-'xabT8・以下选项中,正确的字符常量是()OB・’’’ C-'W^D-16-已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’WT是()0A•字符A法的常量17•以下选项中,A・,D•'ahc,19-以下选项中可作为C语言合法整数的是A・10110BB・0386 C-OXffaD-x2a2•下列变量定义中合法的是A•shorta=;B•doubleb=1+;C•longdo=0xfdaL;D•float2and=1-e-3;•与数学式子空丨对应的C语言表达式是02X1A•9*xAn/(2*x-1)B•9*x**n/(2*x-1)9*pow(x,n)*(1/(2*x-1))9*pow(n,x)/(2*x-1)A.B.C.D.22•若有代数式则不正确的C语言表达式是0。cdA.B.C.D.a/c/d*b*33*a*b/c/d3*a*b/c*da*b/d/c*323.已知各变量的类型说明如下:intm=8,n,a,b;unsignedlongw=10;doublex=,y=;则以下符合C语言语法的表达式是0oA.B.A.B.C.D.x%3y=float(m)24.以下符合C语言语法的赋值表达式是0。A.B.A.B.C.D.25.a=(9+b,c=d+9)a=9+b,b++,c+9a=9+b++=c+9已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S二A+63后,S中的值为0。TOC\o"1-5"\h\z,,68不确定的值\o"CurrentDocument"'26.语言中,要求运算数必须是整型的运算符是

B.++C.*A./B.++C.*D.%27•若有说明语句:chars=\72^则变量s0。A•包含一个字符B•包含两个字符C.包含三个字符D•说明不合法,S的值不确定28.若有定义:intrn=7;floatX二,y二;则表达式x+m%3*(int)(x+y)%2/4的值是()。A.B.C.D.29•在C语言中,char型数据在内存中的存储形式是0A•补码B•反码原码ASCII码30.设变量X为floQt类型,m为int类型,则以下能实现将X中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()0A.B.A.B.C.D.m=x*100+,x=m/x=x*100+x=(x/100+*31.表达式13/3*sqrt/8的数据类型是()。intB.float

doubleD•不确定32.设以下变量均为int类型,则值不等于7的表达式是/OA・B・A・B・C.D.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是()oC.6B.87C.6B.82已知s是字符型变量,下面不正确的赋值语句是0。A. s=^\012^;s='u+v;'s二T+'2';s=1+2;已知35.已知s是字符型变量,下面正确的赋值语句是(s=*'abc^;s=^\0&;s='xde';s=^\0&;s='xde';s二””;36.若有以下定义,则正确的赋值语句是(C.D.intx,y;float乙x=1,y=2,x=y=100C•Xh;D.x=int(Z);37.设X、y均为float型变量,则不正确的赋值语句是()。A.++X;x*=y-2;y=(x%3)/10;D.x=y=0;38.A.B.a=7+b+c=a+7;3=7+b■-=3.+7;a=7+b,b++,a+7D.a=7+b,c=a+7;39.putchar函数可F列语句中符合CD.x=y=0;38.A.B.a=7+b+c=a+7;3=7+b■-=3.+7;a=7+b,b++,a+7D.a=7+b,c=a+7;39.putchar函数可C.以向终端输出一个()OA•整型变量表达式值。B•字符串C•实型变量值。D•字符或字符型变量值。40.以下程序段的输出结果是()。inta=12345;printf(”%2d\rr,a);12A.1234C.12345提示出错、无结果34C.12345提示出错、无结果和y均定义为int型,Z定义为double型,以下不合D.41.若X法的seanf()函数调用语句为0。A.B.C.D.42.scant(”%d%lx,%le''A.B.C.D.42.seanf(”%2d*%d%lf”,&x,&y,&z);semnfC'%x%*d%o”,&x,&y);semnf(”%x%o%”,&x,&y,&z);有如下程序段:intx1, x2;ehary1, y2;A、B,正scant(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1>y2的值分别为10、A、B,正确的数据输入是()o(注:「代表空格)10AJ20B10-A20B10AJ20B10-A20B10JALJ20LJB10A20B.C.D.43.若变量已正确说明为float类型,要通过语句seanf(”%f%f%f”,&3,&b,&c);给a赋予,b赋予,c赋予,不正确的输入形式为()。A.B.WV回车A.B.,,v回车>22V回车〉33C.D.V回车>C.D.W22V回车>33<回车〉44.V回车>33<回车〉44.有如下程序,若要求x1、x2、y1>y2的值分别为W、20、A、B,正确的数据输入是()o(注:「代表空格)intx1, x2;chary1, y2;scant(”%d%d”, &x1,&x2);scant(”%c%c”,&y1,&y2);1020ABB.D.45.10-20-ABCB.D.45.C.10J20W」20ABAB已有定义inta=-2;和输出语句:pnntf(”%8lx”,a);以下正确的叙述是()0A.整型变量的输出格式符只有%d一种B.数据C.D.%x是格式符的一种,它可以适用于任何一种类型的%x是格式符%8lx不是错误的格式符,其中数字8规定了输出字段的宽度46.段,有如下程序47.B.D.48.对应正确的数据输入是(floatx,y;scQnf(”%f%f”,&x,&y);printf(”3=%f,b=%f”,x,y);A.V回车>>V叵B.,V回车车〉C.A=,B=V回车>D.V回车>有如下程序段,从键盘输入数据的正确形式应是()。(注:「代表空格)floatx,y,乙scanf("x=%d,y=%d,z=%d,&3,&y,&z);A.123x=1,y=2,z=3C.1,2,3X=1LJy二2—z=3以下说法正确的是()0A.输入项可以为一个实型常量,如seanf(”%f”,;B•只有格式控制,没有输入项,也能进行正确输入,如seanf(”a=%d,b=5d);C•当输入一个实型数据时,格式控制部分应规定小数点后的位数,如semnfC'%”,&f);D•当输入数据时,必须指明变量的地址,如scanf(”scanf(”%f”,&f);49.根据定义和数据的输入方式,输入语句的正确形式为:Oo(注:「代表空格)已有定义:floatx,y;数据的输入方式:V回车>V叵”,&x,&y);B.C.D.车>A.sc3n(”%f,%f”,&x,&y);scanf(”%f%f”,&x,&y);seanf(^^%」%”,&x,&y);scmnf(”%%”,&x,&y);根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为()omain(){ehars1,s2,s3;输入语句;printf(”%e%e%e”,s1,s2,s3);输入形式:A」CV回车>代表空格)输出形式:Aseanf(”%e%e%”e,&s1,&s2,&s3);seanf(^^%ej%」c%c”,&s1,&s2,&s3);semnf(”%e,%e,%e”,&s1,&s2,&s3);semnf(”%e%e”,&s1,&s2,&s3);以下程序的执行结果是:()。fr-II^^^^main(){intx=2,y=3;printf(”x=%%d,y=%%d\n”,x,y);B.x=%2,y=%3x=%%d,y=%%d

B.C.x=2,y=3x=%d,y=%d52•以下程序的输出结果是C.x=2,y=3x=%d,y=%d52•以下程序的输出结果是0。main(){printf(”\nstring1=%15s*”printf(”\nstring2=%-5s*”printf(”string3=%2s*””(注:「代表空格)D.,”Programming”);,”boy”);girl”);stringl=programming"口stringir」」」programming*string2=boy*sthng2=boy」」sthng3=gi*string3=gi*1111111stringl=programming□□□勺1111111stringl=programming*sthng2=】一口一】boy*string3=girl*sthng2=boy】一口一】*string3=girl*根据题目中已给出的数据的输入和输出形式,程序中输入输岀语句的正确内容是()omain(){inta;floatb;输入语句输出语句输入形式:1输入形式:1回车>(注:「代表空格)输出形式:a+b=A.scanf(”%d%”f,&a,&b);sc3nf(”%d%”,&3,&b);printf(”\n3+b=%”,a+b);printf(”\n3+b=%f”,a+b);sc3nf(”%d,%f”,&3,&b);scmnf(”%d%f”,&a,&b);printf(”\n3+b=%”,a+b)printf(”\n3+b=%f”,a+b);阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为()omain(){inta,b;scanf(”%d%d”,&3,&b);printf(”a+b二%d\rr,a+b);B-有语法B-有语法C.a+b=12值 D.不确定55.若有定义:intx,y;chars1,s2,s3;并有以下输出数据:(注:「代表空格)1」2v回车>ULJVLJWv回车>则能给X赋给整数1,给y赋给整数2,给si赋给字符U,给S2赋给字符V,给S3赋给字符W的正确程序段是()。A.scant(x=%dy二%cr,&x,&y);s1=getchar();s2=getchar();s3=getchar();seanf(^^%d%d”,&x,&y);s1=getchar();s2=getchar();s3=getchar();seanf(^^%d%d%c%c%c”,&x,&y,&s1,&s2,&s3);scanf(”%d%d%c%c%c%c%'c%&x,&y,&s1,&s1,&s2,&s2,&s3,&s3);1.2填空题C语言的符号集包括—英文字母、数字、一些有特定含义的标点符号结构化设计中的三种基本结构是顺序结构、选择结构、彳®勾C语言源程序文件的后缀是一C,经过编译后生成文件的后缀是OBJ,经过链接后生成文件的后缀是_EXEoC语言的关键字都用尘写{大写或小写}。一个函数由两部分组_06.7.&成,它们是 函数说明部分和函数体_06.7.&函数体_般包括变量定义部分和执行部分。C语言是通过输入输出函数来讲行输入和输出的。以下程序的执行结果dec:doct:177777,hex:ffff,unsigned:65535dec:1,oct:1,hex:1,unsigned:1。main(){shorti=-1J=1;printf(^^dec:%d,oct:%o,hex:%x,unsigned:%u\nJJJJ);printf(”dec:%d,oct:%o,hex:%x,unsigned:%u\6JJJJ);}9.以下程序的执行结果是一dec:98,oct:142,hex:62,ASCII:b。#include””main(){chars='b^printf(^^dec:%d,oct:%o,hex:%x,ASCII:%c\rr,s,s,s,s);}10•以下程序的执行结果是+00,+00,+00,=(注:「代表空#ineludemain()o+00floatpi=;printf(”%f,%.4f,%,%”,pi,pi,pi,pi);printf(”\n%e%4e%%”,pi,pi,pi,pi);}11・以下程序的执行结果是: ir- 1 1main(){charc=^c^+5;printf(^^c=%c\n”,c);12.以下程序输入1吃LJ3后的执行结果是(注:「代表空格)#ineludemain(){intij;chark;scanf(\%d%c%d”,&i,&k,&j);prin廿(”=%d,k=%c,j=%d\n”,i,k,j);J=20后的执行结果是后的执行结果是;若输入为:98J76-543210 ;若输入为:oo(注:987654」3210后的执行结果为:「代表空格)main(){intx1,x2;chary1,y2;scanf(”%2d%3d%3c%c”,&x1,&x2,&y1,&y2);printfCx1=%d,x2=%d,y1=%c,y2=%c\n”,x,y);14•若X和y均为int型变量,则以下语句的功能x+=y;y=x-y;x-=y;有一输入函数scanf(”%d”k)侧不能使float类型变量k得到正确数值的原因是: 。有如下程序段,输入数据:12345ffl678后,u的值是[11,v的值是【2】。intU;floatV;scant(“%3d%”,&u,&v);1.3答案及部分解析选择题答案1.B2.B3.A4.B5.B6.D7.B8.D9.B10.C11.A12.C13C14.B15.C16.A17.A18.C19.C20.A21.C22.c23./B5.A28.A31.C37.C43.B49.B26.D30.B32.C36.C38.D42.A44.D48.D50.A54.DC语言规定标识符只能由字母、数字和下划线4.B40.C46.A52.D5.D14.解析:种字符组成,且第一个字符必须为字母或下划线。而且不能与C语言规定的关键字同名。关键字女口:auto,break,case,char,const,continue,default,do,double,else,entry,extern,for,float,goto,if,int,int,long,register,return,short,signed,sizeof,static,struct,unsigned,while,switch,typedef,void,volatile,unioro这些关键字先不必硬背下来,随着后续的学习,你将发现它们都是一些数据的类型、语句等,自然会随着学习的深入,而记下来。用指数形式表示一个实型常数时, E或e之前必须有数字,且E后面指数必须为整数。^\101^为转义字符,相对应一个ASCII码字符。(65)io=A.转义字符的特征是以“”开头,其后跟一些字符,如”,\b,\f等代表一些特殊的含15.解析:解析:(101)8=解析:义,而后如跟数字,可以为八进制或者十六进制,将其转换为对应的ASCII码值,就可以得出对应的字符。“”后跟八进制的写法:\0nn,或者\nn,表示“\0”或者“”后只能跟1或3位0——7之间的数字;“”后跟十六进制的写法:\xnn,或者\nn,表不“\x”或者“”后只能跟1或2位0——9及a——f(A——F)之间的字符。选项B的错误在于8不是八进制;而选项C的错误在于没有“”;选项D的错误在于超长(多了一位)。21解析:B的错误在于赋值语句的左侧只能为一个简单变量,女口:n=3*(n=18);C的错误在于%运算符只能适用于整型数据,D的错误在于作类型转换时,应将类型加上括旦即为;y=(float)m31解析:逗号表达式的最终结果为最右端的表达式(即x+y)的值,其运算顺序是从左自右的。第三个表达式y++,其隐含有两步操作:先取y的原值,再执行y二y+1运算;而本题中,虽然没有将y赋给某个变量(取其原值),但还是一定会执行加运算的。经自加为6,故x+y的值为8,相对应得表达式最终结果为8o若本题改为:(x=:2,y二5,Z二y++,X+Z),则其结果应为7。二填空题答案答案:答案:答案:答案:答案:答答答案:答专案:因而,经过第三个表达式,y已23456.9.10英文字母、数字、一些有特定含义的标点符号顺序结构、选择结构、循环结构C,OBJ,EXE小写函数说明部分和函数体变量定义部分和执行部分输入和输出函数dec:-1,oct:177777,hex:ffff,unsigned:65535dec:1,oct:1,hex:1,unsigned:!dec:98,oct:142,hex:62,ASCII:bJJJ丄cc丄cc丄ccI亠nn(注:由于C编译系统不同,我们上机使用的机器,其第二个printf语句实际结果为:+00,+00,+00,」亠00,即:小数点后取5位。)答案:c=h12•答案:iT,k二」j=213.答案:第一种情况的执行结果:x1=98,x2=765,y1=4,y2=1第二种情况的执行结果:x1=98,x2=76,y1=L<y2=3第三种情况的执行结果:x1=98,x2=765,y1=4,y2=214.答案:交换X和y的值15•答案:(1)格式符应为:%f; (2)变量前边未加取地址符&即应为scant(%f”,&k);16.答案:【1】123 【2】第二章选择结构2.1选择题已有定义:intX二3,y二4,Z二5;则表达式!(x+y)+z-1&&y+z/2的值是(D)o6B.0 C.2D.1设a=5,b=6,c=7,d=8,rn=2,n=2,JJ!iJ执行(rn=a>b)&&(n=c>d)后n的值为(B)。1 B.2 C.3 D.4设X、y和z都是int类型变量,且x=3,y=4,z=5,则下面的表达式中,值为0的表达式为(D)OB.x<=yD.!((x<y)&&!z||1)B.x<=yD.!((x<y)&&!z||1)C语言规定else总是与(C)C.x||y+z&&y-z4•为了避觅嵌套的if-else语句的二义性,组成配对关系。A•缩排位置相同的ifB•在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的ifD)o逻辑运算符两侧运算对象的数据类型(D)oA•只能是0或1B•只能是0或非0正数只能是整型或字符型数据可以是任何类型的数据C)o以下关于运算符优先顺序的描述中正确的是(C)o关系运算符V算术运算符V赋值运算符V逻辑与运算符逻辑与运算符V关系运算符V算术运算符V赋值运算符赋值运算符V逻辑与运算符V关系运算符V算术运算符算术运算符V关系运算符V赋值运算符V逻辑与运算符下列运算符中优先级最高的是(C)oD.!V B.&& C.+D.!8.if(a=b)C++;if(a=<b)C++;if(a<>b)C++;if(a=>b)C++;"当X选择出合法的if语句(设intX,a,b,c;)(A)8.if(a=b)C++;if(a=<b)C++;if(a<>b)C++;if(a=>b)C++;"当XB.C.D.9.能正确表示“当X的取值在卜58,-40]和[40,58]范围内为真,否则为假”的表达式是(C)o9.(x>=-58)&&(x<=-40)&&(x>=40)&&(x<=58)(x>=-58)II(x<=-40)II(x>=40)II(x<=58)(x>=-58)&&(x<=-40)II(x>=40)&&(x<=58)(x>=-58)I|(x<=-40)&&(x>=40)II(x<=58)A.(x>=-58)&&(x<=-40)&&(x>=40)&&(x<=58)(x>=-58)II(x<=-40)II(x>=40)II(x<=58)(x>=-58)&&(x<=-40)II(x>=40)&&(x<=58)(x>=-58)I|(x<=-40)&&(x>=40)II(x<=58)B.C.D.10.判断chmr型变量s是否为小写字母的正确表达式是(C)。10.A. 'q'v=sv='z' B.(s>=^a^)&(SV二'z')D.(^a^<=s)andC.(S>二'3)&&(S<='Z^)D.(^a^<=s)and('z^>=s)11•若希望当X的值为奇数时,表达式的值为“真”,X的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(C)。A.x%2==1 B.!(x%2==0)x%2II!y)x%2II!y)的值是已知x=45,y='a^z=0;贝9表达式(x>=z&&yv'z^(C)oB•B•语法错D.“假”C.1指出下列程序段所表示的逻辑关系是(B)oif(avb){if(c==d)x=10;x=10;Jelsex=-10;A.10ab且cd10ab且cd10B.10ab且cd10abC.10ab且cd10ab且cdD.10ab且cdcd14.有函7数:1X00X0,以下程序段中不能根据X值正确计算出y值的是:CbA.if(x>0)y=1;elseif(x==0)y=0;elsey=-1;y=o;if(x>0)y=1;elseif(x<0)y=-1;y=o;if(x>=0)if(x>0)y=1;elsey=-1;if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;15.执行以下语句后,y的值为(A)。intxyz;B.C.D.x=y=z=O;++X ++y&&d~~z;C.2A.0 B.1C.2D•不确定值已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是(B)if(a>b)c=a;a=b;b=c;A.a=1,b=2,c=3B.a=2,b=3,c=3D.3=2,b=3,c=2B.a=2,b=3,c=3D.3=2,b=3,c=2请阅读以下程序:该程序(C)#include”stdio.h”main(){intx=-10,y=5,z=0;if(x=y+z)printf(”***\n");elseprintf(”$$$\rr);A•有语法错不能通过编译B.可以通过编译但不能通过连接输出***输出$$$18.以下程序的运行结果是(C)o#include””main(){inta=1;if(a++>1)printf(”%d\rr,a);elsepriritf(”%d\rr,a-);B.1A.0B.1D.319.当a=1,b=2,c=4,d=3时,执行完下面一段程序后X的值是(B) P2if(a<b) •if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=4;elsex=5;A.1 B.2 C.3D.420.执行以下程序段后,变量x,y,z的值分别为(B)。inta=1,b=0,x,y,z;x=(—a==b++)?--a:y=a++;z=bA.c.++b;x=O,y=O,z=Ox=0,y=1,z=0B.x=-1,y=-1,z=1D.x=-1,y=2,z=1w=(a<b)?•a:b;w=(w<c?•W:c;w=(w<d?•W:d;A.1B.2C.3D.421.若乩b、w值是(A)。a=1;b=2;c=3;d=4;main()C、d、w均为int类型变量,则执行下面语句后的inta=5,b=4,c=6,d;22.以下程序的输出结果是(C)o#includeprintf(”%d\rr,d=a>b?a>c?a:c:b)A.5D•不确定23.若a>B.4C.6b、c1>c2>A.5D•不确定23.若a>B.4C.6b、c1>c2>X、y均为整型变量,(D)oA•switch(a+b);{case1:y=a+b;break;break;case0:y=a-b;x=a*d;break;break;IE确的switch语句是B.switcha{casec1:y=a-b;casec2:C.switch(a*a+b*b){case3:break;case1:y=a+b;break;break;case3:y=b-a;break;y=a-b;break;default:x=a+b;D.switch(a-b){default:y=a*b;case3:x=a+b;(C)case10:case1124•执行下列程序,输入为3的数出结果是(C)case10:case11#includemain()intk;scQnf(”%d”,&k);switch(k){case1:printf(”%d\rr,k++);case2:printf(”%d\rr,k++);case3:priritf(”%d\rr,k++);case4:printf(”%d\n”,k++);break;default:printf(”Full!\n”);B.4C.3

B.4D.4425.假定等级和分数有以下对应关系:10084等级:A 分数:85一10084等级:B 分数:60-等级:C 分数:60以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是(D)oA.switch(grade){case^A^:printf(”85 lOO'n”);case^:printf(”60 845”);cmse'C':printf(”v60\rr);default:printf(”gradeiserrorAn”);B.switch(grade){case^A^:printf(”85 WO'n”);break;case^:printf(”60 845”);case^C^:printf(”v60\rr);default: printf(”gradeiserror!\rr);.switch(grade)case^A:printf(”85 lOO'n”);bremk;case^ :printf(”60 845”);break;case^C^:printf(”<60\n'^);default:printf(gradeiserror!\rr);D.switch(grade){case^C^:printf(”v60\rr);break;case'B,:printf(”60 84\n”);break;default:printf(”gradeiserror!\rr);break;case^A^:printf(”85 lOO'n”);}26・有如下程序,写岀该执行结果(C)ott・ II””main(){floatx=,y;if(x<y=;elseif(x<y=x;elsey=;printf(”%f\rr,y);A. B・ C・ D.27.以下程序的运行结果是(C)omain()inta=2,b=-1,c=2if(a<b)if(b<0)c=0;elseC++;,c);printf(”%d\n”,c);A.0D.32&运行以下程序后,#include””main()B・1如从键盘上输入C.2china#则输岀为(C)intv1=0,v2=0;charch;while((ch=getchar())!='#')switch(ch)case'a':case,h,:default:v1++;case'o':v2++;printf(”%a%d\rr,v1,v2);B.5,0A.2,0B.5,0D.2,5C.5,529•有以下程序,若输入为字符s,则程序运彳丁结果为(A)C.5,5«・ I Imain()

charch;ch=getchar();switch(ch){case'a^:printf(”a二%c\rr,ch);default:printf(”encH'rT);case':printf(b二%c\rr,ch);c二%c\iT,ch);A.D.a=send!end!

b=sb二%c\rr,ch);c二%c\iT,ch);A.D.a=send!end!

b=send!C.有语法错误c=s30.有以下程序,程序运行后的输出结果是(#includemain()inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;printf(”%d\rr,m);B.2C.3D.42.2填空题585858o1•若从键盘输入5&则输出结果是585858o#ineludemain()inta;seanf(^^%cr,&a);if(a>50)printf(^^%d”,a);if(a>40)printf(”%d”,a);设int2. 设int2. x=9,y=8;表达式x==y+1的结果是 13.4.5.o定义intX,y;执行y=(x=1,++x,x+2);后,y的值是_4 定义intx=10,y,乙执行y=z=x;x=y==z;后,x的结果是一1设inta=1,b二2,e,d,e;执行e=(-a++)+(++b);d=(b--)+(++a)-a;e二⑻(++b))-(a/(-a));请问a,b,e,d,e的结果是:23230。6.设inta二2,b二3,c,d,e,f;执行e=(a++>=--b);d=(a==++b);e=(a--!=b);6.f=(++a>b-);请问a,b,e,d,e,f的结果是:_321100以下程序的运行结果是_200 #include””main()inta,b,e,s,w,t;s=w=t=0;a=-1;b=3;c=3;if(oO)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;elseif(oO)w=a-b;elset=c;printf(”%d%d%d”,s,w,}以下程序的运行结果是_100_include"”main()inta,b,c,d,e;a=c=1;b=20;d=100;if(!a)d=d++;elseif(!b)if(d)d=-d;elsed=d-;printf(”%d\n\rr,d);9.以下程序的运行结果是_625000 O#includemain()inta,b=250,c;if((c=b)<0)a=4;elseif(b=0)a=5;elsea=6;p「intf(”\t%d\t%d\rr,a,c);if(c=(b==0))a=5;printf(”\t%d\t%d\rr,a,c);if(a=c=b)a=4;printf(Jt%d\t%d\rr,a,c);10•下面程序根据以下函数关系,对输入的每个 X值,计算出y值。请在【】内填空。Xy2<x<=10x(x+2)-1<x<=21/xx<=-1x-1main()intx,y;scmnf(”%d”,&x);if(【1】)y=x*(x+2);elseif([2])y=1/x;elseif(x<=-1)y=x-1;else[3];if(y!=-1)printf(”%d”,y);elseprintf(^^error'';11•以下程序的功能是计算一兀二次方程ax^+bx+c=0的根。请在【】内填入正确内容。#includemain()floata,b,c,t,disc,w,term1,term2;printf(”enterabc”:);scQnf(%f%f%f”,&Q,&b,&c);if(【1】)if([2])printf(”noanswerduetoinputerror'n”);elseprintf(”thesinglerootis%f\rr,-c/b);else{disc=b*b-4*a*c;w=2*a;term1=-b/w;t=abs(disc);term2=sqrt(t)/w;if(【3】)printf(”complexroot\nrealpart=%fimagpart=%f\rr,term1,term2);elseprintf(”realroots\nroot1=%froot2=%f\n,term1+term2,term1-term2);以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请在【】内填入正确内容。#include””include””main()floata,b,c,s,area;printf(”pleaseinputthreeedgesofatriangle”:);sc3nf(”%f%f%f”,&3,&b,&c);if(【1】){s=(a+b+c)/2;area=sqrt(s*(s-A*(s-B*(s-c));printf(”\ntheareaofthetriangleis:%”f,area);if((a==b)&&(b==c))printf(”等边三角形”);elseif([2])printf(”等腰三角形”):elseif([3])printf(”直角三角形”):elseprintf(”一般三角形”):elseprintf(”不能组成三角形”);H3.以下程序的功能是判断输入的年份是否是闰年。请在【】内填入正确内容。main()intyear,flag;printf(”pleaseinputtheyeartojudewhetheritisaleapyear:'');sc3nf(”%d”,&year);if(year%400==0)flag=1;elseif(【1】)flag=1;else[2];if(flag)printf(”%disaleapyear\n”,year);elseprintf(”%disnotaleapyearl'n”,year);以下程序是对用户输入的字母进行大小写转换。请在【】内填入正确内容。main()charch;printf(”pleaseinputaletter”:);sc3nf(''%c'',&ch);if([1])ch=ch+32;elseif(ch>='a^&&ch<='z)[2]:printf(”theconvertedletteris:%c\rr,ch以下程序是对从键盘输入的任何三个整数,求出其中的最小值。请在【】内填入正确内容。#include””main()inta,b,c,min;primf(”pleaseinputthreenumbers”:);sc3nf(”%d%d%d”,&Q,&b,&c);if(【1】)min=b;elsemin=a;if(min>c)【2】;printf("min二%d\rr,min);以下程序实现这样的功能:商店卖西瓜,10斤以上的每斤元,'n8斤以上的每斤元,6斤以上的每斤元,4斤以上的每斤元,4斤以下的每斤元,从键盘输入西瓜的重量和顾客所付钱数,则输出应付款和应找钱数。请在【】内填入正确内容。'n#include””main()floatweight,money,rate;printf(”thepaidmoneyoftheclientis:”);scanf(”%f”,&money);printf(”theweightofthewatermelonis:”);scanf(”%f”&weight);if(【1】)rate=;elseif(weight>8)rate=;elseif(weight>6)[2];elseif(weight>4)rate=;[3]rate=;printf("theaccountpayableofthewatermelonis%f\”n,weight*rate);printf(”thechangeforclientis%f\rr,money-weight*rate);}以下程序段的运行结果是#include””main()charch1=,a',ch2=^A'switch(chi)casea:switch(ch2){case'X:printf(^^goocH'rT);break;case^B':printf(”badAn”);break;case^b':printfCjoke'iT;18•根据以下函数关系,对输入的每个X值,计算岀相应的y值请在【】内填入正确内容。Xyx<000<=x<10X10<=x<201020<=x<40+20main()intX,rate;floaty;printf(jpleaseinputthevalueofx");scanf(^^%几&x);if(【1】)rate=-1;elserate=[2];switch(rate){case-:y=0; break;case0:y=x; break;case1:y=10;break;case2:case3:y=*x+20;break;default:y=-2;if([3])printf("y=%f\n”,y);elseprin廿(”thevalueofxisinvalid!\n”);19.以下程序实现的功能是:从键盘输入某年某月,输出该年份该月的天数。请在【】内填入正确内容。#include””main()intyear,month,days,leap;primf(”pleaseinputbothyearandmonth”:);scmnf(”%4d/%2cr,&year,&month);switch([1]){case1:case3:case5;case7:case8:case10:case12:days=31;【2】case4:case6:case9:case11:days=30;break;case2:if(year%400==0)leap=1;elseif(year%4==0&&yeQr%100!二0)lempT;else[3];if(leap)days=29;elsedays=28;printf(”%d年%d月的天数为%d\rr,year,month,days);20.以下程序完成两个数的四则运算。请在【】内填入正确内容。#include””main()floatx,y;charoperator;printf(”pleaseinputtheexpressiorT:);scanf(”%f%c%f”,&x,&operator,&y);switch(【1】){case,+,:pnnH(”%g%c%g=%g\n”,x,operator,y,x+y);[2];case,-,:pnntf(”%g%c%g=%g\n”,x,operator,y,x-y);break;case^*,:printf(”%g%c%g=%g\n”,x,operator,y,x*y);break;case'r:if(y==printf(”除零错误!\rr);elsepnntf(”%g%c%g=%g\rT,x,operator,y,break;3】:printf(”表达式存在错误An”);}21.以下程序运行后的输出结果是 O#include””main()intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(”%d,%d\rr,x,y);X、yX、y和z的值分别为第三章循环结构3.1选择题1.以下程序的输出结果是(A)。main(){intn=4;while(n--)printf("%cr2.以下程序的输出结果是(A)。main(){intx=10,y=10,i;for(i=0;x>8;y=++i)printf(”%d%cr,x--,y);当执行以下程序段时(A)。x=-1;do{x=x*x; }while(!x);A.循环体将执行一次循环体将执行两次循环体将执行无数多次D.系统将提示有语法错误执行以下程序后输出的结果是(main(){inty=10;do{y--;}while(-y);printf("%d\n",y--);}5.下面程序的输出结果是()。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;printf("x=%d,y=%d,a=%d\n'\x,y,a);=4,y=4,a=1=5,y=5,a=1=5,y=4,a=3=5,y=4,a=1若ij已定义为int类型,则以下程序段中内循环的总的执行次数是()。for(i=5;i;i-)for(j=0;jv4;j++)请读程序:#include<>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;case2:a++;b++;break;printf("a=%d,b=%d\n",a,b);上面程序的输出结果是()o=2,b=1=1,b=1=1,b=0=2,b=28.若有以下程序段,w和k都是整型变量w=k;LB:if(w==0)gotoLE;W";printf(〃*〃);gotoLB;LE:则不能与上面程序段等价的循环语句是()for(w=k;w!=0;w-)print(…〃);w=k;while(w-!=0)printf("*"); w++;w=k;do{w-;printf(〃*〃);}while(w!=0);(w=k;w;--W)printf("*〃)9.下面程序的输岀是()omain()char;intk,v1=0,v2=0,v3=0,v4=0;for(k=0;s[k];k++)switch(s[k]){default:v4++;case1:v1++;case2:v2++;esse3:v3++;printf(v1=%d,v2=%d,v3=%d,v4=%d\n"} ,v1,v2,v3,v4);=4,v2=2,v3=1,v4=1=4,v2=9,v3=3,v4=1=5,v2=8,v3=6,v4=1=8,v2=8,v3=8,v4=810.有以下程序include""intabc(intujntv);main()Hntc,a=24,b=16;c=abc(a,b);priritf(〃%d\rr,c);Hntabc(intuJntv)Hntw;while(v){w=u%v;u=v; v=w;}returnu;}输岀结果是()O11.在下列选项中,没有构成死循环的程序段是()iTOO;while(1)H=i%100+1; if(i>100)break;for(;;)B.>=60.=2,surn=1B.>=60.=2,surn=1k=1000;do{++k;}while(k>=10000);s=36;while(s);-s;12•若输入B,以下程序的运行结果为(mQiri(){chargrade;scanf("%c",&grade);switch(grade){case'A':printf(">=85.");case'B':case'C':printf('>=60.");case'D':printf("<60.");default:printfCerrorJ);>=85.>=60.<..列程序运行的情况是(main(){inti=1,sum=0;while(i<10)sum=sum+1;i++;printf("i=%d,sum=%d"J,sum);=10,surn=9=9,surn=9D.运行出现错误有以下语句:i=1;for(;i<=100;i++)sum+=i;与攻上语句序列不等价M有()。for(i=1;;i++){sum+=i;if(i==100)break;}for(i=1;i<=100;){sum+=i;i++;}i=1;for(;i<=100;)sum+=i;

i=1;for(;;){sum+=i;if(i==100)break;i++;}15.下面程序的运行结果为( )omain(){intn;for(n=1;n<=10;n++){if(n%3==0)continue;printf("%d",n);下面程序的运行结果是(main(){intx,y,z;x=0;y=z=-1;x+=-z—y;printf("x=%d\n",x);=2B•只=2B•只=3标有严/的语句的执行次数是( )intyj;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/*7中,用以决定分支的在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式。A.只能用逻辑表达式能用关系表达式C.只能用逻辑表达式或关系表达式用任意表达式19•在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是()oC.(E==0)B.(E>0||E<0)A.(!E==0)C.(E==0)B.(E>0||E<0)(E!=0)20.假定所有变量均已正确定义,下列程序段运行后 X的值为()ok1=1;k2=2;k3=3;x=15;if(!k1)x--;elseif(k2)if(k3)x=4;else

x=3;21.执行下面语句的输出为()inti=-1;21.执行下面语句的输出为()inti=-1;if(i<=O)printf(elseprintf(****“%%n%”%);B.%%%%有错,执行不正确22.下列程序的输出是(#include<>main(){inti;charc;for(i=0;i<=5;i++){c=getchar();putchar(c);}程序执行时从第一列开始输入以下数据,换行符。u<CR>w<CR>xsta<CR>vCR>代表xsta23.下列程序的输出为()o#include""main(){intiJ,x=O;for(i=0;i<2;i++){x++;for(j-0;j<=3;j++){if(j%2)continue;x++;}X++;xsprintf("x=%d\n",x);=4=8=1224.下列程序的输出为()。#include<>main(){intiJ,k=O,m=O;for(i=0;i<2;i++){for(j=0;j<3;j++)k++;k-=j;}m=i+j;printf("k=%d,m=%d\n'\k,m);=6=0,rn=3=0,rn=5=1,rn=3=1,rn=525.在C语言中,为了结束while语句构成的循环,while后对圆括号中表达式的值应该为()O29.29.D•非0D•非027.26.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()OD•非027.'列程序的输出为()。#include<>main(){intk=0;charc='A';do{switch(c++){case'A':k++;break;caseB':k--;caseC:k+=2;break;case'D':k=k%2;continue;case'E':k=k*10;break;default:k=k/3;k++;while(c<'G');printf("%d\n",k);=3=4=2=028.C语言的if语句嵌套时,=028.C语言的if语句嵌套时,if与else的配对关系是()。每个else总是与它上面的最近的if配对每个else总是与最外的if配对每个else与if的配对是任意的每个else总是与它上面的if配对下列程序的输出为()0#include<>main(){inti=0J=0,a=6;if((++i>O)||(++j>O))a++;printf('1=%dJ=%d,a=%d\n"JJ,a);•I"!i!•I"!!■=0J=0,a=6=1J=1,a=7=1J=0,a=7=0,j=1,a=730.下列程序段的输出结果为(main(){intx=3;do{printf("%3d",x-=2);}while(!(-x));}0-2D・死循环3.2填空题:1.当输入19,2,21时下列程序运行的结果是main(){inta,b,c,max;printf("pleasescanthreenumbera,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf("maxis:%d",max);若输入字母G程序输出结果为【1】;若输入字符*,程序将【2]O#include<>main(){charc1,c2;c1=getchar();while(c1<97||c1>122)c1=getchar();c2=c1-32;printf("%c,%c\n",c1,c2);以下程序运行的结果为main(){inta,b,c,x,y,乙a=10;b=2;c=!(a%b);x=!(a/b);y=(a<b)&&(b>=0);z=(a<b)||(b>=0);printf("%d,%d,%d,%d\n",c,x,y,z);4.若输入4,程序运行结果为【1】,若输入运行结果为【2】,若输入10,运行结果为【3】main(){intx,y;seanf("%d",&x);if(x<1){y=x;prin廿("x=%d,y=x=%d\n'\x,y);elseif(x<10){y=2*x-1;prin廿("x=%d,y=2*x-1=%d\n",x,y);else{y=3*x-11;printf("x=%d,y=3*x-11=%d\n",x,y);sum=55o5•以下程序运行的结果sum=55omain(){inti=1,sum=0;loop:if(i<=10){sum+=i;i++;gotoloop;printf("sum=%d\n",sum);6•以下程序运行的结果_main(){intx=2,y,乙x*=3+1;printf("%d,",x++);x+=y=z=5;printf("%d/\x);x=y==z;printf("%d\n",x);以下程序运行的结果#include<>#include<>main(){inti,k,m,n=0;for(m=1;m<=10;m+=2){if(n%10==0)printf("\n");k=sqrt(m);for(i=2;i<=k;i++)if(m%i==O)break;if(i>k){printf("%2d",m);n++;如果输入“T, 程序运行输岀的是#include<>main(){charc;inti,k;k=0;for(i=0;i<4;i+

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论