版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计笔试试题(A卷)第1页(共14页)哈尔滨工业大学(威海)2011/2012学年春季学期C语言程序设计笔试试题(A卷)一、单项选择题。请把答案填入下面框中,不允许出框线。(本题16分,每小题1分)题号12345678答案ACBCABDD题号910111213141516答案BBDBBDAA注意行为规范遵守考试纪律1.有以下定义:inta;longb;doublex,y;则下列正确的是(注意行为规范遵守考试纪律A)a%(int)(x-y) B)a=x!=y C)(a*y)%b D)y=x+y=x2.以下C语言标识符中,不合法的是(C)。A)_2 B)a_b C)a--b D)AaBc3.C语言允许函数类型默认定义,此时该函数值隐含的类型是(B)。A)float B)int C)long D)double4.若有定义int(*p)[3];则下列说法正确的是(C)。A)定义了基类型为int的三个指针变量 B)定义了一个名为*pt、具有三个元素的整型数值C)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组 D)定义了基类型为int的具有三个元素的整型数组 5.有以下程序#include<stdio.h>main(){ inta=1,b=0; if(!a) b++; elseif(a==0)教研室主任签字: if(a)b+=2;教研室主任签字: elseb+=3; printf("%d\n",b);}则程序输出(A)。A)0 B)1 C)2 D)36.有以下程序段#include<stdio.h>main(){ intx=10; while(x--); printf("x=%d\n",x);}则最后的输出结果是:(B)。A)x=0 B)x=-1 C)x=1 D)while构成无限循环7.有以下程序:#include<stdio.h>intfun(){ staticintx=1; x*=2; returnx;}main(){ inti,s=1; for(i=1;i<=2;i++)s=fun(); printf("%d\n",s);}执行后的输出结果为(D)。A)0 B)1 C)8 D)48.#include<stdio.h>voidmain(){ intk=011; printf("%d\n",k++);}程序输出结果是(D)A)12 B)11 C)10 D)99.以下程序段运行结果是(B)。 enumweekday{aa,bb=2,cc,dd,ee}week=ee; printf(“%d\n“,week);A)4 B)5 C)ee D)010.以下对C语言函数的描述中,不正确的是(B)。A)不同函数中可以使用相同名字变量 B)函数可以嵌套定义 C)函数可以没有返回值 D)程序由函数组成11.若有定义语句:doublex[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是(D)。A)*p B)*xC)*(p+1) D)x[5]12.以下程序段运行结果是(B)。 inta=6;printf(“%d\n“,a>>1);A)12 B)3 C)6 D)113.若有定义语句: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);14.以下程序运行结果是(D)。 charstr[]=“abc“;printf(“%d,%d\n“,strlen(str),sizeof(str));A)6,3 B)3,3 C)10,10 D)3,1015.以下程序段运行结果是(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,4 C)8,8 D)4,416.有以下程序: #include<stdio.h>main(){ FILE*f; f=fopen("fa.txt","w"); fprintf(f,"day"); fclose(f);}若文本文件fa.txt中原有内容为:hello,则运行以上程序后,文件fa.txt中的内容为(A)。A)day B)helloday C)daylo D)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");}4.以下程序的功能是,通过函数fun输入字符并统计输入字符个数。用字符$作为输入结束标志。#include<stdio.h>long【4】;/*函数声明语句*/main(){ longn; n=fun(); printf("n=%ld\n",n);}longfun(){ longm; for(m=0;getchar()!='$';【5】); returnm;}5.有以下程序段,且变量已正确定义和赋值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);6.以下函数的功能是求两个整数的最大公约数。fun(intm,intn){ inti=1,t; for(;i<=m&&i<=n;i++) if(【8】) t=i; return(t);}7.以下程序将三个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");}C语言程序设计笔试试题(A卷)第14页(共14页)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(4));}4.unionexample{struct{intx;inty;}in;inta;intb;}e;main(){ e.a=2;e.b=1;e.in.x=e.a+e.be.in.y=e.a*e.b;printf(“%d\n”,e.in.y);}5.structNODE{ intk; structNODE*link;};voidmain(){ structNODEm[3],*p=m,*q=m+2; inti=0; while(p!=q) { p->k=++i; p++; q->k=i++; q--; } q->k=i; for(i=0;i<3;i++) printf("%d",m[i].k); printf("\n");}6.main(){ intj,a[]={1,3,5,7,9},*p=a+3; for(j=3;j;j--) { switch(j) { case1: case2:printf("%d",*(p++)); case3:printf("%d",*(--p)); } }}7.main(){intx;for(x=1;x<=50;x++) if(x%2==0) if(x%3==0) if(x%5==0) printf("%d",x);}8.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>#include
<stdio.h>void
fun
(int
a,b){int
t;
t=b;b=a;a=t;}main(){int
a,b;
printf("Enter
a,b:");scanf("%d%d",a,b);
fun(&a,&b);
printf("a=%d
b=%dn",a,b);}答案:scanf("%d%d",a,b);改为:scanf("%d%d",&a,&b);2分fun
(int
a,b)改为: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*p1; };main(){ STRU*s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河北省高三5月质量检测历史试题(含答案)
- 数字人肢体动作捕捉技师考试试卷及答案
- 房屋租赁委托协议书
- 商业车位转让协议书范本
- 最高额抵押担保借款协议书
- 女主和总裁协议书婚姻文
- 米东区离婚协议书律师顾问
- 营口吊车租赁协议书
- 二哥给父亲签协议书
- 通信型伺服有几种协议书
- GB/T 1040.1-2025塑料拉伸性能的测定第1部分:总则
- 分泌性中耳炎术后护理
- 新22J01 工程做法图集
- 人教A版高中数学必修第二册8.6.3 平面与平面垂直(一)【课件】
- 《广西建设工程消防设计审查验收常见问题汇编》
- 2024秋新统编版道法7年级上册教学课件 12.2 正确对待顺境和逆境
- T-GXAS 395-2022 蒜头果栽培技术规程
- 失读症的康复治疗
- 公司一级安全技术交底
- 2024秋期国家开放大学本科《中国当代文学专题》一平台在线形考(形考任务一至六)试题及答案
- 建筑与市政工程抗震规范培训
评论
0/150
提交评论