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

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

来源:网络收集 时间:2026-05-25
导读: 一. 单项选择题:(选择最合适的答案填空,每小题2分,共20分) ( )1.不正确的常量是______ 。 A. ‘\\t’ B. 074 C. 1.2e4.2 D. 0x8fL ( )2.表达式-7/2+13%2的结果为______ 。 A. -2.5 B. -2 C. -9.5 D. 3.5 ( )

一. 单项选择题:(选择最合适的答案填空,每小题2分,共20分) ( )1.不正确的常量是______ 。

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

( )2.表达式-7/2+13%2的结果为______ 。

A. -2.5 B. -2 C. -9.5 D. 3.5

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

值为______ 。

A. -2和-1 B. 2和2 C. 1和-1 D. 2和-1

( )4.表达式0xad86&0xff的值为______ 。

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

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

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

A. 150 B. 45 C. 30 D. 25

( )6.在给指针变量p赋值NULL 时,表示指针p____ 。

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

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

A. p[1]=&a[0][0]B. p[1]=aC. p[1]=a[2]D. p[0]=*(a+1); ; ; ;

( )8.打开一个已存在的文本文件,可对该文件进行读写操作,如果文件不存在

则打开失败,下面________打开方式是正确的。

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

( )9.表达式4||5结果为______ 。

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

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

A. _a123 B. z3 C. int A. H. A_2 二. 文字填空(共15分)

1. 一个合理的算法应该具有“确定性”,“确定性”指的是______________。 2. ->作为运算符表示____________________。 3. 在C语言中,要指定定义的全局变量不能被其他文件使用,需要加_______前缀;而要指定要定义的局部变量分配在寄存器中,需要加___________前缀。

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

(1) x、y的和为偶数 _________________________________

(2) x和y中至少一个不能被3整除 ______________________________ 5. 编译预处理命令#ifdef的作用是_______________________。

6. 设有如下定义int *ptr[5]; 则表示定义的ptr是____________________变量。

7. 完成字符串复制的库函数是__________。 8. typedef int *PA; 的作用是____________。

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

1.函数fun的功能是:使字符串str按逆序存放。

void fun ( (1) ) {

char m; int i, j;

for (i=0, j=strlen(str); i< (2) ; (3) ) {

m = str[i];

str[i] = (4) ; str[j-1] = m; }

}

2. 以下程序用来检查二维数组是否对称(即:对所有i,j都有a[i][j]=a[j][i])。

#include void main(void) {

int a[4][4];

int i, j, found=0; for(i=0;i<4;i++) for(j=0;j<4;j++)

scanf(“%d”, (5) ); for(j=0; j<4; j++){ for(i=0; i<4; i++)

if ( (6) ) {

found= (7) ; break; }

if( (8) ) (9) ; }

if( (10) ) printf(\不对称\\n\ else printf(\对称\\n\ }

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

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

#include void main() { int i,j;

for(i=j;i<=2*j;++i) switch(i/j) { case 0:

case 1:printf(“*”);break;

case 2: printf(“#”); }

}

2. 阅读以下递归函数,分析进行convert(83)调用时程序运行过程;调用完成后程序结果是多少?程序功能是什么?

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

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

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

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

1. 设计一个函数strcmp(s1,s2),比较字符串s1和字符串s2大小,如果s1>s2则函数返回1,如果s1=s2,则函数返回0,如果s1

2. 设计一个函数cparr(a, b,c,m, n),a为一个一维整数数组(数组元素的个数为m),将数组a中所有小于等于n的元素按照从小到大的顺序存入数组b中,所有大于n的元素按照从小到大的顺序存入数组c中。

六. 算法设计(选做一题15分)

说明:

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

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

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

1. 函数link(h1,h2,h), 将一个由整数组成有序链表h拆分成两个单链表,所有偶数作为链表h1的结点,奇数作为链表h2的结点。实在参数h1应该指向创建后偶数链表的头结点,实在参数h2指向创建后奇数链表中的头结点 1. 具体要求如下:

A)说明链表结点类型的C语言定义形式; B)给出函数link(h1,h2,h)的原型。 C)描述函数的算法。

2. 编程实现二进制数据的加法运算。 具体要求如下:

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

E)说明程序中划分多少模块?并给出每个模块的原型; F)描述每个模块的算法。

武汉大学计算机学院

2005-2006学年度第2学期2005级 《高级语言程序设计》期末考试试卷A卷答案

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

( )1. 下面的文字中___C___ 是不正确的变量名。

B. Case

C. _12

D. else

E. eve

( )2. 下面的四个选项中,正确的字符型常量是_____B_ 。

A. ‘\\68’

B. ‘\\t’

C. “\\n”

D. ‘\\xdh’

( )3. 表达式sizeof(float)的结果为______C 类型。

A. 单精度

B. 双精度

C. 整型

D. 不合法

( )4. 设有变量定义:int m=0,n=0;则执行表达式(m-->=0)||(n++<0)后,

m,n

的值为_____A_ 。

A. -1和0

B. -1和1

C. 0和0

D. 0和1

( )5. C语言的编译系统对宏命令是 D 。

A. 在程序执行时处理的 C. 和源程序其他语句一起编

B. 在程序连接时处理的 D. 在对源程序中其它成分正

式编译之前进行处理的

( )6. 以下正确的程序语句段为____D 。

A. char s1[]=”123456”,s2[]=”abcdef …… 此处隐藏:2503字,全部文档内容请下载后查看。喜欢就下载吧 ……

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