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

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

来源:网络收集 时间:2026-05-25
导读: 说明: ? 仅需任意选做一题。多选者,以卷面先列出的为判分依据; ? 分析思路、重要数据类型的定义、模块的功能、形式参数、函数返回值说明; ? 用伪代码或其它方法描述子程序; ? 不必完整写出函数程序的代码,完

说明:

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

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

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

1. 函数reverse(h)从读入若干正整数(以-1结束),组成一个单链表。实在参数h应该指向创建后链表的头结点,函数返回值为链表中结点个数。给出reverse(h)的定义。 具体要求如下:

A)说明链表结点类型的C定义形式; B)用图示的方法说明链表的创建过程。 C)描述函数的算法。

2. 如果采用字符串表示“十六进制数”(最多10位),编程实现十六进制数的加法的子程序。

如两个“十六进制数”为‘F38A4’、‘12C3’,其加法结果为:‘F4B67’ 具体要求如下:

D)说明如何表示一个“十六进制数”,最好用图示方法说明; E)给出“十六进制数”类型的C语言定义形式;

F)给出一个DexAdd(x,y)返回“十六进制数”x,y的和。

武汉大学计算机学院 2004-2005学年度第2学期2004级 《高级语言程序设计》期末考试试卷A卷

答案及评分标准

一. 单项选择题:(选择最合适的答案填空,每小题2分,共20分)

( )1.不正确的常量是____B__ 。

A. ‘\\t’ B. 084 C. 1.2e4 D. 0x8fL

( )2.表达式-8%3+13/2的结果为______D 。

A. 4.5 B. 8 C. 8.5 D. 4

( )3.设变量 int a=1,b=2; 则执行表达式a+=3,b-2,++b,a*=b后变量a和b 的

值为______C 。

A. 2和2 B. 3和3 C. 12和3 D. 12和2

( )4.表达式0xad86|0xff的值为____A__ 。

A. 0xadff B. 0x86 C. 0xad86 D. 0xff

( )5.设有如下宏定义 #define price(x) 5+x

则执行赋值语句 v=price(4)*price(15);/*v为int型变量*/后,v的值为 C 。

A. 180 B. 85 C. 40 D. 60

( )6.在定义指针变量时,void *类型表明指针____ A 。

A. 指向对象类B. 不指向任C. 指向整型D. 指向char类型未知 何对象 的对象 型对象

( )7.设int a[3][4],*p[3]; 则以下___C____赋值语句是正确的。

A. p=a[0]; B. p[1]=a; C. p[1]=a[2]; D. p=a;

( )8.创建一个新的文本文件,可对该文件进行读写操作,则____A____打开方式是正确的。

A. “w+” B. “wb” C. “r+” D. “rb+”

( )9.表达式4&&5结果为______B 。

A. 0 B. 1 C. 4 D. 5

( )10. 正确的标识符是______A 。

A. _a123 B. 3z C. “next” D. ‘A’ 二. 文字填空(共15分)

1. 一个合理的算法应该具有“有穷性”,“有穷性”指的是_____经过有限个步骤的处理以后,算法应该结束_________。

2. %作为运算符表示________取余数 ____________。

3. 在C语言中,____全局变量____变量和_____静态(局部静态)__变量在程序一开始执行就被分配内存空间,直到整个程序执行结束其内存空间才被释放。

4. 设x、y为int类型变量,请写出以下命题:

(1) x和y都为偶数 _____(x%2==0)&&(y%2==0) 或者 (!(x%2)&&!(y%2))________________

(2) x和y中至少一个能被3整除 ________(x%3==0)||(y%3==0) 或者 _(!(x%3)||!(y%3))______

5. 编译预处理命令#include的作用是_______文件包含_____________。 6. 设有如下定义int (*ptr)[5]; 则表示定义的ptr是__指向一维数组的指针____或者 数组_____________变量。

7. 完成字符串连接的库函数是____strcat()_____。 8. typedef int A[12]; 的作用是__定义类型名A,表示类型int [12]__。

三. 程序填空(请在空白处填写合适内容以完成整个程序,共10分)

1. 以下程序实现从键盘输入一个整数,然后以相反的顺序输出每位数字。 例如:输入1234,则输出4321。

#include void main() {

int number,right; printf(“enter your number:\\n”);

scanf(“%d”, &number ); do { right= number ; printf(“%d”,right);

number= number/10 ;

}while( number!=0 ); printf(“\\n”); }

a) 下面程序将若干字符串按照字典顺序排列并输出 #include

#include

void sort( char *s[] ,int n) { int i,j; char *t;

for(i= 0 ;i< n-1 ;i++) for(j= i+1 ;j< n ;j++) if( strcmp(s[i],s[j])>0 )

{ t=s[i];

s[i]=s[j]; s[j]=t; } }

void main() {

char *s[5]={“Pascal?,”C language”,”Prolog”,”fortran”,”Visual C++”}; int i;

sort(s,5);

for(i=0;i<5;i++) puts(s[i]); }

四. 程序阅读与分析(共10分)

1. 分析以下程序执行流程,并写出下列程序的运行结果。

#include void main() { int j;

for(j=1;j<=5;++j) switch(j%2)

{ case 0: j++;printf(“#”);break; case 1:j+=2;printf(“*”);

default: printf(“\\n”);

}

}

解答:运行结果为: * #

(注意:评分时如果试卷中给出结果不正确或者没有给出运行结果,但分析程序执行流程基本正确给分不超过2分。)

2. 阅读以下递归函数,分析进行k=fib(7)调用时程序运行过程;调用完成后变量k的值为多少?

#include long fib(int g)

{ switch(g)

{ case 0:return 0;

case 1:case 2:return 1; }

return(fib(g-1)+fib(g-2)); }

解答:调用完成后k的值为13

(注意:评分时如果试卷中给出k的值不正确或者没有给出k的值,但分析程序执行流程基本正确给分不超过3分。)

五. 子程序设计(每小题15分,共30分)

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

1. 设计一个函数strcpy(s1,s2),将字符串s1复制到字符串s2中,且函数strcpy()返回值为实际复制到s2中字符个数。

例如:函数调用strcpy(“asdfgh”,s2)完成后,字符串s2中内容为”asdfgh”,函数返回值为6。 解答:

int strcpy(char *s1,char *s2) /*函数原型3分*/ { int n=0; /*2分*/

while((*s1=*s2)!=0) /*3分*/ { s1++; /*1分*/ s2++; /*1分*/ n++; /*1分*/ }

return n; /*2分*/ }/*语法2分*/

2. 设计一个函数delarr(a, m, n),a为一个已经按照从小到大排列的一维整数 …… 此处隐藏:2521字,全部文档内容请下载后查看。喜欢就下载吧 ……

武汉大学计算机学院C语言历年试题1(3).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)