版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉大学计算机学院
2006-2007学年度第2学期2006级
《高级语言程序设计》期末考试试卷A卷
姓名:学号:专业:
说明:开卷考战:答案请全部写在答题纸上,写在试卷上无效。
未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。
题号—•二三四五总分
总分1624153C15100
一.单项选择题:(选择最合适的答案填空,每小题2分,共16分)
()1、在执行以下程序时,从键盘上输入9,则该程序输出结果是o
#includc<stdio.h>
in(main()
{intn;
scanf(',%d,,.&n);
if(n++<10)
printf("%d\n",n);
else
printf("%d\nu,n-);
retiirn0;
)
A、8B、9C、10D、11
()2、表达式0156637&〜0777的结果是°
A、0156000B、156000C、0637D、637
()3、假设有如下定义:irnm=l,n=l;则执行表达式(m='5y、3')&&(n='7>9')后,
m和n的值分别是o
A、1和1B、1和0C、0和1D、0和0
()4、表达式-11%3+7/2的结果是o
A、5.5B、5C、1.5D、1
()5、设有如下宏定义:
#defineBOOK(x)8-x
则执行赋值语句v=BOOK(2)*BOOK(4);/*v为int型变量*/
后,变量v的值为一O
A、-12B、0C、24D、44
()6、设有如下定义:
inta[6][4];int(*p)[4];p=a;
则与表达式*p+3等价的选项是o
A、a[0][3]B、&a[0][3]C、a[3][0]D、&a[3][0]
()7、假设有以下定义:
staticchar*a=,,h\te\nY\OW\Oo\b,*;
则表达式strlen(a)的结果为。
A、15B、10C、7D、5
()8、假设有如下定义:
inta=l,b=2,c=3,u,v;
执行下面语句组后,整型变量u和v的值分别为o
u=a?b:c;
v=(a=2)?b+a:c+a;
A、3和3B、3和4C、2和3D、2和4
二.程序阅读与分析(等小题X分,共24分)
9、分析下面程序执行流程,指出程序执行结果。
#include<stdio.h>
intmain()
{inti;
fbr(i=l;i<=6;i++)
switch(i%5)
{case0:primf("*");break;
case1:prints铲);break;
default:printfTW");
case2:printfC'&");
)
return0;
)
10、下面程序完成的功能如下:输入一个由10个整数组成的数组a,将该数组下
标值为偶数的元素由小到大排序,将下标值为奇数的元素由大到小排序。
例如,输入数组a为{8,1,6,345,270,9},执行下面程序后,数组a为
{0,9,2,7,4,5,6,3,8.11o
请在空白处填写合适内容以正确完成整个程序。
#include<stdio.h>
intmain()
{⑴a[10],n;
int
for(i=0;i<10;i++)
scanf('%d",(2));
for(i=0;i<7;i+=2)
foKi=(3);i<i0;(4))
{if(⑸)
{t=afil;a[il=a[jl;afj]=t;}
if((6))
{t=a[i+1];a[i+l]=aU+l];a[j+l]=t;)
)
for(i=0;(7);i++)
printf(',%d\t,\(8));
return0;
I
11、分析以下程序执行流程,请指明错误之处,并简要说明错误原因,并给出修
改意见。(共4个错误)
/*输入多个整数,以。作为结束标记,将这些整数存入到Exam.dat文件中*/
/*然后将这些数据从Exam.dal文件中读出来,显示到显示器上*/
#include<stdio.h>
#include<stdlib.h>
intmainO
(
File*fp;
if((fp=fopenCExam.dal","w"))==NULL)
{printf("openfileerror!");
exit(l);
I
do
{scanf("%d;p);
fprinlf(fp,”%d”,p);
}whilc(p!=0);
fclose(fp);
if((fp=fopen(',Exam.dat,,,"rH))==NULL)
{printf("openfileerror!");
exit(l);
}
do
{fscanf(fp,"%d",p);
printf(H%6d\t",p);
)while(p!=0);
fclose(fp);
return(0);
三.程序测试与分析(每小题5分,共15分)
12、以下程序计算・32768-3,执行以下程序,得到如下所示的运行结果,请分析结
果为什么不是-32771?并指出该如何修改。
#include<stdio.h>
intmain()
{shortinta,b;
a=-32768;
b二a-3;
printf(,,a=%d,b=%d\n〃,a,b);
)
运行结果:
a=-32768,b=32765
13、上机调试下面的程序,在编译过程提示有如下语法错误"I。。manyarguments
tofunctioninmax[int,int)”。分析下面程序,说明出现上述语法错误的原因。
并指出用下划线标注的语句的作用是什么?
#include<stdio.h>
#defineMAX
#ifdcfMAX
intmax(intx,inty)
{return(x>y)?x:y;
)
#else
intmax(intx,inty,intz)
{intk;
k=x>y?x:y;
return(z>k)?z:k;
}
#endif
intmain()
{inta,b,c;
scanfft%d%d%d,,,&a,&b,&c);
printf(tkmax=%d\n,,,max(a,b,c));
return0;
)
14、下面的函数的功能是从一个整数组成的单链表中删除指定整数n的节点。
#include<stdio.h>
#include<stdlib.h>
structnode)
intdata;
structnode*nexl;
I;
intdeletelink(structnode*phead,intn)
{structnode*p,*q;
p=phead:
while(p->data!=n&&p->next!=NULL)
(q二P;
p=p->next;}
if(p->data==n)/*找到*/
{if(p==phead)/*被删除的结点是链头*/
phead=p->next;
else/*被删除的结点不是链头*/
q->next=p->next;
free(p);
return(I);}
else
return(0);
)
假设有下图所示的单链表:
现在要求从上图所示的单链表中删除数据值等于3的节点,通过执行函数调
用deleielink(head.3)来完成该删除操作。但是函数调用结束后,该链表仍然
和上图一样,整数3并没有从链表中删除,请分析出错的原因,并给出修改
意见。
(提示:被删除的节点是单链表中的第一个节点。)
四.程序实现题(每小题15分,共30分)
15、下面程序完成的功能如下:输入一个整数,要求按原来的规律将它插入一个已
经排好序的数组中。分析该程序的执行流程,写出该程序的流程图。
#include<stdio.h>
intmain()
{inta[ll]={l,4,6,9,13,16,19,28,40,100};
inttempl,temp2,number,end,i,j;
printf("originalarrayis:\n");
for(i=0;i<10;i++)
printf(H%5d",a[i]);
printf("\n");
printf("insertanewnumber:");
scanf("%d",&number);
end=a[9J;
if(nunibcr>end)
a[101=number;
else
{for(i=0;i<10;i-H-)
{if(a[il>number)
{templ=a[ij;
a[i]=numbcr;
for(j=i+l;j<ll;j++)
{temp2=a[j];
a[j]=templ;
templ=temp2;
)
break;
)
}
for(i=0;i<ll;i++)
printf("%6d,;a[i]);
return0;
}
16、设计一个函数count(s,t);其中s为字符串,t单个字符。如果t为大小写字母,
则函数count统计字符串s中I对应的字母(大小写字母均统计在内)出现的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47477-2026纳米技术宽温域纳米颗粒测量凝结核粒子计数法
- 针灸临床治疗操作规范手册
- 门店服务质量满意度调查规范
- 田间灌溉系统维护管理指南
- 2026智慧楼宇IBMS系统方案
- 葡萄避雨栽培修剪管理方案
- 河蟹成蟹养殖技术规程
- 高端草莓采后分级包装技术规范
- 小儿推拿保健操作规范
- 悬灸养生仪操作安全操作规范
- 2026文化和旅游部恭王府博物馆招聘应届毕业生4人考试备考试题及答案解析
- 昆明供电局项目制用工招聘笔试真题2025
- 2026年新国考公共基础知识专项试题及答案
- 2024版公路工程工艺工序标准化手册-路面分册
- 冰淇淋购买合同书模板
- 2025年光伏组件拆卸和更换施工技术方案
- 煤矿重大风险停产撤人制度
- 医疗机构患者隐私保护培训课件
- 腰痹的健康宣教
- 医院药学高质量发展规划(2026-2030 年)及 2026 年度实施要点
- 香港定居申请书
评论
0/150
提交评论