武汉大学学位考试《高级语言程序设计》试卷及答案.doc_第1页
武汉大学学位考试《高级语言程序设计》试卷及答案.doc_第2页
武汉大学学位考试《高级语言程序设计》试卷及答案.doc_第3页
武汉大学学位考试《高级语言程序设计》试卷及答案.doc_第4页
武汉大学学位考试《高级语言程序设计》试卷及答案.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

武汉大学珞珈学院高级语言程序设计试卷答案(A)( 20072008学年度第2学期 2007级 )闭卷,试卷共 页,答题时间120分钟学号 姓名 专业 计算机科学与技术 班号 2007级05、06班 系 计算机 (说明:请考生将答案写在“武汉大学珞珈学院考试答题纸”纸上并标明题号,否则不得分。)一、选择题(每小题2 分,共20 分。)1、正确的标识符是_A_ 。A. _a123B. 3zC. “next”D. A2、表达式2.5+7%2-5/2*2的结果为_C_ 。A. 3.5B. 1.5C. -0.5D. -1.53、下面的四个选项中,正确的整型常量是_B_ 。A. x234FB. 068C. 0672D. 07aL4、设有如下宏定义 #define weight 10 #define price (1+weight)则执行赋值语句 v=price*20;/*v为int型变量*/后,v的值为_D_ 。A. 41B. 200C. 201D. 2205、设有变量定义:int m=5,n=3;则执行表达式(m+=2)=7)|(n-=3)10) 后,m,n的值分别为_ D _。A. 5和0B. 5和3C. 7和0D. 7和36、 B 不属于三种基本程序结构。A. 顺序B. 转移C. 选择D. 循环7、设long a50,*p;执行p=a+2; 后*(p+4)等价于_C_。A. a2B. a4C. a6D. 无法确定8、表达式0x7586&0xff00结果为_D_ 。A. 0x86B. 0x7586C. 7500D. 0x75009、采用只读模式打开二进制文件”book.txt”,下面正确的打开模式是 A_ 。A. “rb”B. “rb+”C. “r”D. “r+”10、已知各变量的类型说明如下: int i=8, k, a, b; unsigned long w=5; double x=1.42, y=5.2; 则以下符合C语言语法的表达式是 B 。A. a=a*3=2;B. a+=a-=(b=4)*(a=3);C. x%(-3);D. y=float(i);二、程序阅读题(每题 5 分,共 25 分)1、分析以下程序执行流程,写出程序执行结果。#include int main()int x=5;while(x+10)doprintf(%6d,x+);while(x11);x-; return 0;答案: 6 7 8 9 102、分析以下程序执行流程,写出程序执行结果。#include int main()void f1(int); int x;for(x=2;x6;x+) f1(x); return 0;void f1(int z) int x=5; static int y=10; x+; printf(%d+%d+%d=%dn,x,y,z,x+y+z); y+=10; 答案:6+10+2=18 6+20+3=29 6+30+4=40 6+40+5=513、分析以下程序的执行流程,指出程序的功能。#include int main() int a5=1,5,2,4,3,i,j,t;for(j=1;j=4;j+)for(i=0;i=4-j;i+)if(aiai+1)t=ai; ai=ai+1; ai+1=t;for(i=0;i5;i+)printf(%d,ai);return 0;答案:数组a按照从大到小的顺序排序。4、分析以下程序的执行流程,指出程序的功能。#include int prime(int number)int flag=1,n;for(n=2;nnumber/2&flag=1;n+)if(number%n=0)flag=0;return(flag);int main()int number;printf(请输入一个正整数:n);scanf(%d,&number);if(prime(number)printf(n %d ,number); return 0;答案:判断一个整数是否是素数。5、以下程序计算-32768-3,执行以下程序,得到如下所示的运行结果,请分析程序执行流程,解释结果为什么不是-32771?并指出该如何修改。#include int main()short int a,b;a=-32768;b=a-3;printf(a=%d,b=%dn,a,b);运行结果:a=-32768,b=32765答案: short int数据范围为-32768,32767,数据溢出。 short int改long int。%d改%ld。三、程序填空题(请在空白处填写正确内容,以完成程序;每空1分,共 10 分)1、将100200之间(包括100和200)不能被7整除的数输出。#incude int main() int (1) ;for(n=100; (2) ; (3) ) if( (4) =0) (5) ; printf(“%4d”,n);return 0;答案:(1) n (2) n=200 (3) n+或者+n或者n+=1或者n=n+1 (4) n%7 (5) continue2、下面程序输入字符串s1的内容,并把字符串s1的内容复制到字符串s2中(不能使用strcpy库函数)。#include int main()char s150, (6); (7) i=0;scanf(“%s, (8) );while( (9) ) (10) ; i+; s2i=0; printf(“%st%sn”,s1,s2); return 0;答案:(6) s250(7) int或者short int或者char或者long int(8) s1(9) s1i!=0或者s1i!=0或者s1i(10) s2i=s1i四、函数实现题(每题 15 分,共 30 分,说明: 本题写出函数即可,不必写出main函数)1、设计一个函数count(s, t); 其中s为字符串,t为单个字符。如果t为大小写字母,则函数count统计字符串s中t对应的字母(大小写字母均统计在内)出现的次数。例如,count(“aAdgfASa”,a)函数调用的返回值为4。如果t为其他字符,则直接统计该字符出现的次数。答案:int count(char *s,char t)int k=0;while(*s)if(t=a&t=A&ti)t=ai;ai=aj;aj=t;分析程序执行流程基本正确,流程图和程序执行流程基本一致为评分标准。五、算法设计题(共 15 分)说明:l 仅需任意选做一题。l 分析思路,说明算法中的重要数据类型的定义;l 说明算法中的模块划分;各模块的功能、形式参数、函数返回值说明;并用伪代码、流程图或其它方法描述子程序的执行过程;l 不必完整写出函数程序的代码,完整代码将不作为判分依据。1、有若干长方体的盒子,计算所有长方体盒子的平均体积。要求按照体积大于、小于等于平均体积分为两堆。编写程序实现上述功能。具体要求如下:A、说明用C语言如何表示一个长方体的盒子;B、说明程序中划分多少模块?并给出每个模块的原型;C、描述每个模块的算法答案:评分要点:以算法可行,基本正确为主要评分指标A、采用结构体表示一个长方体盒子,用结构体数组表示多个长方体盒子。B、C、算法中主要功能包括:判断长方体盒子数据、计算单个长方体盒子体积、计算平均体积、划分两类、输出结果2、一个有理数就是一个分数,它包含分子和分母两个组成部分,如果采用浮点数表示有理数将难以得到满意的高精度的结果。编写程序完成两个有理数的加法运算。例如3/2+3/4=(3*4+3*2)/(2*4)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论