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

下载本文档

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

文档简介

第一章C语言基础知识1.1选择题以下不是C语言的特色的是()。A、语言简短紧凑B、能够编制出功能复杂的程序C、C语言能够直接对硬件操作D、C语言移植性好以下字符序列中,不行用作C语言表记符的是()。A.abc123B.no.1C._123_D.-_ok正确的C语言表记符是()。A._buy_2B.2_buyC.?_buyD.buy?4.请选出可用作C语言用户表记符的一组表记符()。A.voidB.a3_b3C.ForD.2adefine_123-abcDOWORDIFCasesizeof5.以下符号中,不属于转义字符的是()。A.\\B.\0xAAC.\tD.\0不属于C语言要点字的是()。A.intB.breakC.whileD.character7.是C语言供给的合法要点字的是()。A.FloatB.signedC.integerD.Char.8.以下不可以定义为用户标示符的是()。A.scanfB.VoidC._3com_D.int一个C程序是由()。A.一个主程序和若干子程序构成B.一个或多个函数构成C.若干过程构成D.若干子程序构成C语言程序的基本单位是()。A.程序行B.语句C.函数D.字符以下说法中,错误的选项是()。.每个语句一定独占一行,语句的最后能够是一个分号,也能够是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只好调用用户函数或系统函数,用户函数能够互相调用D.程序是由若干个函数构成的,可是一定有、并且只好有一个主函数以下说法中正确的选项是()。A.C语言程序老是从第一个定义的函数开始履行B.在C语言程序中,要调用的函数一定在main( )函数中定义C.C语言程序老是从main( )函数开始履行D.C语言程序中的main( )函数一定放在程序的开始部分C编译程序是()。A.C程序的机器语言版本B.一组机器语言指令.C.将C源程序编译成目标程序D.由制造厂家供给的一套应用软件14.以下选项中,合法的用户表记符是()。A.longB._2abcC.3dmaxD.A.dat15.以下选项中,合法的实型常数是()。A.5E2.0B.E-3C.2E0D.1.3E16.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是()。A.字符AB.字符aC.字符cD.非法的常量17.以下选项中,合法转义字符的选项是()。A.’’B.’\018’C.’xab’D.’\abc’18.以下选项中,正确的字符常量是()。A.”F”B.’’’C.’W’D.’’19.以下选项中可作为C语言合法整数的是A.10110BB.0386C.0XffaD.x2a220.以下变量定义中合法的是A.short_a=1-.le-1;B.doubleb=1+5e2.5;C.longdo=0xfdaL;D.float2_and=1-e-3;9xn对应的C语言表达式是()。21.与数学式子2x1A.9*x^n/(2*x-1)B.9*x**n/(2*x-1)C.9*pow(x,n)*(1/(2*x-1))D.9*pow(n,x)/(2*x-1)22.如有代数式3ab,则不正确的C语言表达式是()。cdA.a/c/d*b*3B.3*a*b/c/d.C.3*a*b/c*dD.a*b/d/c*323.已知各变量的种类说明以下:intm=8,n,a,b;unsignedlongw=10;doublex=3.14,y=0.12;则以下符合C语语言法的表达式是()。A.a+=a-=(b=2)*(a=8)B.n=n*3=18C.x%3D.y=float(m)24.以下符合C语语言法的赋值表达式是()。A.a=9+b+c=d+9B.a=(9+b,c=d+9)C.a=9+b,b++,c+9D.a=9+b++=c+925.已知字母A的ASCII码为十进制数65,且S为字符型,则履行语句S=’A’+’6’-’3’;后,S中的值为()。A.’D’B.68C.不确立的值D.’C’26.在C语言中,要求运算数一定是整型的运算符是()。A./B.++C.*=D.%27.如有说明语句:chars=’\72’;则变量s()。.包含一个字符B.包含两个字符C.包含三个字符D.说明不合法,s的值不确立28.如有定义:intm=7;floatx=2.5,y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是()。.A.2.500000B.2.750000C.3.500000D.0.00000029.在C语言中,char型数据在内存中的储存形式是()。A.补码B.反码C.原码D.ASCII码30.设变量x为float种类,m为int种类,则以下能实现将x中的数值保存小数点后两位,第三位进行四舍五入运算的表达式是()。A.x=(x*100+0.5)/100.0B.m=x*100+0.5,x=m/100.0C.x=x*100+0.5/100.0D.x=(x/100+0.5)*100.031.表达式13/3*sqrt(16.0)/8的数据种类是()。A.intB.floatC.doubleD.不确立32.设以下变量均为int种类,则值不等于7的表达式是()。A.(m=n=6,m+n,m+1)B.(m=n=6,m+n,n+1)C.(m=6,m+1,n=6,m+n)D.(m=6,m+1,n=m,n+1)33.假定全部变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是()。.A.7B.8C.6D.234.已知s是字符型变量,下边不正确的赋值语句是()。A.s=’\012’;B.s=‘u+v’;C.s=’1’+’2’;D.s=1+2;35.已知s是字符型变量,下边正确的赋值语句是()。A.s=*’abc’;B.s=’\08’;C.s=’xde’;D.s=””;36.如有以下定义,则正确的赋值语句是()。intx,y;floatz;A.x=1,y=2,B.x=y=100C.x++;D.x=int(z);37.设x、y均为float型变量,则不正确的赋值语句是()。A.++x;B.x*=y-2;C.y=(x%3)/10;D.x=y=0;38.以下语句中符合C语言的赋值语句是()。A.a=7+b+c=a+7;B.a=7+b++=a+7;C.a=7+b,b++,a+7D.a=7+b,c=a+7;39.putchar函数能够向终端输出一个()。A.整型变量表达式值。B.字符串.C.实型变量值。D.字符或字符型变量值。40.以下程序段的输出结果是( )。inta=12345;printf(”%2d\n”,a);A.12B.34C.12345D.提示犯错、无结果41.若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为()。A.scanf(”%d%lx,%le”,&x,&y,&z);B.scanf(”%2d*%d%lf”,&x,&y,&z);C.scanf(”%x%*d%o”,&x,&y);D。scanf(”%x%o%6.2f”,&x,&y,&z);42.有以下程序段:intx1,x2;chary1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。(注:└┘代表空格).10A└┘20BB.10└┘A20BC.10└┘A└┘20└┘BD.10A20└┘B43.若变量已正确说明为float种类,要经过语句scanf(”%f%f%f”,&a,&b,&c);给a给予10.0,b给予22.0,c给予33.0,不正确的输入形式为()。A.10<回车>.B.10.0,22.0,33.0<回车>22<回车>33C.10.0<回车>D.1022<回车>22.033.0<回车>33<回车>44.有以下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。(注:└┘代表空格)intx1,x2;chary1,y2;scanf(”%d%d”,&x1,&x2);scanf(”%c%c”,&y1,&y2);A.1020ABB.1020ABC└┘└┘.1020C└┘D.10└┘20ABAB45.已有定义inta=-2;和输出语句:printf(”%8lx”,a);以下正确的表达是()。A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它能够合用于任何一各样类的数据C.%x是格式符D.%8lx不是错误的格式符,此中数字8规定了输出字段的宽度46.有以下程序段,对应正确的数据输入是()。floatx,y;scanf(”%f%f”,&x,&y);printf(”a=%f,b=%f”,x,y);.A.2.04<回车>B.2.04,5.67<回车>5.67<回车>C.A=2.04,B=5.67<回车>D.2.055.67<回车>47.有以下程序段,从键盘输入数据的正确形式应是()。(注:代表空格)└┘floatx,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123B.x=1,y=2,z=3.D.└┘y=2└┘C1,2,3x=1z=348.以下说法正确的选项是()。A.输入项能够为一个实型常量,如scanf(”%f”,3.5);.只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);D.当输入数据时,一定指明变量的地点,如scanf(”%f”f);,&49.依据定义和数据的输入方式,输入语句的正确形式为:()。(注:└┘代表空格)已有定义:floatx,y;数据的输入方式:1.23<回车>4.5<回车>A.scan(”%f,%f”,&x,&y);B.scanf(”%f%f”,&x,&y);C.scanf(”%3.2f└┘%2.1f”,&x,&y);D.scanf(”%3.2f%2.1f”,&x,&y);50.依据下边的程序及数据的输入和输出形式,程序中输入语句.的正确形式应当为()。#include”stdio.h”main( ){chars1,s2,s3;输入语句;printf(”%c%c%c”,s1,s2,s3);}└┘输入形式:A└┘└┘(注:BC<回车>代表空格)输出形式:A└┘BA.scanf(”%c%c%c”,&s1,&s2,&s3);B.scanf(”%c└┘%└┘c%c”,&s1,&s2,&s3);C.scanf(”%c,%c,%c”,&s1,&s2,&s3);D.scanf(”%c%c”,&s1,&s2,&s3);51.以下程序的履行结果是:()。#include”stdio.h”main( ){intx=2,y=3;printf(”x=%%d,y=%%d\n”,x,y);}A.x=%2,y=%3B.x=%%d,y=%%dC.x=2,y=3D.x=%d,y=%d52.以下程序的输出结果是()。(注:└┘代表空格)main( ){printf(”\nstring1=%15s*”,”programming”);printf(”\nstring2=%-5s*”,boy”);printf(”string3=%2s*”,girl”);}..string1=programming└┘└┘└┘└┘*B.string1=└┘└┘└┘└┘programming*string2=boy*string2=boy└┘└┘*string3=gi*string3=gi*C.string1=programming└┘└┘└┘└┘*D.string1=└┘└┘└┘└┘programming*string2=└┘└┘boy*string3=girl*string2=boy└┘└┘*string3=girl*53.依据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是()。#include”stdio.h”main( ){inta;floatb;输入语句输出语句}输入形式:输出形式:A.scanf(

