上海海事大学c语言试题_第1页
上海海事大学c语言试题_第2页
上海海事大学c语言试题_第3页
上海海事大学c语言试题_第4页
上海海事大学c语言试题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

...wd......wd......wd...试卷编号:9688所属语言:C语言试卷方案:期中考试试卷总分:100分共有题型:5种一、填空共15题〔共计15分〕第1题〔1.0分〕题号:528设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:a*=16+(b++)-(++c);后,a的值是【1】.答案:=======(答案1)=======28第2题〔1.0分〕题号:78i=5;写出语句i+=012;执行后整型变量i的十进制值是【1】.答案:=======(答案1)=======15第3题〔1.0分〕题号:510假设a是int型变量,则计算表达式a=25/3%3后a的值为【1】.答案:=======(答案1)=======2第4题〔1.0分〕题号:437以下程序的输出结果为【1】,#include"stdio.h"main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}答案:=======(答案1)=======9,10第5题〔1.0分〕题号:431执行下面两个语句,输出的结果是【1】,charc1=97,c2=98;printf("%d%c",c1,c2);答案:=======(答案1)=======97b第6题〔1.0分〕题号:293getchar()函数只能接收一个【1】.答案:=======(答案1)=======字符第7题〔1.0分〕题号:440设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】.答案:=======(答案1)=======1第8题〔1.0分〕题号:95a=13,b=6,a&&b的十进制数值为【1】.答案:=======(答案1)=======1第9题〔1.0分〕题号:306当a=1,b=2,c=3时,执行以下程序段后b=【1】.if(a>c)b=a;a=c;c=b;答案:=======(答案1)=======2第10题〔1.0分〕题号:532以下do-while语句中循环体的执行次数是【1】.a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);答案:=======(答案1)=======3第11题〔1.0分〕题号:398程序段intk=10;while(k=0)k=k-1循环体语句执行【1】次.答案:=======(答案1)=======0第12题〔1.0分〕题号:438以下程序的输出结果为【1】,#include"stdio.h"main(){inta;for(a=0;a<10;a++);printf("%d",a);}答案:=======(答案1)=======10第13题〔1.0分〕题号:336假设有以下数组a,数组元素:a[0]~a[9],其值为941282107513该数组的元素中,数值最大的元素的下标值是【1】.答案:=======(答案1)=======2第14题〔1.0分〕题号:341定义inta[2][3];表示数组a中的元素个数是【1】个.答案:=======(答案1)=======6第15题〔1.0分〕题号:328C语言中,数组元素的下标下限为【1】.答案:=======(答案1)=======0二、判断共15题〔共计15分〕第1题〔1.0分〕题号:940inta[9];则a数组的下标范围是1-9答案:N第2题〔1.0分〕题号:935在C程序中,%是只能用于整数运算的运算符答案:Y第3题〔1.0分〕题号:929在C语言中,5种基本数据类型的存储空间长度的排列顺序为:char<int<longint<=float<double答案:Y第4题〔1.0分〕题号:194假设有定义和语句:inta;charc;floatf;scanf("%d,%c,%f",&a,&c,&f);假设通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第5题〔1.0分〕题号:961C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出.答案:Y第6题〔1.0分〕题号:721语句scanf("%7.2f",&a);是一个合法的scanf函数.答案:N第7题〔1.0分〕题号:951在执行switch语句时,default和各个case的出现次序不影响执行结果.答案:Y第8题〔1.0分〕题号:869假设有inti=10,j=0;则执行完语句if(j=0)i++;elsei--;i的值为11.答案:N第9题〔1.0分〕题号:930关于if语句中,条件表达式只能是关系表达式或逻辑表达式答案:N第10题〔1.0分〕题号:952do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.答案:N第11题〔1.0分〕题号:953C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环完毕条件的情况.答案:N第12题〔1.0分〕题号:954continue语句只完毕本次循环,而不是终止整个循环的执行.break语句则是完毕整个循环过程,不再判断执行循环的条件是否成立.答案:Y第13题〔1.0分〕题号:941在定义二维数组时,可以将该数组的两个维数全部省略答案:N第14题〔1.0分〕题号:735如果想使一个数组中全部元素的值为0,可以写成inta[10]={0*10};答案:N第15题〔1.0分〕题号:736inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列的元素赋初值,其余元素值为0.答案:Y三、单项选择共20题〔共计40分〕第1题〔2.0分〕题号:2056以下程序的输出结果是().main(){floatx=3.6;inti;i=(int)x;printf("x=%f,i=%d\n",x,i);}A:x=3.600000,i=4B:x=3,i=3C:x=3.600000,i=3D:x=3i=3.600000答案:C第2题〔2.0分〕题号:2214在C语言中,char型数据在内存中的存储形式是().A:补码B:反码C:原码D:ASCII码答案:D第3题〔2.0分〕题号:2174C语言程序中必须有的函数是().A:#include"stdio.h"B:mainC:printfD:scanf答案:B第4题〔2.0分〕题号:2040假设ch为char型变量,k为int型变量(字符a的ASCII十进制代码为97),则以下程序段的执行结果是().ch='a';k=12;printf("%x,%o,",ch,ch);printf("k=%%%d\n",k);A:因变量类型与格式描述符的类型不匹配,输出无定值B:输出项与格式描述符个数不符,输出为零值或不定值C:61,141,k=%12D:61,141,k=%d答案:C第5题〔2.0分〕题号:2049以下程序的输出结果为().main(){inti=010,j=10;printf("%d,%d\n",++i,j--);}A:11,10B:9,10C:010,9D:10,9答案:B第6题〔2.0分〕题号:2189从键盘上输入某字符串时,不可使用的函数是().A:getchar()B:gets()C:scanf()D:fread()答案:A第7题〔2.0分〕题号:2045假设给定条件表达式(M)?(a++):(a--),则其中表达式M().A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C第8题〔2.0分〕题号:2144inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A第9题〔2.0分〕题号:2122以下程序的输出结果是().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第10题〔2.0分〕题号:2050C语言中以下几种运算符的优先次序()的排列是正确的.A:由高到低为:!,&&,||,算术运算符,赋值运算符B:由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符C:由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||D:由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符答案:B第11题〔2.0分〕题号:2263以下不正确的if语句形式是().A:if(x>y&&x!=y);B:if(x==y)x+=y;C:if(x!=y)scanf("%d",&x)elsescanf("%d",&y);D:if(x<y){x++;y++;}答案:C第12题〔2.0分〕题号:2059以下程序的运行结果是().main(){intn;for(n=1;n<=10;n++){if(n%3==0)continue;printf("%d",n);}}A:12457810B:369C:12D:1234567890答案:A第13题〔2.0分〕题号:2061在以下给出的表达式中,与do--while(E)语句中的(E)不等价的表达式是().A:(!E==0)B:(E>0||E<0)C:(E==0)D:(E!=0)答案:C第14题〔2.0分〕题号:2058以下程序的运行结果是().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第15题〔2.0分〕题号:2068设j和k都是int类型,则for循环语句for(j=0,k=-1;k=1;j++,k++)printf("****\n");().A:循环完毕的条件不合法B:是无限循环C:循环体一次也不执行D:循环体只执行一次答案:B第16题〔2.0分〕题号:2251以下不是无限循环的语句为().A:for(y=0,x=1;x>++y;x=i++)i=x;B:for(;;x++=i);C:while(1){x++;}D:for(i=10;;i--)sum+=i;答案:A第17题〔2.0分〕题号:2278以下能对一维数组a进展正确初始化的语句是().A:inta[10]=(0,0,0,0,0)B:inta[10]={};C:inta[]={0};D:inta[10]={10*1};答案:C第18题〔2.0分〕题号:2284假设有说明:inta[3][4]={0};则下面正确的表达是().A:只有元素a[0][0]可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0D:数组a中每个元素均可得到初值0答案:D第19题〔2.0分〕题号:2256printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式().A:从左起输出该字符串,右补空格B:按原字符长从左向右全部输出C:右对齐输出该字串,左补空格D:输出错误信息答案:B第20题〔2.0分〕题号:2275以下对二维数组a的正确说明是().A:inta[3][]B:floata(3,4)C:doublea[1][4]D:floata(3)(4)答案:C四、程序填空共4题〔共计24分〕第1题〔6.0分〕题号:427/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:百鸡问题:100元买100只鸡,公鸡一只5元人民币,母鸡一只3元人民币,小鸡一元人民币三只,求100元人民币能买公鸡、母鸡、小鸡各多少只-------------------------------------------------------*/#include<stdio.h>main(){intcocks,hens,chicks;cocks=0;while(cocks<=19)/***********SPACE***********/{【?】=0;/***********SPACE***********/while(hens<=【?】){chicks=100.0-cocks-hens;if(5.0*cocks+3.0*hens+chicks/3.0==100.0)printf("%d,%d,%d\n",cocks,hens,chicks);/***********SPACE***********/【?】;}/***********SPACE***********/【?】;};}答案:=======(答案1)=======hens=======(答案2)=======33=======(答案3)=======hens++=========或=========++hens=========或=========hens=hens+1=======(答案4)=======cocks++=========或=========++cocks=========或=========cocks=cocks+1=========或=========cocks=cocks+1第2题〔6.0分〕题号:459/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。-------------------------------------------------------*/#include<stdio.h>voidmain(){intscore,i,max,min,sum;max=-32768;min=32767;sum=0;for(i=1;i<=10;i++){printf("Inputnumber%d=",i);/***********SPACE***********/scanf("%d",【?】);sum+=score;/***********SPACE***********/if(【?】)max=score;/***********SPACE***********/if(【?】)min=score;}printf("Canceledmaxscore:%d\nCanceledminscore:%d\n",max,min);/***********SPACE***********/printf("Averagescore:%d\n",【?】);}答案:=======(答案1)=======&score=======(答案2)=======score>max=========或=========max<score=======(答案3)=======score<min=========或=========min>score=======(答案4)=======(sum-max-min)/8=========或=========(sum-max-min)/8第3题〔6.0分〕题号:6/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:以下程序是用选择法对10个整数按升序排序,程序中有4个空,填空使程序完整。-------------------------------------------------------*//***********SPACE***********/【?】main(){inti,j,k,t,a[N];for(i=0;i<=N-1;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++){/***********SPACE***********/【?】/***********SPACE***********/for(j=i+1;【?】;j++)if(a[j]<a[k])k=j;/***********SPACE***********/if(【?】){t=a[i];a[i]=a[k];a[k]=t;}}printf("outputthesortedarray:\n");for(i=0;i<=N-1;i++)printf("%5d",a[i]);printf("\n");}答案:=======(答案1)=======#defineN10=======(答案2)=======k=i;=======(答案3)=======j<N=========或=========N>j=========或=========j<=N-1=========或=========N-1>=j=======(答案4)=======k!=i第4题〔6.0分〕题号:17/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:以下程序的功能是删除字符串中的指定字符,字符串和要删除的字符均由键盘输入。-------------------------------------------------------*/#include"stdio.h"main(){charstr[80],ch;inti,k=0;/***********SPACE***********/gets(【?】);ch=getchar();/***********SPACE***********/for(i=0;【?】;i++)/***********SPACE***********/if(str[i]!=ch){【?】;k++;}/***********SPACE***********/【?】;puts(str);}答案:=======(答案1)=======str=======(答案2)=======str[i]!='\0'=========或=========str[i]!=NULL=========或=========str[i]!=0=========或=========str[i]=======(答案3)=======str[k]=str[i]=========或=========*(str+k)=*(str+i)=========或=========str[k]=*(str+i)=========或=========*(str+k)=str[i]=======(答案4)=======str[k]='\0'=========或=========*(str+k)='\0'=========或=========str[k]=NULL=========或=========str[k]=0=========或=========*(st

温馨提示

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

评论

0/150

提交评论