C语言期中试卷_第1页
C语言期中试卷_第2页
C语言期中试卷_第3页
C语言期中试卷_第4页
C语言期中试卷_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

PAGE测试A卷一、单选题(40分)第1题(2.0分)题号:1939以下描述中,正确的是()。A:预处理是指完成宏替换和文件包含中指定的文件的调用B:预处理指令只能位于C源文件的开始C:C源程序中凡是行首以#标识的控制行都是预处理指令D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备答案:C第2题(2.0分)题号:1944执行下面程序后,输出结果是()。main(){a=45,b=27,c=0;c=max(a,b);printf("%d\n",c);}intmax(x,y)intx,y;{intz;if(x>y)z=x;elsez=y;return(z);}A:45B:27C:18D:72答案:A第3题(2.0分)题号:1853以下标识符中,不能作为合法的C用户定义标识符的是()。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=%d\n",a,b);}A:a=1,b=0B:a=2,b=1C: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:(E>0||E<0)C:(E==0)D:(E!=0)答案:C第8题(2.0分)题号:1899已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。chara='a';a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A:b,cB:a--运算不合法,故有语法错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("%f\n",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=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(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:运行出现错误答案:D第13题(2.0分)题号:1876下列程序的输出结果是()。main(){charc1=97,c2=98;printf("%d%c",c1,c2);}A:9798B:97bC:a98D: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("%d\n",b=b/a);}A:0B:5C:1D:不确定值答案:A第17题(2.0分)题号:1916在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式()。A:只能用逻辑表达式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=%d\n",y);}A:y=0B:while构成无限循环C:y=1D:y=-1答案:D第20题(2.0分)题号:1882已知year为整型变量,不能使表达式(year%4==0&&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分)题号:115/*【程序填空】功能:不用第三个变量,实现两个数的对调操作。*/#include<stdio.h>main(){inta,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);/***********SPACE***********/a=【?】;/***********SPACE***********/b=【?】;/***********SPACE***********/a=【?】;printf("a=%d,b=%d\n",a,b);}答案:=======(答案1)=======a+b=======(答案2)=======a-b=========或=========a-b=======(答案3)=======a-b=========或=========a-b第2题(9.0分)题号:123/*【程序填空】功能:识别输入的字符串,每个单词输出一行*/#include<stdio.h>#include<string.h>voidmain(){intc;intinspace;inspase=0;while((c=getchar())!='\n'){if(c==''||c=='\t'||c=='\n'){if(inspase=0){inspace=1;putchar('\n');}}else{inspace=0;putchar(c);}}}答案:=======(答案1)=======inspace=0=======(答案2)=======inspace==0=======(答案3)=======putchar(c)四、编程(37分)第1题(15.0分)题号:106/*【程序设计】功能:编写函数fun计算下列分段函数的值:x^2+x+6x<0且x≠-3f(x)=x^2-5x+60≤x<10且x≠2及x≠3x^2-x-1其它*/#include<stdio.h>voidwwjt();floatfun(floatx){/**********Program**********//**********End**********/}main(){floatx,f;printf("inputx=");scanf("%f",&x);f=fun(x);printf("x=%f,f(x)=%f\n",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;n<10;n++){fscanf(IN,"%f",&i);o=fun(i);fprintf(OUT,"%f\n",o);}fclose(IN);fclose(OUT);}答案:floaty;if(x<0&&x!=-3.0)y=x*x+x+6;elseif(x>=0&&x<10.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在主函数中输入。*/#include<stdio.h>voidwwjt();longintfun(intd,intn){/**********Program**********//**********End**********/}main(){intd,n;longsum,fun();printf("d=");scanf("%d",&d);printf("n=");scanf("%d",&n);sum=fun(d,n);printf("sum=%ld\n",sum);wwjt();}voidwwjt(){FILE*IN,*OUT;intn;inti[2];longo;IN=fopen("in.dat","r");if(IN==NULL){printf("ReadFILEError");}OUT=fopen("out.dat

温馨提示

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

评论

0/150

提交评论