1└┘2.3<回车>(注:└┘代表空格)a+b=3.300”%d%f”,&a,&b);B.scanf(”%d%3.1f”,&a,&b);printf(”\na+b=%5.3f”,a+b);printf(”\na+b=%f”,a+b);C.scanf(”%d,%f”,&a,&b);D.scanf(”%d%f”,&a,&b);printf(”\na+b=%5.3f”,a+b)printf(”\na+b=%f”,a+b);54.阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为()。.#include”stdio.h”main( ){inta,b;scanf(”%d%d”,&a,&b);printf(”a+b=%d\n”,a+b);}A.a+b=46B.有语法错误C.a+b=12D.不确立值55.如有定义:intx,y;chars1,s2,s3;并有以下输出数据:(注:└┘代表空格)1└┘2<回车>U└┘V└┘W<回车>则能给x赋给整数1,给y赋给整数2,给s1赋给字符U,给s2赋给字符V,给s3赋给字符W的正确程序段是()。A.scanf(”x=%dy=%d”,&x,&y);s1=getchar( );s2=getchar( );s3=getchar( );B.scanf(”%d%d”,&x,&y);s1=getchar( );s2=getchar( );s3=getchar( );C.scanf(”%d%d%c%c%c”,&x,&y,&s1,&s2,&s3);D.scanf(”%d%d%c%c%c%c%c%c”,&x,&y,&s1,&s1,&s2,&s2,&s3,&s3);1.2填空题1.C语言的符号集包含_英文字母、数字、一些有特定含义的标点符号2.构造化设计中的三种基本构造是_次序构造、选择构造、循环构造3.C语言源程序言件的后缀是.C,经过编译后生成文件的后.缀是OBJ,经过链接后生成文件的后缀是EXE。4.C语言的要点字都用小写{大写或小写}。5.一个函数由两部分构成,它们是函数说明部分和函数体。6.函数体一般包含变量定义部分和履行部分。7.C语言是经过输入输出函数来进行输入和输出的。8.以下程序的履行结果dec:-1,oct:177777,hex:ffff,unsigned:65535dec:1,oct:1,hex:1,unsigned:1。#include”stdio.h”main( ){shorti=-1,j=1;printf(”dec:%d,oct:%o,hex:%x,unsigned:%u\n”,i,i,i,i);printf(”dec:%d,oct:%o,hex:%x,unsigned:%u\n”,j,j,j,j);}9.以下程序的履行结果是dec:98,oct:142,hex:62,ASCII:b。#include”stdio.h”main( ){chars=’b’;printf(”dec:%d,oct:%o,hex:%x,ASCII:%c\n”,s,s,s,s);}10.以下程序的履行结果是3.141593,3.1416,3.142,└┘└┘└┘└┘└┘3.1423.141593e+00,3.1416e+00,3.142e+00,└┘└┘2e+003.。14(注:└┘代表空格)#include”stdio.h”main( ){floatpi=3.1415927;printf(”%f,%.4f,%4.3f,%10.3f”,pi,pi,pi,pi);printf(”\n%e,%.4e,%4.3e,%10.3e”,pi,pi,pi,pi);}.11.以下程序的履行结果是:。#include”stdio.h”main( ){charc=’c’+5;printf(”c=%c\n”,c);}12.以下程序输入1└┘2└┘3后的履行结果是i=1,k=└┘,j=2。(注:└┘代表空格)#include”stdio.h”main( ){inti,j;chark;scanf(”%d%c%d”,&i,&k,&j);printf(”i=%d,k=%c,j=%d\n”,i,k,j);}13.有以下程序,若输入9876543210后的履行结果是;若输入为:98└┘└┘后的履行结果是;76543210若输入为:987654└┘后的履行结果为:。3210(注:└┘代表空格)#include”stdio.h”main( ){intx1,x2;chary1,y2;scanf(”%2d%3d%3c%c”,&x1,&x2,&y1,&y2);printf(”x1=%d,x2=%d,y1=%c,y2=%c\n”,x,y);}14.若x和y均为int型变量,则以下语句的功能是。x+=y;y=x-y;x-=y;15.有一输入函数scanf(”%d”,k);则不可以使float种类变量k获得正确数值的原由是:。.16.有以下程序段,输入数据:12345ffl678后,u的值是【1】,v的值是【2】。intu;floatv;scanf(“%3d%f”,&u,&v);1.3答案及部分分析一.选择题答案1.B2.B3.A4.B5.B6.D7.B8.D9.B10.C11.A12.C13.C14.B15.C16.A17.A18.C19.C20.A21.C22.C23.A24.B25.A26.D27.A28.A29.D30.B31.C32.C33.B34.B35.C36.C37.C38.D39.D40.C41.D42.A43.B44.D45.D46.A47.B48.D49.B50.A51.D52.D53.A54.D55.D14.分析:C语言规定表记符只好由字母、数字和下划线三种字符.构成,且第一个字符一定为字母或下划线。并且不可以与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,unior。这些要点字先不用硬背下来,跟着后续的学习,你将发现它们都是一些数据的种类、语句等,自然会跟着学习的深入,而记下来。15.分析:用指数形式表示一个实型常数时,E或e以前一定有数字,且E后边指数一定为整数。16.分析:’\101’为转义字符,相对应一个ASCII码字符。(101)8=(65)10=A.17.分析:转义字符的特色是以“”开头,以后跟一些字符,如’”\b,\f等代表一些特别的含义,今后如跟数字,能够为八进制或许十六进制,将其变换为对应的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赋给某个变量(取其原值),但还是必定会履行加运算的。因此,经过第三个表达式,y已经自加为6,故x+y的值为8,相对应得表达式最后结果为8。若此题改为:(x=2,y=5,z=y++,x+z),则其结果应为7。二.填空题答案1.答案:英文字母、数字、一些有特定含义的标点符号2.答案:次序构造、选择构造、循环构造3.答案:C,OBJ,EXE4.答案:小写5.答案:函数说明部分和函数体6.答案:变量定义部分和履行部分7.答案:输入和输出函数8.答案:dec:-1,oct:177777,hex:ffff,unsigned:65535dec:1,oct:1,hex:1,unsigned:19.答案:dec:98,oct:142,hex:62,ASCII:b10.答案:3.141593,3.1416,3.142,└┘└┘└┘└┘└┘3.1423.141593e+00,3.1416e+00,3.142e+00,└┘└┘3.142e+00(注:因为c编译系统不一样,我们上机使用的机器,其第二个printf语句实质结果为:3.14159e+00,3.142e+00,3.14e+00,└┘└┘3.14e+00,即:小数点后取5位。)11.答案:c=h12.答案:i=1,k=└┘,j=213.答案:第一种状况的履行结果:x1=98,x2=765,y1=4,y2=1第二种状况的履行结果:x1=98,x2=76,y1=└┘,y2=3第三种状况的履行结果:x1=98,x2=765,y1=4,y2=214.答案:互换x和y的值15.答案:(1)格式符应为:%f;(2)变量前边未加取地点符&,即.应为scanf(”%f”,&k);16.答案:【1】123【2】45.000000第二章选择构造2.1选择题1.已有定义:intx=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是(D)。A.6B.0C.2D.12.设a=5,b=6,c=7,d=8,m=2,n=2,则履行(m=a>b)&&(n=c>d)后n的值为(B)。A.1B.2C.3D.43.设x、y和z都是int种类变量,且x=3,y=4,z=5,则下边的表达式中,值为0的表达式为(D)。A.’x’&&’y’B.x<=yC.x||y+z&&y-zD.!((x<y)&&!z||1)4.为了防范嵌套的if-else语句的二义性,C语言规定else老是与(C)构成配对关系。A.缩排地点同样的ifB.在其以前未配对的ifC.在其以前未配对的近来的ifD.同一行上的if5.逻辑运算符双侧运算对象的数据种类(D)。A.只好是0或1B.只好是0或非0正数C.只好是整型或字符型数据D.能够是任何种类的数据.6.以下对于运算符优先次序的描绘中正确的选项是(C)。A.关系运算符<算术运算符<赋值运算符<逻辑与运算符B.逻辑与运算符<关系运算符<算术运算符<赋值运算符C.赋值运算符<逻辑与运算符<关系运算符<算术运算符D.算术运算符<关系运算符<赋值运算符<逻辑与运算符7.以下运算符中优先级最高的是(C)。A.<B.&&C.+D.!=8.选择出合法的if语句(设intx,a,b,c;)(A)。A.if(a=b)c++;B.if(a=<b)c++;C.if(a<>b)c++;D.if(a=>b)c++;9.能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是(C)。A.(x>=-58)&&(x<=-40)&&(x>=40)&&(x<=58)B.(x>=-58)||(x<=-40)||(x>=40)||(x<=58)C.(x>=-58)&&(x<=-40)||(x>=40)&&(x<=58)D.(x>=-58)||(x<=-40)&&(x>=40)||(x<=58)10.判断char型变量s能否为小写字母的正确表达式是(C)。A.’a’<=s<=’z’B.(s>=’a’)&(s<=’z’)C.(s>=’a’)&&(s<=’z’)D.(’a’<=s)and(’z’>=s)11.若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不可以满足要求的表达式是(C)。A.x%2==1B.!(x%2==0)C.!(x%2)D.x%212.已知x=45,y=’a’,z=0;则表达式(x>=z&&y<’z’||!y)的值是.(C)。A.0B.语法错C.1D.“假”13.指出以下程序段所表示的逻辑关系是(B)。if(a<b){if(c==d)x=10;}elsex=-10;.B.C.D.

