武汉大学学位考试《高级语言程序设计》试卷及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉大学珞珈学院《高级语言程序设计》试卷答案(A)

( 2007-2008学年度第2学期 2007级)

[闭卷,试卷共页,答题时间120分钟]

学号姓名

专业计算机科学与技术班号2007级05、06班系计算机(说明:请考生将答案写在“武汉大学珞珈学院考试答题纸”纸上并标明题号,否则不得分。)

一、选择题(每小题2 分,共20 分。)

1、正确的标识符是____A__ 。

A._a123

B.3z

C.“next”

D.…A‟

2、表达式2.5+7%2-5/2*2的结果为____C__ 。

A. 3.5

B. 1.5

C.-0.5

D.-1.5

3、下面的四个选项中,正确的整型常量是____B__ 。

A.x234F

B.068

C.0672

D.07aL

4、设有如下宏定义#define weight 10

#define price (1+weight)

则执行赋值语句v=price*20;/*v为int型变量*/后,v的值为____D_ 。

A.41

B.200

C.201

D.220

5、设有变量定义:int m=5,n=3;则执行表达式((m+=2)>=7)||((n-=3)<10)

后,m,n的值分别为_____ D _。

A.5和0

B.5和3

C.7和0

D.7和3

6、 B 不属于三种基本程序结构。

A.顺序

B.转移

C.选择

D.循环

7、设long a[50],*p;执行p=a+2; 后*(p+4)等价于___C_____。

A.a[2]

B.a[4]

C.a[6]

D.无法确定

8、表达式0x7586&0xff00结果为____D__ 。

A.0x86

B.0x7586

C.7500

D.0x7500

9、采用只读模式打开二进制文件”book.txt”,下面正确的打开模式是A_ 。

A.“r b”

B.“r b+”

C.“r”

D.“r+”

10、已知各变量的类型说明如下:

int i=8, k, a, b;

unsigned long w=5;

double x=1.42, y=5.2;

则以下符合C语言语法的表达式是 B 。

A.a=a*3=2;

B. a+=a-=(b=4)*(a=3);

C. x%(-3);

D. y=float(i);

二、程序阅读题(每题 5 分,共25 分)

1、分析以下程序执行流程,写出程序执行结果。

#include

int main()

{ int x=5;

while(x++<10)

{ do{

printf("%6d",x++);

}while(x<11);

x--;

}

return 0;

}

答案: 6 7 8 9 10

2、分析以下程序执行流程,写出程序执行结果。

#include

int main()

{ void f1(int);

int x;

for(x=2;x<6;x++)

f1(x);

return 0;

}

void f1(int z)

{ int x=5;

static int y=10;

x++;

printf("%d+%d+%d=%d\n",x,y,z,x+y+z);

y+=10;

}

答案:6+10+2=18

6+20+3=29

6+30+4=40

6+40+5=51

3、分析以下程序的执行流程,指出程序的功能。

#include

int main()

{ int a[5]={1,5,2,4,3},i,j,t;

for(j=1;j<=4;j++)

for(i=0;i<=4-j;i++)

if(a[i]

{t=a[i]; a[i]=a[i+1]; a[i+1]=t;}

for(i=0;i<5;i++) printf("%d",a[i]);

return 0;

}

答案:数组a按照从大到小的顺序排序。

4、分析以下程序的执行流程,指出程序的功能。

#include

int prime(int number)

{ int flag=1,n;

for(n=2;n

if(number%n==0)

flag=0;

return(flag);

}

int main()

{ int number;

printf("请输入一个正整数:\n");

scanf("%d",&number);

if(prime(number))

printf("\n %d ",number);

return 0;

}

答案:判断一个整数是否是素数。

5、以下程序计算-32768-3,执行以下程序,得到如下所示的运行结果,请分析程序

执行流程,解释结果为什么不是-32771?并指出该如何修改。

#include

int main()

{ short int a,b;

a=-32768;

b=a-3;

printf("a=%d,b=%d\n",a,b);

}

运行结果:

a=-32768,b=32765

答案:short int数据范围为[-32768,32767],数据溢出。

short int改long int。%d改%ld。

三、程序填空题(请在空白处填写正确内容,以完成程序;每空1分,共10 分)

1、将100~200之间(包括100和200)不能被7整除的数输出。

#incude

int main()

{ int (1);

for(n=100; (2) ; (3) )

相关文档
最新文档