《C语言期中试卷.doc》由会员分享,可在线阅读,更多相关《C语言期中试卷.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、测试A卷一、单项选择题40分第1题2.0分题号:1939以下描画中,精确的选项是。A:预处理是指完成宏交流跟文件包含中指定的文件的调用B:预处理指令只能位于C源文件的开始C:C源次序中凡是行首以#标识的把持行根本上预处理指令答案:C第2题2.0分题号:1944实行下面次序后,输出结果是。main()a=45,b=27,c=0;c=max(a,b);printf(%dn,c);intmax(x,y)intx,y;intz;if(xy)z=x;elsez=y;return(z);A:45B:27C:18D:72答案:A第3题2.0分题号:1853以下标识符中,不克不迭作为合理的C用户定义标识符的是
2、。A:a3_b3B:voidC:_123D:IF答案:B第4题2.0分题号:1880以下语句的结果是。main()intj;j=3;printf(%d,+j);printf(%d,j+);A:3,3B:3,4C:4,3D:4,4答案:D第5题2.0分题号:1920以下次序的输出结果是。main()intx=1,y=0,a=0,b=0;switch(x)case1:switch(y)case0:a+;break;case1:b+;break;case2:a+;b+;break;case3:a+;b+;break;printf(a=%d,b=%dn,a,b);A:a=1,b=0B:a=2,b=1C
3、:a=1,b=1D:a=2,b=2答案:B第6题2.0分题号:1910实行以下语句后,a跟b的值分不为。inta,b;a=1+a;b=2+7%-4-A;A:-63,-64B:98,-60C:1,-60D:79,78答案:B第7题2.0分题号:1917在以下给出的表达式中,与do-while(E)语句中的E不等价的表达式是。A:(!E=0)B:(E0|E0)C:(E=0)D:(E!=0)答案:C第8题2.0分题号:1899曾经明白字母a的ASCII十进制代码为97,那么实行以下语句后的输出结果为。chara=a;a-;printf(%d,%cn,a+2-0,a+3-0);A:b,cB:a-运算不
4、合法,故有语法错C:98,cD:格式描画跟输出项不匹配,输出无定值答案:C第9题2.0分题号:1900以下次序的输出结果为A。main()intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf(%fn,x);A:27.000000B:27.500000C:28.000000D:28.500000答案:A第10题2.0分题号:1921在C语言中,为了终了由while语句构成的循环,while后一对圆括号中表达式的值该当为。A:0B:1C:TrueD:非0答案:A第11题2.0分题号:1915以下次序的运行结果是。main()intn;for(n
5、=1;n=10;n+)if(n%3=0)continue;printf(%d,n);A:12457810B:369C:12D:1234567890答案:A第12题2.0分题号:1914以下次序的运行结果是。main()inti=1,sum=0;while(i10)sum=sum+1;i+;printf(i=%d,sum=%d,i,sum);A:i=10,sum=9B:i=9,sum=9C:i=2,sum=1D:运行出现差错答案:D第13题2.0分题号:1876以下次序的输出结果是。main()charc1=97,c2=98;printf(%d%c,c1,c2);A:9798B:97bC:a98
6、D:ab答案:B第14题2.0分题号:1858在C语言中,能代表逻辑值“真的是。A:TrueB:大年夜于0的数C:非0整数D:非0的数答案:D第15题2.0分题号:1903a,b为整型变量,二者均不为0,以下关系表达式中恒成破的是。A:a*b/a*b=1B:a/b*b/a=1C:a/b*b+a%b=aD:a/b*b=a答案:C第16题2.0分题号:1889以下次序的输出结果是。main()inta=7,b=5;printf(%dn,b=b/a);A:0B:5C:1D:不判定值答案:A第17题2.0分题号:1916在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式。A:只能用逻辑表
7、达式B:只能用关系表达式C:只能用逻辑表达式或关系表达式D:可用任意表达式答案:D第18题2.0分题号:1924设j跟k根本上int典范,那么for循环语句for(j=0,k=-1;k=1;j+,k+)printf(*n);。A:循环终了的条件不合法B:是无限循环C:循环体一次也不实行D:循环体只实行一次答案:B第19题2.0分题号:1922以下次序的输出为。main()inty=10;while(y-);printf(y=%dn,y);A:y=0B:while构成无限循环C:y=1D:y=-1答案:D第20题2.0分题号:1882曾经明白year为整型变量,不克不迭使表达式year%4=0&
8、year%100!=0|year%400=0的值为“真的数据是。A:1990B:1992C:1996D:2000答案:A二、揣摸题5分第1题1.0分题号:605C语言中%运算符的运算东西必须是整型.答案:Y第2题1.0分题号:601#define跟printf都不是C语句。答案:Y第3题1.0分题号:597假定有int=10,j=0;那么实行完语句if(j=0)+;else-;的值为11。答案:N第4题1.0分题号:622假定被调用函数的定义出现在主调函数之前,可以不必加以声明.答案:Y第5题1.0分题号:579x*=y+8等价于x=x*(y+8)。答案:Y三、次序填空题(18分)第1题9.0
9、分题号:115/*-【次序填空】-功能:不必第三个变量,完成两个数的对调把持。-*/#includemain()inta,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);/*SPACE*/a=【?】;/*SPACE*/b=【?】;/*SPACE*/a=【?】;printf(a=%d,b=%dn,a,b);答案:=(答案1)=a+b=(答案2)=a-b=或=a-b=(答案3)=a-b=或=a-b第2题9.0分题号:123/*-【次序填空】-功能:识不输出的字符串,每个单词输出一行-*/#include#includevoidmain()intc;intins
10、pace;inspase=0;while(c=getchar()!=n)if(c=|c=t|c=n)if(inspase=0)inspace=1;putchar(n);elseinspace=0;putchar(c);答案:=(答案1)=inspace=0=(答案2)=inspace=0=(答案3)=putchar(c)四、编程(37分)第1题15.0分题号:106/*-【次序方案】-功能:编写函数fun打算以下分段函数的值:x2+x+6x0且x-3f(x)=x2-5x+60x10且x2及x3x2-x-1不的-*/#includevoidwwjt();floatfun(floatx)/*Pro
11、gram*/*End*/main()floatx,f;printf(inputx=);scanf(%f,&x);f=fun(x);printf(x=%f,f(x)=%fn,x,f);wwjt();voidwwjt()FILE*IN,*OUT;intn;floati;floato;IN=fopen(in.dat,r);if(IN=NULL)printf(ReadFILEError);OUT=fopen(out.dat,w);if(OUT=NULL)printf(WriteFILEError);for(n=0;n10;n+)fscanf(IN,%f,&i);o=fun(i);fprintf(OUT
12、,%fn,o);fclose(IN);fclose(OUT);答案:-floaty;if(x=0&x10.0&x!=2.0&x!=3.0)y=x*x-5*x+6;elsey=x*x-x-1;returny;-第2题22.0分题号:108/*-【次序方案】-功能:编写函数fun求sum=d+dd+ddd+dd.d(n个d),其中d为1-9的数字。比如:3+33+333+3333+33333(现在d=3,n=5),d跟n在主函数中输出。-*/#includevoidwwjt();longintfun(intd,intn)/*Program*/*End*/main()intd,n;longsum,f
13、un();printf(d=);scanf(%d,&d);printf(n=);scanf(%d,&n);sum=fun(d,n);printf(sum=%ldn,sum);wwjt();voidwwjt()FILE*IN,*OUT;intn;inti2;longo;IN=fopen(in.dat,r);if(IN=NULL)printf(ReadFILEError);OUT=fopen(out.dat,w);if(OUT=NULL)printf(WriteFILEError);for(n=0;n2;n+)fscanf(IN,%d,&in);o=fun(i0,i1);fprintf(OUT,%ldn,o);fclose(IN);fclose(OUT);答案:-longints=0,t=0;inti;for(i=1;i=n;i+)t=t+d;s=s+t;d=d*10;returns;-