C语言程序设计试卷及答案_第1页
C语言程序设计试卷及答案_第2页
C语言程序设计试卷及答案_第3页
C语言程序设计试卷及答案_第4页
C语言程序设计试卷及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计笔试试题题号—二三四五六笔试(70%)综合(30%)总分分数试卷说明:1。笔试卷面总分100分,取卷面成绩的70%计入总分;2.综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%3。答题时禁止拆开试卷钉,试卷背面即为草稿纸;4。答题时间120分钟。号学名姓得分:号学名姓题号12题号12345678答案题号910111213141516答案本题16分,每小题1分)注意行为规范有以下程序注意行为规范main(){inta=1,b=0;if(!a)b++;elseif(a==0)if(a)b+=2;elseb+=3;遵守考试纪律printf(“%d\n”,b);遵守考试纪律}则程序输出(A)。A)0B)1 C)2 D)32.有以下定义:inta;longb;doublex,y;则下列正确的是(A)・A)a%(int)(x—y)B)a=x!=yC)(a*y)%bD)y=x+y=x3.若有定义int(*p)[3];贝忏列说法正确的是(C)。定义了基类型为int的三个指针变量定义了一个名为*pt、具有三个元素的整型数值定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组定义了基类型为int的具有三个元素的整型数组4。 有以下程序段main(){intx=10;while(x-—);printf("x=%d\n”,x);}则最后的输出结果是:(B )。A)x=0B)x=-1C)x=1D)while构成无限循环5。 有以下程序:intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=2;i++)s=fun();printf("%d\n”,s);}执行后的输出结果为(D)。A)0B)1C)8D)46。 voidmain(){intk=011;printf(”%d\n",k++); }}程序输出结果是( D)A)12B)11C)10D)97。 以下C语言标识符中,不合法的是(C)。A)_2 B)a_b C)a—-b D)AaBc8。 C语言允许函数类型默认定义,此时该函数值隐含的类型是(B).A)float B)intC)longD)double9。 以下程序段运行结果是(B).enumweekday{aa,bb=2,cc,dd,ee}week=ee;

printf(“%d\n“,week);TOC\o"1-5"\h\zA)4B)5C)ee D)0以下对C语言函数的描述中,不正确的是(B )。A)不同函数中可以使用相同名字变量 B)函数可以嵌套定义C)函数可以没有返回值 D)程序由函数组成若有定义语句:doublex⑸={1.0,2。0,3・0,4。0,5.0},*p=x;则错误引用x数组元素的是( D )。A)*p B)*x C)*(p+1) D)x[5]以下程序段运行结果是(B ).inta=6;printf(“%d\n“,a〉>1);A)12B)3C)6D)1若有定义语句:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是(B).A)scanf(“%lf%lf”,x,y);B)scanf(“%lf,%lf”,px,py);C)scanf(“%f%f”,&x,&y);D)scanf(“%f%f”,x,y);以下程序运行结果是(D)。charstr[]=“abc“;printf(“%d,%d\n“,strlen(str),sizeof(str));C)10,10D)3,10)。C)8C)10,10D)3,10)。C)8,8 D)4,4以下程序段运行结果是(A#definef(x)x*x*xmain(){inta=1,b,c;b=f(a+1);c=f((a+1));printf(“%d,%d\n“,b,c);}A)4,8 B)8,416。 有以下程序:main(){FILE*f;f=fopen(“fa。txt“,“w“);fprintf(f,“day“);fclose(f);}

若文本文件fa・txt中原有内容为:hello,则运行以上程序后,文件fa。txt中的内容为(A)。A)day B)A)day B)hellodayC)dayloD)dayhello得分:二、填空题。请按序号把答案填入下面框中, 不允许出框线。(本题20分,每空2分)题号答案题号答案1a[row][col]6k<=n2x%10或x%100%107k++323hE45a8m%i==0&&n%i==04fun()9p=p—〉next5m++10s[i]或,\0'1。以下fun函数功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回。intfun(inta[N][M]){inti,j,row=0,col=0;for(i=0;i〈N;i++)for(j=0;j〈M;j++)if(a[i][j]>a[row][col]){row=i;col=j;}return【1】 );}2。 以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位,百位的顺序拆分输出。main(){intx=123;printf(“%d—%d-%d\n”,【2】 ,x/10%10,x/100);}3。 下列程序运行时,若输入23he45a〈回车〉,输出结果是【3】#include〈stdio・h〉main(){chara=0;ch;while((ch=getchar())!='\n'){if(a%2!=0&&(ch〉='a'&&ch〈='z'))ch=ch-‘a'+'A';a++;putchar(ch);}printf(“\n”);}以下程序的功能是,通过函数fun输入字符并统计输入字符个数。用字符$作为输入结束标志.#include<stdio.h〉long【4】 :/*函数声明语句*/main(){longn;n=fun();printf(“n=%ld\n”,n);}longfun(){longm;for(m=0;getchar()!='$':【5】 );returnm;}有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k〈=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n”,s);请填空,是下面程序段的功能与之完全相同s=1.0;k=1;while(【6】 ){s=s+1.0/(k*(k+1)):【7】 :}printf("s=%f\n\n”,s);以下函数的功能是求两个整数的最大公约数。fun(intm,intn){inti=1,t;for(;i<=m&&i<=n;i++)if( )t=i;return(t);}以下程序将三个structnode型变量链接成一个链表,并在while循环中输出链表节点数据域中的数据。structnode{intdata;structnode*next;}main(){structnodea,b,c,*p,*q;a。data=10;b。data=20;c。data=30;p=&a;a.next=&b;b。next=&c;c。next=NULL;q=p;while(p){printf(“%d,”,p->data);【9】 :}printf(“\n”);}8。以下程序的功能是:删除字符串中所有的空格。main(){chars[20]="howareyou!";inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=''){s[j]=s[i];j++;}s[j]=【10】 :}得分:三、请把下列程序运行结果填入答案框中,不允 许出框线,用“/"表示回车。(本题24分,每小题3分)题号12345678答案1244364121555553041。main(){inti,j,a[][2]={1,2,3,4};for(i=0;i〈2;i++)for(j=i;j<2;j++)printf(“%d”,a[i][j]);printf(“\n”);}2。main(){charch[]=”453cd34”;inti,s=0;for(i=0;ch[i]>'0'&&ch[i]<'9';i+=2)s=10*s+ch[i]-'0';printf(“%d\n",s);}3.longfib(intn){if(n>2)return(fib(n—1)+fib(n-2));elsereturn(2);}voidmain(){printf(“%d\n””,fib⑷);}{{{-(9__)¥\.P%//)JlUUd:£3SS•((++d)¥'“p%〃)”upd:z9SFD:Xass}①ip”MS }(——!临4)呵{£+v=d¥/{6xZzS[]e伽!}()uicin°9{:(〃%)”口盟5(>[°[I]B'〃P%")Jiuud(++Tf£)VO=IMOJfi=>[<一b{f bf++j=>[<一bi++dfi++=>[<-d}(b=id)叩qMgW!iZ+va=b羊(va=d斗'[£]inaaONpm;s}()uivuipioA•{啦u"aaONPnijsaaONpnijs°s{-(斤叫9'HU\P%//)Jl™d:qp¥eP=X・U¥°aq*3+v*d=x*ui°a2{:qw!iv)UI5-心叫fx;UI}pni)s}aidincxauoiun}()ureint7。 main(){intx;for(x=1;x〈=50;x++)if(x%2==0)if(x%3==0)if(x%5==0)printf(”%d”,x);}main(){inta,b;for(a=1,b=1;a〈=50;a++){if(b〉8)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}得分:四、根据功能描述改正程序中的错误。 不得增行或删行,不得更改程序结构。(本题10分)1•下列给定程序中,函数fun的功能是:实现两个整数的交换。例如给a和b分别输入60和65,输出为:a=65 b=60。(本小题6分)#include<conio。h>#includevstdio.h〉voidfun (inta,b){intt;t=b;b=a;a=t;}main(){inta,b;printf("Entera,b:");scanf(”%d%d",a,b);fun(&a,&b);printf("a=%db=%dn”,a,b);}答案:scanf("%d%d",a,b);fun(inta,b)改为:scanf("%d%d”,&a,&b);--一--一2分改为:fun(int*a,int*b)-— 2分t=b;b=a;a=t; 改为:t=*b;*b=*a;*a=t;一 -2分2•下述代码定义了一个结构体STRU,用其声明指针变量*s,并完成对这个指针变量的赋值、输出的任务•请指出下列程序的错误,并予以更正(本小题4分)structSTRU{intnum;charname[20];floatscore;structSTRU*pl;};main(){STRU*s=(structSTRU*)malloc(sizeof(structSTRU));s。num=l23;s—〉name=”zhang";s->score=6lo5;printf(“num=%d,name=%s,score=%f",s-〉num,s-〉name,s—>score);}答案:s。num=l23; 改为:s—〉num或C*s)osum- —2分s-〉name="zhang”;改为:strcpy(s->name,"zhang”卜 -2分得分:五、请用标准程序流程图描述下列问题的算法 (本题10分)依次从键盘输入30个学生的《计算机实用基础》成绩,请分别统计不及格的人数和优秀(成绩不小于90)的人数,并打印输出统计结果。答案:

1分1分1分1分六、编程题(本题20分)得分:(考查课做前两道,考试课做后两道)得分:某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。(本小题10分)答案:main(){inta,i,aa[4],t;scanf(”%d”,&a);aa[0]=a%10;aa[1]=a%100/10;aa[2]=a%1000/100;aa[3]=a/1000;for(i=0;i<=3;i++){aa[i]+=5;aa[i]%=10;for(i=0;i<=3/2;i++){t=aa[i];aa[i]=aa[3-i];aa[3—i]=t;}for(i=3;i〉=0;i--)printf("%d",aa[i]);}2。假定输入的字符串中只包含字母和*号.请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。(本小题10分)例如:若字符串中的内容为****A*BC*DEF*G*******删除后,字符串内容应该是:ABCDEFGvoidfun(char*a){}main(){ints[81];gets(s);fun(s);puts(s);}参考答案:fun(char*a){inti=0;char*p=a;while(*p!='\0'){if(*p!='*'){a[i]=*p;i++; }p++;}a[i]='\0'3。60名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun(),它的功能是:找出学生的最低分,由函数值返回。(本小题10

温馨提示

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

评论

0/150

提交评论