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

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

来源:网络收集 时间:2026-05-25
导读: name +2; 则语句printf (“%o\\n”, *p);的输出为 , 语句printf (“%s\\n”, *p);的输出为 。 6.在定义函数时,如果在函数首部的最左端冠以关键字 ,则表示此函数是外部函数,可以供其他文件调用。 7.声明一个结

name +2; 则语句printf (“%o\\n”, *p);的输出为 , 语句printf (“%s\\n”, *p);的输出为 。

6.在定义函数时,如果在函数首部的最左端冠以关键字 ,则表示此函数是外部函数,可以供其他文件调用。

7.声明一个结构体类型的一般形式为 。

三. 程序阅读与分析(20分)

1. 一个int型变量的最大允许值为32767,请写出程序的执行结果。(6分) main ( )

{ int a, b; long c; a = 32767; b = a + 1; c = a + 1; printf (“%d, %d, %u”, a, b, c); }

2. (6分)下面的程序对数组A[m]进行排序,并计算它们的和。请在程序的空白处填上适当的内容。 #define m 50 main() { int a[m];

① sum = 0;

int i, j, K;

for (i=0; i

for (j= ③ ; ④ ;j++) { sum += (double) a[i][j]; if ⑤

{ K = a[i]; a[i]= ⑥ ; a[j] = K; } } }

3. (8分)说明子程序的功能

void Reverse(char ch) {

ch = getchar(); if ch !=?#? {

Reverse(ch); putchar(ch); }; };

给定输入字符串 ABCDXF%&123#KK 调用该过程Reverse(C)后,产生的输出是什么?实在参数C(字符变量)的值为什么?

四. 子程序设计(共30分)

说明:

? 每题15分,仅需任意选做两题。多选者,以卷面先列出的为判分依据; ? 完成函数设计时,请自行说明所有的形式参数。

1.

1.左图为设定的有关结点及指针的取值示意,如果执行Try(p1,p2,p3)后,有关结点、指针的值如右图所示。

请你用C语言:

? 给出结点、指针的类型定义形式

? 写出子程序Try的定义。(提示:形式参数应该适当作变化)

2.编写递归函数f(n)求Fibonacci数列的第n个数。

3. 3.函数int getbin( int *bitno);完成从键盘上读入二进制字符串将它的值作为函数值返回。其中,bitno返回二进制串的长度。(该串以非0、1的字符为结尾)

如 输入:101010B 函数结果为:42 输入:111111# 函数结果为:63

2.

五. 算法设计(选做一题15分) 说明:

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

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

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

1. 1. 任意给定一个年份year、月份month。设计一个输出月历的算法。 2. 2. 用字符数组存储整数,如123则数组的前四个元素为?1? 、?2?、 ?3?、

?\\0?设计一个整数乘法、加法的子程序。

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

姓名: 学号: 专业:

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

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

A. ?2? B. ?\\\\? C. “q” D. ?*?

( )2.表达式7.5+7%2-5/2*3的结果为______ 。

A. 1.0 B. 2.5 C. 3.0 D. 4.5

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

的值为______ 。

A. 1和1 B. 0和1 C. 1和0 D. 0和0

( )4.表达式35>>2的值为______ 。

A. 8 B. 9 C. 16 D. 17

( )5.设有如下宏定义 #define weight 50

#define price 1+weight

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

A. 510 B. 501 C. 61 D. 500

( )6.在定义函数时,在局部变量前面加上____ 前缀,则在多次调用该函数

时,该局部变量值保持一致。

A. extern B. static C. auto D. void

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

A. a[2] B. a[4] C. a[6] D. 无法确定

( )8.static char a1={?h?,?e?,?l?,?l?,?o?}; static char a2=”hello”;

以上定义的数组a1和a2的数组长度为________。

A. 6和6 B. 6和5 C. 5和5 D. 5和6

( )9.表达式0x7586&~0xff结果为______ 。

A. 0x86 B. 0x7586 C. 7500 D. 0x7500

( )10. int a[10][10]; int (*p)[10]; p=a; 则*p+3表示____ 。

A. &a[0][3] B. a[0][3]

C. a[3][0]

D. &a[3][0]

二. 文字填空(共15分

1. 为了判断两个字符串s1和s2是否相等,应当使用库函数______________。

2. *作为单目运算符表示____________________。 3. 在C语言中,存储类别为________和____________的变量只有在使用它们时才占用内存空间。

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

(1) x和y都大于10 _________________________________

(2) x、y中有一个为负数 ______________________________________ 5. C语言的编译系统对于预处理中的宏命令是在_______________________进行处理的。

6. 设有如下定义int (*ptr)();则表示ptr是____________________变量。 7. 设int x,y,z;初值分别为2、3、4,则表达式(x>=y>=z)?1:0的结果为__________。

8. 用于定义枚举类型的关键字为____________。

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

1. 将文本文件file1.txt复制到文件file2.dat中,复制时只复制小写字母。 #incude

void main()

{ FILE *f1,*f2;

char c;

if(( (1) ==NULL)

{ printf(“file1.txt can not open\\n”); return; }

if( (2) ==NULL)

{ printf(“file2.dat can not open”\\n); return; }

while( (3) ) { c=getc(f1); if( (4) ) putc(c,f2); }

fclose(f1); fclose(f2); } 2. 下面程序从字符串s中去掉重复出现的字符,例如s的内容为”asdadf12”,则处理后为”asdf12”。 #include

#include void main()

{ char s[50]; (5) *p,*q;

scanf(“%s”, (6) ); for( (7) ; (8) ;p++) { q=p+1;

while(*q)

if( (9) ) strcpy(q,q+1); el …… 此处隐藏:1559字,全部文档内容请下载后查看。喜欢就下载吧 ……

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