10ab且cdxab且cd10ab且cdx10ab10ab且cdxab且cd10ab且cdx10cd1x014.有一函数:y0x0,以下程序段中不可以依据x值正确1x0计算出y值的是(C)。A.if(x>0)y=1;elseif(x==0)y=0;elsey=-1;B.y=0;if(x>0)y=1;elseif(x<0)y=-1;C.y=0;if(x>=0)if(x>0)y=1;elsey=-1;.D.if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;15.履行以下语句后,y的值为(A)。intx,y,z;x=y=z=0;++x||++y&&++z;A.0B.1C.2D.不确立值16.已知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=3C.a=2,b=3,c=1D.a=2,b=3,c=217.请阅读以下程序:该程序(C)。#include”stdio.h”main( ){intx=-10,y=5,z=0;if(x=y+z)printf(”***\n”);elseprintf(”$$$\n”);}A.有语法错不可以经过编译B.能够经过编译但不可以经过连结C.输出***D.输出$$$18.以下程序的运转结果是(C)。#include”stdio.h”main( ){inta=1;.if(a++>1)printf(”%d\n”,a);elseprintf(”%d\n”,a--);}A.0B.1C.2D.319.当a=1,b=2,c=4,d=3时,履行完下边一段程序后x的值是(B)。if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=4;elsex=5;A.1B.2C.3D.420.履行以下程序段后,变量x,y,z的值分别为(B)。inta=1,b=0,x,y,z;x=(--a==b++)?--a:++b;y=a++;z=b;A.x=0,y=0,z=0B.x=-1,y=-1,z=1C.x=0,y=1,z=0D.x=-1,y=2,z=121.若a、b、c、d、w均为int种类变量,则履行下边语句后的w值是(A)。a=1;b=2;c=3;d=4;w=(a<b)?a:b;w=(w<c)?w:c;w=(w<d)?w:d;A.1B.2C.3.D.422.以下程序的输出结果是(C)。#include”stdio.h”main( ){inta=5,b=4,c=6,d;printf(”%d\n”,d=a>b?a>c?a:c:b);}A.5B.4C.6D.不确立23.若a、b、c1、c2、x、y均为整型变量,正确的switch语句是(D)。A.switch(a+b);B.switcha{case1:y=a+b;break;{casec1:y=a-b;break;case0:y=a-b;casec2:x=a*d;break;break;default:x=a+b;}}C.switch(a*a+b*b)D.switch(a-b){case3:{default:y=a*b;break;case1:y=a+b;break;case3:x=a+b;break;case3:y=b-a;break;case10:case11:y=a-b;break;}}24.履行以下程序,输入为3的数出结果是(C)。#include”stdio.h”main( ){.intk;scanf(”%d”,&k);switch(k){case1:printf(”%d\n”,k++);case2:printf(”%d\n”,k++);case3:printf(”%d\n”,k++);case4:printf(”%d\n”,k++);break;default:printf(”Full!\n”);}}A.3B.4C.3D.45425.假定等级和分数有以下对应关系:等级:A分数:85——100等级:B分数:60——84等级:C分数:60以下对于等级grade输出相应的分数区间,能够达成该功能的程序段是(D)。A.switch(grade){case’A’:printf(”85——100\n”);case’B’:printf(”60——84\n”);case’C’:printf(”<60\n”);default:printf(”gradeiserror!\n”);}B.switch(grade){case’A’:printf(”85——100\n”);break;.case’B’:printf(”60——84\n”);case’C’:printf(”<60\n”);default:printf(”gradeiserror!\n”);}C.switch(grade){case’A’:printf(”85——100\n”);break;case’B’:printf(”60——84\n”);break;case’C’:printf(”<60\n”);default:printf(”gradeiserror!\n”);}D.switch(grade){case’C’:printf(”<60\n”);break;case’B’:printf(”60——84\n”);break;default:printf(”gradeiserror!\n”);break;case’A’:printf(”85——100\n”);}26.有以下程序,写出该履行结果(C)。#include”stdio.h”main( ){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf(”%f\n”,y);.}A.0.000000B.0.250000C.0.500000D.1.00000027.以下程序的运转结果是(C)。#include”stdio.h”main( ){inta=2,b=-1,c=2;if(a<b)if(b<0)c=0;elsec++;printf(”%d\n”,c);}A.0B.1C.2D.328.运转以下程序后,如从键盘上输入china#,则输出为(C)。#include”stdio.h”main( ){intv1=0,v2=0;charch;while((ch=getchar( ))!=’#’)switch(ch){case’a’:case’h’:default:v1++;case’o’:v2++;}printf(”%d,%d\n”,v1,v2);}.A.2,0B.5,0C.5,5D.2,529.有以下程序,若输入为字符s,则程序运转结果为(A)。#include”stdio.h”main( ){charch;ch=getchar( );switch(ch){case’a’:printf(”a=%c\n”,ch);default:printf(”end!\n”);case’b’:printf(”b=%c\n”,ch);case’c’:printf(”c=%c\n”,ch);}}A.end!B.end!C.有语法错误D.a=sb=send!c=s30.有以下程序,程序运转后的输出结果是(A)。#include”stdio.h”main( ){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;.}}printf(”%d\n”,m);}A.1B.2C.3D.42.2填空题1.若从键盘输入58,则输出结果是___585858_____。#include”stdio.h”main( ){inta;scanf(”%d”,&a);if(a>50)printf(”%d”,a);if(a>40)printf(”%d”,a);if(a>30)printf(”%d”,a);}2.设intx=9,y=8;表达式x==y+1的结果是__1______。3.定义intx,y;履行y=(x=1,++x,x+2);后,y的值是__4______。4.定义intx=10,y,z;履行y=z=x;x=y==z;后,x的结果是1。5.设inta=1,b=2,c,d,e;履行c=(-a++)+(++b);d=(b--)+(++a)-a;e=(a/(++b))-(a/(--a));请问a,b,c,d,e的结果是:23230。6.设inta=2,b=3,c,d,e,f;履行c=(a++>=--b);d=(a==++b);.e=(a--!=b);f=(++a>b--);请问a,b,c,d,e,f的结果是:_321100_______。7.以下程序的运转结果是__200______。#include”stdio.h”main( ){inta,b,c,s,w,t;s=w=t=0;a=-1;b=3;c=3;if(c>0)s=a+b;if(a<=0){if(b>0)if(c<=0)w=a-b;}elseif(c>0)w=a-b;elset=c;printf(”%d%d%d”,s,w,t);}8.以下程序的运转结果是__100______。#include”stdio.h”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\n”,d);}9.以下程序的运转结果是_6250(换行)5100______。#include”stdio.h”main( ){inta,b=250,c;if((c=b)<0)a=4;elseif(b=0)a=5;elsea=6;printf(”\t%d\t%d\n”,a,c);if(c=(b==0))a=5;printf(”\t%d\t%d\n”,a,c);if(a=c=b)a=4;printf(”\t%d\t%d\n”,a,c);}10.下边程序依据以下函数关系,对输入的每个x值,计算出y值。请在【】内填空。xy2<x<=x(x+2)10-1<x<1/x=2x<=-1x-1#include”stdio.h”main( ){intx,y;scanf(”%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.以下程序的功能是计算一元二次方程ax2+bx+c=0的根。请在【】内填入正确内容。#include”stdio.h”#include”math.h”main( ){floata,b,c,t,disc,w,term1,term2;printf(”entera,b,c:”);scanf(%f%f%f”,&a,&b,&c);if(【1】)if(【2】)printf(”noanswerduetoinputerror\n”);elseprintf(”thesinglerootis%f\n”,-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\n”,term1,term2);elseprintf(”realroots\nroot1=%froot2=%f\n”,.term1+term2,term1-term2);}}12.以下程序依据输入的三角形的三边判断能否能构成三角形,若能够则输出它的面积和三角形的种类。请在【】内填入正确内容。#include”math.h”#include”stdio.h”main( ){floata,b,c,s,area;printf(”pleaseinputthreeedgesofatriangle:”);scanf(”%f%f%f”,&a,&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(”不可以构成三角形”);}13.以下程序的功能是判断输入的年份是不是闰年。请在【】内填入正确内容。#include”stdio.h”.main( ){intyear,flag;printf(”pleaseinputtheyeartojudewhetheritisaleapyear:”);scanf(”%d”,&year);if(year%400==0)flag=1;elseif(【1】)flag=1;else【2】;if(flag)printf(”%disaleapyear\n”,year);elseprintf(”%disnotaleapyear!\n”,year);}14.以下程序是对用户输入的字母进行大小写变换。请在【】内填入正确内容。#include”stdio.h”main( ){charch;printf(”pleaseinputaletter:”);scanf(”%c”,&ch);if(【1】)ch=ch+32;elseif(ch>=’a’&&ch<=’z’)2】;printf(”theconvertedletteris:%c\n”,ch);}15.以下程序是对从键盘输入的任何三个整数,求出此中的最小值。请在【】内填入正确内容。#include”stdio.h”main( ){.inta,b,c,min;printf(”pleaseinputthreenumbers:”);scanf(”%d%d%d”,&a,&b,&c);if(【1】)min=b;elsemin=a;if(min>c)2】;printf(”min=%d\n”,min);}16.以下程序实现这样的功能:商铺卖西瓜,10斤以上的每斤0.15元,8斤以上的每斤0.3元,6斤以上的每斤0.4元,4斤以上的每斤0.6元,4斤以下的每斤0.8元,从键盘输入西瓜的重量和顾客所付钱数,则输出对付款和应找钱数。请在【】内填入正确内容。#include”stdio.h”main( ){floatweight,money,rate;printf(”thepaidmoneyoftheclientis:”);scanf(”%f”,&money);printf(”theweightofthewatermelonis:”);scanf(”%f”,&weight);if(【1】)rate=0.15;elseif(weight>8)rate=0.3;elseif(weight>6)2】;.elseif(weight>4)rate=0.6;【3】rate=0.8;printf(”theaccountpayableofthewatermelonis%f\n”,weight*rate);printf(”thechangeforclientis%f\n”,money-weight*rate);}17.以下程序段的运转结果是________。#include”stdio.h”main( ){charch1=’a’,ch2=’A’;switch(ch1){case’a’:switch(ch2){case’A’:printf(”good!\n”);break;case’B’:printf(”bad!\n”);break;}case’b’:printf(”joke\n”);}}18.依据以下函数关系,对输入的每个x值,计算出相应的y值。请在【】内填入正确内容。xyx<000<=x<1x010<=x<102020<=x<-0.5x+2.400#include”stdio.h”main( ){intx,rate;floaty;printf(”pleaseinputthevalueofx:”);scanf(”%d”,&x);if(【1】)rate=-1;elserate=【2】;switch(rate){case–1:y=0;break;case0:y=x;break;case1:y=10;break;case2:case3:y=-0.5*x+20;break;default:y=-2;}if(【3】)printf(”y=%f\n”,y);elseprintf(”thevalueofxisinvalid!\n”);}19.以下程序实现的功能是:从键盘输入某年某月,输出该年份该月的天数。请在【】内填入正确内容。#include”stdio.h”main( ){intyear,month,days,leap;printf(”pleaseinputbothyearandmonth:”);scanf(”%4d/%2d”,&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&&year%100!=0)leap=1;else【3】;if(leap)days=29;elsedays=28;}printf(”%d年%d月的天数为%d\n”,year,month,days);}20.以下程序达成两个数的四则运算。请在【】内填入正确内容。#include”stdio.h”main( ){floatx,y;charoperator;printf(”pleaseinputtheexpression:”);scanf(”%f%c%f”,&x,&operator,&y);switch(【1】).{case’+’:printf(”%g%c%g=%g\n”,x,operator,y,x+y);2】;case’-’:printf(”%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’/’:if(y==0.0)printf(”除零错误!\n”);elseprintf(”%g%c%g=%g\n”,x,operator,y,x/y);break;3】:printf(”表达式存在错误!\n”);}}21.以下程序运转后的输出结果是_____________。#include”stdio.h”main( ){intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(”%d,%d\n”,x,y);}22.履行以下语句后,x、y和z的值分别为_____________。intx,y,z;x=y=z=0;++x||++y&&++z;.第三章循环构造3.1选择题1.以下程序的输出结果是(A)。main( ){intn=4;while(n--)printf(〞%d〞,--n);}C.321D.2102.以下程序的输出结果是(A)。main( ){intx=10,y=10,i;for(i=0;x>8;y=++i)printf("%d%d",x--,y);.}C.10990D.1010913.当履行以下程序段时(A)。x=-1;do{x=x*x;}while(!x);A.循环体将履行一次B.循环体将履行两次C.循环体将履行无数多次D.系统将提示有语法错误4.履行以下程序后输出的结果是()。main( ){inty=10;do{y--;}while(--y);printf("%d\n",y--);}C.8D.05.下边程序的输出结果是()。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);}A.x=4,y=4,a=1.B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=16.若i,j已定义为int种类,则以下程序段中内循环的总的履行次数是()。for(i=5;i;i--)for(j=0;j<4;j++){}C.25D.307.请读程序:#include<stdio.h>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);}上边程序的输出结果是()。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=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++;C.w=k;do{w--;printf(〞*〞);}while(w!=0);D.for(w=k;w;--w)printf(〞*〞);9.下边程序的输出是()。main( ){char*s=〞12134211〞;intk,v1=0,v2=0,v3=0,v4=0;for(k=0;s[k];k++)switch(s[k]){default:v4++;case1:v1++;case2:v2++;csse3:v3++;.}printf(〞v1=%d,v2=%d,v3=%d,v4=%d\n〞,v1,v2,v3,v4);}A.v1=4,v2=2,v3=1,v4=1B.v1=4,v2=9,v3=3,v4=1C.v1=5,v2=8,v3=6,v4=1D.v1=8,v2=8,v3=8,v4=810.有以下程序#include〞stdio.h〞intabc(intu,intv);main( ){intc,a=24,b=16;c=abc(a,b);printf(〞%d\n〞,c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w;}returnu;}输出结果是( )。C.8D.911.在以下选项中,没有构成死循环的程序段是()。.A.inti=100;while(1){i=i%100+1;if(i>100)break;}B.for(;;);C.intk=1000;do{++k;}while(k>=10000);D.ints=36;while(s);--s;12.若输入B,以下程序的运转结果为()。main( ){chargrade;scanf("%c",&grade);switch(grade){case'A':printf(">=85.");case'B':case'C':printf(">=60.");case'D':printf("<60.");default:printf("error.");}}A.>=85.B.>=60.C.>=60.<60.error.D.error.13.列程序运转的状况是()。main( ){inti=1,sum=0;.while(i<10)sum=sum+1;i++;printf("i=%d,sum=%d",i,sum);}A.i=10,sum=9B.i=9,sum=9C.i=2,sum=1D.运转出现错误14.有以下语句:i=1;for(;i<=100;i++)sum+=i;与以上语句序列不等价的有( )。A.for(

温馨提示

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

评论

0/150

提交评论