教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

武汉大学计算机学院C语言历年试题1

来源:网络收集 时间:2026-05-25
导读: 武汉大学计算机学院 2001-2002学年度第一学期2001级 《高级语言程序设计》期末考试试卷 姓名: 学号: 专业: 未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。 一. 选择最合适的答案填空(每题1分,共10分) ( )1. ______ 不是C语言

武汉大学计算机学院 2001-2002学年度第一学期2001级 《高级语言程序设计》期末考试试卷

姓名: 学号: 专业:

未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。

一. 选择最合适的答案填空(每题1分,共10分)

( )1. ______ 不是C语言的基本控制结构。

A. 转移 A. 74和74

m,n的值为______ 。

A. 1和1 A. 4

B. 0和1 B. 38

C. 1和0 C. 105

D. 0和0 D. 280

( )4. 表达式35<<3的值为______ 。 ( )5. 设有如下宏定义 #define WIDTH 80

#define LENGTH WIDTH+1

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

B. 循环 B. 73和1

C. 顺序 C. 74和405

D. 选择 D. 73和9

( )2. 表达式65|9和65&9的值为______ 。

( )3. 设变量int m,n,a,b的值均为1,则执行表达式(m=a>b) &&(n=a>b)后,

A. 1620 A. q=**p A. a[8]

B. 1601 B. q=*&p B. a[4]

C. 100 C. q=&&p C. a[2]

D. 1600 D. q=*p D. 无法确定

( )6. 假如指针p已经指向某个整型变量,语句____ 使指针q与p指向同一变量。 ( )7. 设long a[50],*p;执行p=a; p+=4;后*(p+4)等价于____ 。

( )8. 执行fp=fopen(”A:Exam1_8.txt”,”wb”);后fp为null,最可能的原因是____ 。

A. 按二进制方式打开文本文件 C. 文件写保护

( )9. ______ 不是对象的基本特性。

A. 封装

B. 多态(重载)

C. 非结构

C. 结构优

B. 文件A:Exam1_8.txt不存在 D. 文件A:Exam1_8.txt大小写不一致

D. 继承

D. 代码长度最短

( )10. 结构化程序设计追求的首要目标是程序的______ 。

A. 运行速度快 B. 存储空间少

二. 程序纠错(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

for (i= ③ ; i< ④ ; i++)

for (j= ⑤ ;j< ⑥ ;j++) sum += (double) a[i][j];

}

2. (6分)写出下列程序的运行结果。 #include

main()

{ int i,b,k=0;

for(i=1;i<=5;i++) { b=i%2;

while(b-->=0) k++;

} printf(“%d,%d”,k,b); }

3. (6分)写出下列程序的运行结果。 int fat(int n)

{ static int f=1; f=f*n*2; return (f); }

main() { int i,j;

for(i=1;i<=5;++i)

printf(“%d\\t”,fat(i)); }

4. (6分)下列程序段将一个单链表写入一个文件: p=head;

if (fp = fopen (“Exam5.dat”,”w”) != null) { while (p != null) {

fwrite(p,sizeof(struct node),1,fp); p = (*p).next; } };

请问用下面的程序段,可以将这个链表从该文件中生成到内存中吗?为什么? if (fp = fopen (“Exam5.dat”,”r”) != null) { while !feof(fp)

{ p = malloc(sizeof(struct node)) fread(p,sizeof(struct node),1,fp);

p = (*p).next; } };

5. (8分)阅读以下递归函数,并用非递归方法改写该函数。

#include void convert(int n) { int i;

if (( i=n/7)!=0) convert(i); putchar(n%7+?0?); }

四. 子程序设计(每题10分,共30分)

本题说明:完成函数设计时,请自行说明所有的形式参数的类型

1. 设计一个函数arrsum(a, n)计算一维整数数组a中前n个元素的平均值。 2. 设计函数prime(n),其中n为任意一个整数,当n为素数时,函数返回真,否则返回假。

3. 调用函数reverse(h)将h指向的单链表倒置。实在参数h应该指向倒置后链表的头节点。五. 算法设计(选做一题说明:

? 仅需任意选做一题。多选者,以卷面先列出的为判分依据;

? 分析思路、重要数据类型的定义、模块的功能、形式参数、函数返回值说明;(9分) ? 用伪代码或其它方法描述子程序;(9分)

? 不必完整写出函数程序的代码,完整代码将不作为判分依据。

18分)

1. 用字符数组模拟实现字符串,给出下列函数:两个字符串的并接、找一个字符在串中的位置、统计一个字符在串中的数目。

2. 模拟实现大小写(52个)英文字母的集合运算,给出集合的表示方法,及运算属于∈、并∪、差─的子程序。

3. 模拟实现复数类型,给出复数的加法、减法和乘法的子程序。

武汉大学计算机学院 2002-2003学年度第一学期2002级 《高级语言程序设计》期末考试试卷

姓名: 学号: 专业:

未经主考教师同意,考试试卷、答题纸、草稿纸均不得带离,否则视为违规。 一. 选择最合适的答案填空(每题2分,共20分)

( )1.在一个整常量后面加一个字母,如213L,则表示该常量为 型常量。

A. 长整数

B. 常量

C. 地址

D. 八进制

( )2. 定义变量时冠以关键字 ,则表示此标识符是静态外部变量,可以供其他文件共用。

A. register A. 转移 A. 3345 A. 30 A. 54

B. extern B. 循环 B. 0x3345 B. 20 B. 13

C. void C. 顺序 C. 0x345 C. 10 C. 81

D. static D. 选择 D. 0x3fff D. 0 D. 10 …… 此处隐藏:1824字,全部文档内容请下载后查看。喜欢就下载吧 ……

武汉大学计算机学院C语言历年试题1.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/403482.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)