杭州师范大学C语言试题第7套

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、判断题第1题:C语言是一种结构化程序设计语言。参考答案:对第2题:函数调用可以作为独立的语句存在参考答案:对第3题:在C语言中使用位段时,一个位段可以在不同的存储单元中。错第4题:在switch语句中,case后可不加“{、}”。参考答案:对第5题:在标准C中,while后表达式只能是逻辑或关系表达式。错第6题:在C语言中,定义结构体变量时可以省略关健字struct。错第7题:在标准C中并不区分英文字符的大小写。参考答案:错第8题:二进制文件打开后可以先读文件的末尾,而顺序文件不可以对第9题:单目运算符++的运算对象可以是char型变量和int型变量,但不能是float型变量参考答案:对第10题:“--”运算符的优先级比“-”运算符的优先级低。参考答案:错二、单选题选择正确的答案输入第1题:若有以下说明:intw[3][4]={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的数组元素的表达式是参考答案:DA、*w[1]+1B、p++,*(p+1)C、w[2][2]D、p[1][1]第2题:若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是参考答案:BA、i=*p;B、*p=*&j;C、i=&j;D、i=**p;第3题:设i是int型变量,f是float型变量,为了把100和765.12分别给i和f,用下面的语句:scanf(i=%d,f=%f,&i,&f);正确的输入是参考答案:BA、100<空格>765.12<回车>B、i=100,f=765.12<回车>C、100<回车>765.12<回车>D、x=100<回车>,y=765.12<回车>第4题:若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是参考答案:BA、EOFB、1C、非零值D、NULL第5题:以下程序的输出结果是main(){inti,k,a[10],p[3];for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k=p[i]*2;printf(%d\n,k);}参考答案:CA、10B、11C、12D、13第6题:C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是:参考答案:BA、地址传递B、单向值传递C、由实参传给形参,再由形参传回给实参D、由用户指定传递方式第7题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:DA、“r”B、“w”C、“rb”D、“a”第8题:在C程序中,若对函数类型未加说明,则函数的隐含类型为_____。参考答案:AA、intB、doubleC、voidD、char第9题:Break语句的正确的用法是参考答案:BA、无论在任何情况下,都中断程序的执行,退出到系统下一层。B、在多重循环中,只能退出最靠近的那一层循环语句。C、跳出多重循环。D、只能修改控制变量。第10题:当顺序执行了文件关闭操作时,fclose函数的返回值是:参考答案:CA、-1B、tureC、0D、1三、程序填空题第1题:设计一个程序完成以下功能:若从键盘输入英文字母,则原样输出;输入其他字符不理会,直到输入Q键结束。]#includestdio.hmain(){charch;do{ch=____;if(____)break;elseif(_____)putchar(ch);}while(1);}参考答案:getchar()参考答案:ch=='Q'或ch=='q'参考答案:ch>='a'&&ch<='z'||ch>='A'&&ch<='Z'第2题:以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值,放在数组br中,主函数完成输出3行的最大值元素,请填空。voidfun(intar[][4],int*br){intI,j,x;for(I=0;I<3;I++){x=ar[I][0];for(j=1;j<4;j++)if(___)x=ar[I][j];____=x;}}voidmain(){inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}};intb[3],I;____;for(I=0;I<3;I++)printf(%4d,___);printf(\n);}请在左边文本框当中输入正确答案参考答案:a[I][j]>x请在左边文本框当中输入正确答案参考答案:br[I]请在左边文本框当中输入正确答案参考答案:fun(a,b)请在左边文本框当中输入正确答案参考答案:b[I]第3题:根据下式计算s的值,要求精确到最后一项的绝对值小于10的-6次方。#include<stdio.h#include<math.hvoidmain(){intflag=1,t=1;doubles=0,item=1;____;____;while(fabs(item)=1e-6){item=flag*1.0/t;s=s+item;____;t=t+2;}printf(s=%f\n,s);}请在左边文本框当中输入正确答案参考答案:s=0请在左边文本框当中输入正确答案参考答案:item=1请在左边文本框当中输入正确答案参考答案:flag=-flag四、程序阅读题第1题:阅读程序,写出运行结果。#include<stdio.h>voidmain(){inta[8]={1,0,1,0,1,0,1,0},I;for(I=2;I<8;I++)a[I]+=a[I-1]+a[I-2];for(I=0;I<8;I++)printf(%3d,a[I]);printf(\n);}A)、10101010B)、1022571320C)、1123581321D)、1,0,1,0,1,0,1,0参考答案:B第2题:阅读下列程序,写出程序运行的输出结果.#include<stdio.h>pw(intx,intn){intj,p=1;for(j=1;j<=n;j++)p=p*x;return(p);}voidmain(){intj;for(j=0;j<3;j++)printf(%d,%d,%d\n,j,pw(2,j),pw(-3,j));}A)、0,1,11,2,32,4,9B)、0,2,31,4,92,8,27C)、0,1,11,2,-32,4,-9D)、0,1,11,2,-32,4,9参考答案:D第3题:阅读下列程序,写出程序运行的输出结果。#include<stdio.h>voidmain(){charc1,c2;c1='a'+'6'-'2';c2='a'+'6'-'3';printf(%c,%c\n,c2,c1);}A)、d,eB)、a,bC)、4,3D)、程序错误,没有结果输出参考答案:A第4题:阅读下列程序,写出程序运行的输出结果。#include<stdio.h>voidmain(){char*p;chars[]=”ABCD”;for(p=s;p<s+4;p++)printf(“%c,%s\n”,*p,p);}A)、A,ABCDB,BCDC,CDD,DB)、A,ABCDB,BCDC,CDC)、A,ABCDB,BCDD)、A,ABCD参考答案:A第5题:阅读程序,写出运行结果。#include<stdio.h>voidmain(){inta=1,s=0;switch(a){case1:s+=1;case2:s+=2;default:s+=3;}printf(s=%d,,s);}A)、s=1B)、s=3C)、s=6D)、s=0参考答案:C五、程序设计题第1题:三个整数a、b、c,由键盘输入,从大到小依次放入a,b,c中输出。参考答案:#include<stdio.h>main(){inta,b,c,temp;printf(请输入3个整数:);scanf(%d,%d,%d,&a,&b,&c);if(a<b){temp=a;a=b;b=temp;}if(a<c){temp=a;a=c;c=temp;}if(b<c){temp=b;b=c;c=temp;}printf(%d,%d,%d,a,b,c);}第2题:输入一数组,元素个数为20,统计出其中的奇数和偶数,并分别放入两个数组中,并分别求出她们的和。输入输出都应有相应的提示。参考答案:#include<stdio.h>main(){intsum[20],nq[20],ne[20],j,k,l,sumq,sume;k=0;l=0;sumq=0;sume=0;for(j=0;j<20;j++){scanf(%d,&sum[j]);if(sum[j]%2==0){ne[k]=sum[j];sume=sume+sum[j];k++;}else{nq[l]=sum[j];sumq=sumq+sum[j];l++;}}printf(偶数序列为:);for(j=0;j<k;j++)printf(%3d,ne[j]);printf(%5d\n,sume);printf(奇数序列为:);for(j=0;j<l;j++)printf(%3d,nq[j]);printf(%5d,sumq);}第3题:打印出如下所示的杨辉三角形(要求打印出10行)。11112113311464115101051…………………参考答案:#include<stdio.h>#include<math.h>main(){inti,j,a[11][11];for(i=1;i<11;i++){a[i][i]=1;a[i][1]=1;}for(i=3;i<11;i++)for(j=2;j<=i-1;j++)a[i][j]=a[i-1][j-1]+a[i-1][j];for(i=1;i<11;i++){for(j=1;j<=i;j++)printf(%6d,a[i][j]);printf(\n);}printf(\n);}.

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功