武汉大学计算机学院C语言历年试题1.doc
武汉大学计算机学院
2001-2002学年度第一学期2001级
《高级语言程序设计》期末考试试卷
姓名: 学号: 专业:
未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。
一. 选择最合适的答案填空(每题1分,共10分)
( )1.?????? ______ 不是C语言的基本控制结构。
A.????? 转移B.????? 循环C.????? 顺序D.????? 选择( )2.?????? 表达式65|9和65&9的值为______ 。
A.????? 74和74B.????? 73和1C.????? 74和405D.????? 73和9( )3.?????? 设变量int m,n,a,b的值均为1,则执行表达式(m=a>b) &&(n=a>b)后,m,n的值为______ 。
A.????? 1和1B.????? 0和1C.????? 1和0D.????? 0和0( )4.?????? 表达式35<<3的值为______ 。
A.????? 4B.????? 38C.????? 105D.????? 280( )5.?????? 设有如下宏定义 #define WIDTH 80 #define LENGTH WIDTH+1 则执行赋值语句 v=LENGTH*20;/*v为int型变量*/后,v的值为______ 。
A.????? 1620B.????? 1601C.????? 100D.????? 1600( )6.?????? 假如指针p已经指向某个整型变量,语句____ 使指针q与p指向同一变量。
A.?????? q=**pB.?????? q=*&pC.????? q=&&pD.????? q=*p( )7.???????? long a[50],*p;执行p=a; p+=4;后*(p+4)等价于____ 。
A.?????? a[8]B.?????? a[4]C.????? a[2]D.????? 无法确定( )8.?????? 执行fp=fopen(”A:Exam1_8.txt”,”wb”);后fp为null,最可能的原因是____ 。
A.????? 按二进制方式打开文本文件B.????? 文件A:Exam1_8.txt不存在C.????? 文件写保护D.????? 文件A:Exam1_8.txt大小写不一致( )9.?????? ______ 不是对象的基本特性。
A.????? 封装B.????? 多态(重载)C.????? 非结构D.????? 继承( )10.?? 结构化程序设计追求的首要目标是程序的______ 。
A.?????? 运行速度快B.?????? 存储空间少C.?????? 结构优D.?????? 代码长度最短二. 程序纠错(10分)
下列两个程序段有若干错误,请你错误之处下方标明,如有必要可以简要说明原因(在程序右侧)。
重要提示:任何一种程序语言其数据类型的存储空间将受到计算机制约。
程序段A
/*输入不超过20个正整数,计算其乘积*/
#define num 20
int a[num],count=0, buf=1;
for(int i=0; (i0); i++)
{ scanf(“%u”, buf);
a[++count] = buf;
}
num = count;
long sum=0;
for ( i=0; i
程序段B
/*下列函数递归函数求f(n) = (2n)!*/
long f(int n)
{ int tmp
if (n<2) tmp = 1;
tmp = (2*n)*(2*n-1) * f(n-2);
return (long ) tmp;
}
三. 程序阅读与分析(32分)
1.????? (6分)下面的程序求矩阵A(m,m)的右下三角区的所有元素的和,请在程序的空白处填上适当的内容。
#define m 100
main()
{ int a[m][m];
int i, j;
① sum = 0;
for (i=0; i
for (j=0;j