山西大学2009考研高级语言程序设计真题

合集下载

2009上半年程序员考试真题及答案-下午卷

2009上半年程序员考试真题及答案-下午卷

2009上半年程序员考试真题及答案-下午卷试题一设x位于区间(0, 1),该流程图的算法要点是逐步累积计算每项的值(作为 T),再逐步累加T值得到所需的结果S。

当T值小于10-5时,结束计算。

【流程图】(1) S (2) x/n (3) T<0.00001 (4) S+T (5) n+1—n本题属于简单的数值计算应用。

人们经常需要近似计算初等函数的值。

在计算机内部,近似计算初等函数的值最常用的方法就是将初等函数按幂级数展开,再计算前若干项的和,直到计算误差满足要求为止。

在设计算法时应考虑,对于自变量的大致范围,如何展开级数,使级数收敛的速度比较快,在计算过程中,怎样估计计算的误差是否己经满足要求。

由于初等函数在计算机中需要频繁使用,因此设计髙效率的算法非常重要。

这种精益求精的设计是全世界许多专家己经反复探索并实现了的。

对于一般程序员来说,只要求基本的、正确的算法设计,并实现编程就可以了。

本题中,为了计算指数函数e x的值,已经给出了基本的算法,以及计算过程中控制误差终止计算的方法。

本题主要的重点是如何设计计算流程,实现级数前若干项的求和,以及判断终止计算的条件。

级数求和通常采用逐项累加的方法。

设S为累加的结果,T为动态的项值,那么,S+T —S就能完成各项的累加。

由于本题中T=x n/n!,如果每次都直接计算该项的值,则计算量会很大。

这种项的特殊性表明,后一项与前一项有简单的关充分利用前项的计算结果则会大大减少计算量。

这是程序员需要掌握的基本技巧。

本题的流程图中,一开始先输入自变量X,接着对一些变量赋初值。

变量n与T需要赋初值,对变量S也应赋初值。

级数项号n的初值为1,逐次进行累积的T也应有初值1,逐次进行累加的S则应有初值0或级数第1项的值1。

从随后的流程看,S应有初值1,本题中(1)处应填S。

项值T的累积公式应是T,所以本题中(2)处应填x/n。

流程图中(3)处为判断计算过程结束的条件,按照题中的要求,当T<10-5时计算过程结束,因此,(3)处应填T<0.00001。

高级语言程序设计自考题-2_真题(含答案与解析)-交互

高级语言程序设计自考题-2_真题(含答案与解析)-交互

高级语言程序设计自考题-2(总分100, 做题时间90分钟)一、单项选择题1.设int a=2,b=6,c=8;,表达式(a,b ),(c,10)的值是( ) A.2 B.6C.8 D.10SSS_SIMPLE_SINA B C D分值: 2答案:D[解析] 逗号的同级结合性为自左向右,逗号表达式的值为最后一个表达式的值。

(a,b )的值为6,(c,10)的值为10,故整个表达式的值为10。

2.以下程序的运行结果是( )#include<stdio.h>main()int a[]=1,2,3,4,5,6,7,8,9,10,11,12;int *p=&a[5],*q=NULL;printf("%d%d\n",*p,*q);A.运行后报错B.6 0C.6 12 D.5 5SSS_SIMPLE_SINA B C D分值: 2答案:A[解析]#include<stdio.h>main(){int a[]={1,2,3,4,5,6,7,8,9,10,11,12};int*p=&a[5],*q=NULL;printf("%d%d\n",*P,*q);/*被置空的指针不能参与"*"运算*/}3.以下属于C语言保留字的是( )A.define B.putC.fclose D.externSSS_SIMPLE_SINA B C D分值: 2答案:D4.下面程序的功能是输出以下形式的金字塔图案:#include<stdio.h>main()int i,j;for(i=1;i<=4;i++)for(j=1;j<=4-i;j++)printf("");for(j=1;j<=______;j++)printf("*");printf("\n");在下划线处应填入的是( )A.i B.2*i-1C.2*i+1 D.i+2SSS_SIMPLE_SINA B C D分值: 2答案:B[解析] 应填入控制打印"*"的个数,其个数与行数i的关系是2*i-1的关系。

2009年考研真题解析-计算机组成原理

2009年考研真题解析-计算机组成原理

七、输入输出系统
二、综合应用题
43. (8分)某计算机的CPU主频为500MHz,CPI为5(即执行每条指令 平均需5个时钟周期)。假设某外设的数据传输率为0.5MB/s,采用 中断方式与主机进行数据传送,以32位为传输单位,对应的中断服 务程序包含18条指令,中断服务的其他开销相当于2条指令的执行时 间。请回答下列问题,要求给出计算过程。 (1)在中断方式下,CPU用于该外设I/O的时间占整个CPU时间的 百分比是多少? (1) 在中断方式下,CPU每次用于数据传送的时钟周期数: 5×18+5×2=100 (2分) 为达到0.5MB/s的数据传输速度,外设每秒申请中断次数: 0.5M/(32/8)=125000 (1分) 1秒钟内用于中断的开销: 100×125000=12.5M个时钟周期 (1分) CPU用于外设I/O的时间占整个CPU时间的百分比: 12.5M/500M=2.5% (1分)
2009年考研真题解析
——组成原理
考试题型

单项选择题(40小题,每小题2分,共80分)

基本概念、基本原理和方法,注重记忆类知识点
运用基本原理和基本方法,分析、判断和解决有关 理论问题和实际问题 2009年考试包括


综合应用题(70分)


2道数据结构 2道计算机组成原理 2道操作系统 1道计算机网络
11
12 13
冯· 诺依曼计算机
整型加法计算 浮点加法计算
14
15 21
Cache组相联映射方式
存储器芯片组成 Cache命中率的计算 四、指令系统 五、CPU 六、总线
16
17 18 19 20 22
采用相对寻址的转移指令

高级语言程序设计真题及参考答案重点

高级语言程序设计真题及参考答案重点

全国自考高级言语程序设计考前密卷00342(含答案)一、单项选择题(本大题共20小题,每题1分,共20分)在每题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括号内。

第1题假设定义了int m,n=0,Xp1=&m;,则以下与m=n;等价的正确语句是()A. m=Xp1;B. Xp1=&Xn;C. X&p1=&Xn;D. Xp1=X&n;【正确答案】 D【你的答案】此题分数1分第2题执行语句“for (k=4;k>0;k--) { break; --k;}〞后,变量k的值是 ()A. 1B. 2C. 3D. 4【正确答案】 D【你的答案】此题分数1分第3题设有语句“char x[]=″12345″, y[]={′1′, ′2′, ′3′, ′4′, ′5′};〞,则以下说法中正确的选项是()A. 数组x和数组y存放相同字符串B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度小于数组y的长度【正确答案】 C【你的答案】此题分数1分第4题设int a=10, b=20, c=30;,条件表达式aA. 5B. 10C. 20D. 30【正确答案】 A【你的答案】此题分数1分第5题设有定义语句“int x[8]={5,4,3,2,1},Xp=x;〞,则Xp+6的值是 ()A. 0B. 1C. 5D. 11【正确答案】 D【你的答案】此题分数1分第6题运行以下程序后,输出结果是()int f(int a,int Xb){ return(a+Xb);}main(){ int x=1,y=2,z=3;printf(″%d\n″,f(f(x,&y),&z));}A. 3B. 5C. 6D. 7【正确答案】 C【你的答案】此题分数1分第7题以下程序的输出结果是()struct abc{int a,b,c;};main(){struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf(″%d\n″,t);}A. 5B. 6C. 7D. 8【正确答案】 B【你的答案】此题分数1分第8题设有定义语句“int( Xptr)[10];〞其中的 ptr 是()A. 10个指向整型变量的指针B. 指向10个整型变量的函数指针C. 一个指向具有10个元素的一维数组指针D. 具有10个指针元素的一维数组【正确答案】 C【你的答案】此题分数1分第9题以下程序的输出结果是()main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(″%d%d″,x--,y);}A. 10192B. 9876C. 10990D. 101091【正确答案】 D【你的答案】此题分数1分第10题以下不正确的C言语标识符是() A.B.C.aD.A. ABCB. abcC. ab_cD. ab.c【正确答案】 D【你的答案】此题分数1分第11题以下表达式的值为0的是()A. 3%5B. 3/5.0C. 3/5D. 3<5【正确答案】 C【你的答案】此题分数1分第12题设有以下定义语句,则以下表达式中能表示结构型 xx 的成员 x 的表达式是() struct xx{int x;};struct yy{struct xx xxx ;int yy;}xxyy;A. xxyy.xB. xxyy->xC. (&xxyy)->xxx.xD. xxx.x【正确答案】 C【你的答案】此题分数1分第13题在C言语中,不合法的保存字是 ()A. ifB. CharC. floatD. default【正确答案】 B【你的答案】此题分数1分第14题设有定义″define R 2+1″,则RXR的宏替换结果正确的选项是()A. (2+1)X(2+1)B. 2+1X2+1C. 3X3D. (2+1)X2+1【正确答案】 B【你的答案】此题分数1分第15题假设要对a进行++运算,则a应具有的说明为〔〕A. int a[3][2];B. CHARXA[]={″12″,″ab″};C. char (Xa)[3];D. int b[10],Xa=b;【正确答案】 D【你的答案】此题分数1分第16题表达式a=(a=6,a6,a+3);运行后,则a的最后值为()A. 不确定B. 36C. 6D. 39【正确答案】 D【你的答案】此题分数1分第17题设有说明int(ptr)[M];其中ptr是()A. M个指向整型变量的指针B. 指向M个整型变量的函数指针C. 一个指向具有M个整型元素的一维数组的指针D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量【正确答案】 C【你的答案】此题分数1分第18题假设有以下说明和语句struct worker{int no;char name;}work,p=work;则以下引用方法不正确的选项是()A. work.noB. (p).noC. p->noD. work->no【正确答案】 D【你的答案】此题分数1分第19题设有整型变量x值为1,表达式x+++x+(++x)的值是 ()A. 3B. 4C. 5D. 6【正确答案】 B【你的答案】此题分数1分第20题假设有定义“int w=1,x=2,y=3,z=4;〞,则表达式w<xw∶y<zy∶z的值是()A. 1B. 2C. 3D. 4【正确答案】</xw∶y<zy∶z的值是()二、填空题(本大题共10小题,每题2分,共20分)请在每题的空格中填上正确答案。

高级语言程序设计00342历年真题答案

高级语言程序设计00342历年真题答案

全国2001年10月自考高级语言程序设计(一)答案课程代码:00342一、单项选择题(本大题共20小题,每小题1分,共20分)1.D2.C3.A4.B5.C6.B7.A8.D9.B 10.D11.D 12.B 13.A 14.C 15.D16.D 17.C 18.A 19.A 20.B二、填空题(本大题共10小题,每小题2分,共20分)21.double a=0.61822.123.x>20&&x<=30或者(x>20)&&(x<=30)24.225.026.静态存储,或者static27.p->no=1234;或者(*p).no=1234;28.字节29.1630。

a[1][0]三、程序分析题(本大题共5小题,每小题5分,共25分)31.201,21202,22203,23204,24205,2532.Q(若结果为Qhaw,只得3分)33.7 6 5 4 3 2 134.Li ning:19Lang ping:21Zhu jian hua:2035.2,65,A四、程序填充题(本大题共3小题,每小题6分,共18分)36.(1)j=i+1(2)>(3)b[i]=b[j]37.(1)digit=0,blank=0,other=0(2)c>='0'&&c<='9'(3)++other或者other++38.(1)&a[i]或者a+i(2)x==a[i](3)<五、程序设计题(第39小题5分,第40、41小题各6分,共17分)39.main(){ int i;for(i=10;i<=1000;i++)if((i%2==0)&&(i%3==0)&&(i%7==0))printf("i=%d\n",i);}40.main(){ int a=0,b=0,i;for(i=2;i<=100;i+=2){a+=i;b+=i-1;}printf("Sum of even number=%d\n",a);printf("Sum of odd number=%d\n",b);}41.# include "string.h"main (){ int i,n;static char str[80];gets(str);n=strlen(str);for(i=0;i<n/2;i++)if(str[i]!=str[n-1-i]){ printf("No!\n");break;}if(i==n/2)printf("Yes!\n");}浙江省2002年1月高等教育自学考试高级语言程序设计(一)试题参考答案课程代码:00342一、单项选择题(每小题1分,共15分)1.B2.C3.C4.C5.C6.A7.B8.A9.B 10.B11.D 12.C 13.D 14.D 15.C二、填空题(每空1分,共15分)1. 42. a<b? a:b3. pow(x+y,1.0/3)4. a-b==b-c5. a*b!=0 或a*b6. 11,67. 27\n8. 69. 1010. 4911. windows 9x12. 9x13. string.h14. a[k].b 或(a+k)->b15. a、b为同类型的结构体变量三、程序阅读题(每行2分,共24分)1.1 B2.13. 2.52 C 2 1 7.53 D 3 2 1 7.54 E 4 3 2 1 7.5四、根据下列各编程题题意填空(每空2分,共24分)1.(1)″%d%d″,&m,&n(2)gbs%n!=0(3)m*n/gbs(4)printf(″%d %d\n″,gbs,gys);2.(1)int sum(int m)(2)i=2(3)m%i==0(4)return s3.(1)return h(2)p1->next!=NULL(3)n==p1->num(4)p2->next=p1->next五、编程题(第1小题6分,其他小题各8分,共22分)1.#include <stdio.h>void main(){ int i,n;float x,s1=0;s2=0;scanf(″%d″,&n);for(i=1;i<=n;i++) {scanf(″%f″,&x);if(x>0) s1++;if(x<0) s2++;}printf(″%f %f\n″,s1,s2,);}2.#include <stdio.h>void main(){ float a[15],y; int i;for(i=0;i<15;i++) scanf(″%f″,a+i);y=a[14];for(i=13;i>=0;i--) y=1+a[i]/(1+y);printf(″%f\n″,y);}3.#include <stdio.h>void main(){ char ch;FILE *fp1,*fp2;fp1=fopen(″x1.dat″,″r″);fp2=fopen(″x2.dat″,″w″);while(!feof(fp1)) {ch=fgetc(fp1);if(ch!=' ') fputc(ch,fp2);}fclose(fp1);fclose(fp2);}高级语言程序设计(一)答案2003年10月2005年10月自考高级语言程序设计(一)试卷参考答案一、l.D 2.A 3.C 4.D 5.B 6.A 7.A 8.C 9.A l0.C ll.C l2.B l3.D l4.D l5.C l6.B 17.D l8.A l9.B 20.A二、21.return或返回语句22.323.auto型或自动型24.break25.一326.1027.10028.本文件29.430.值三、31.103 10232.2 5 9 1433.LiHUfl:18WangXin:25LiuGu0:2134.10 2525 2535.552337.第一空:&n第二空;i>=0&&i<=9第三空:i40.(1)long fac(int n)2010年10月自考高级语言程序设计(一)参考答案2011年10月全国自考高级语言程序设计(一)参考答案。

全国C程序设计2009年10月高等教育自学考试试题与答案

全国C程序设计2009年10月高等教育自学考试试题与答案

全国C程序设计2009年10月高等教育自学考试试题与答案全国2009年10月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.对C++中主函数描述正确的是( )A.名称为main,可为多个B.名称不限,可为多个C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个2.调用声明为int result(int a,int b)的函数时,正确的方法是( )A.result(1,2)B.result(1)C.result(0.1,0.3)D.result(1,2,3)3.用于包含C++标准库iostream的预处理指令是( )A.#defineB.#includeC.#define ‘iostream’D.#include‘iostream’4.无类型标识符是指( )A.voidB.boolC.shortD.long5.从本质上看,引用是被引用变量的( )A.拷贝B.别名C.复制D.克隆6.下面关于数组的初始化正确的是( )A.char str[ ]={'a','b','c'};B.char str[2]={'a','b','c'};C.char str[1][2]={{'a','b'},{'e','d'}};D.char str[ ][ ]={'a','b','c'};7.C++类中定义的成员默认访问属性为( )A.publicB.privateC.protectedD.friend8.决定C++语言中函数的返回值类型的是( )A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型9.函数int & min(int &,int &)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为( )A.9,14B.9,15C.10,14D.10,15浙04737# C++ 程序设计试卷第 1 页(共12 页)10.声明函数为内联函数时所使用的关键字为( )A.constB.inlineC.shortD.signed11.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明( )A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);12.函数模板template void Func(T,T)可具有下列哪种实例化形式( )A.void Func(float,int)B.void Func(char,char)C.void Func(int,double)D.void Func(bool,float)13.下列访问成员的方式哪个是正确的( )A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名14.对类A,复制构造函数的原型是( )A.A::A(const A&);B.A::A(const A *);C.A::A(const A);D.A::A( );15.对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是( )A.delete ptr[2];B.delete[ ] ptr;C.delete ptr[ ];D.delete[2] ptr;16.下列哪个编译指令不属于条件编译指令( )A.#ifB.#elseC.#endifD.#error17.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为( )A.未初始化B.等于a.xC.等于0D.随机18.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是( )A.strlen()B.strcap()C.strcat()D.strcmp()19.基类中的public成员,通过public派生,其在派生类中的访问权限为( )A.不可访问B.privateC.protectedD.public20.不同对象调用同名函数,但导致完全不同行为的现象称为( )A.抽象B.封装C.继承D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。

高级语言程序设计习题及答案

高级语言程序设计习题及答案

习题一1-1 Pascal语言的程序结构由哪几部分组成?试述各部分的构成形式和作用。

1-2 Pascal基本字符集有哪些成分构成?Pascal的保留字是什么?1-3 Pascal语言中标识符是怎样构成的?下列字符串哪些是正确的Pascal标识符?哪些是错误的?为什么?A5B,5H4,PEL,1,A31,x﹡y,AB,A + B,$500,G1(x),xyz,E-10,VAR1-4 下列数据哪些是整数?哪些是实数?哪些是非法的(假设计算机字长为32位)?256 2.54 25E+6 3.75E6 0.15E-61.2E70 1E-15 -673 E8 4,7345.7E-6.6 0 58989 -73451 E-31-5 下列哪些常量定义是正确的?CONSThvalue=200;lvalue=0 OR 1 OR 2;firstchar=’a’;t=true;b=true OR false;1-6 假定已作了下述说明:CONSTgap=’’;VARm,n:integer;a,b:real;p,q:boolean;c1,c2:char;指出下列每一语句是否有效,并说明理由:⑴m:=trunk(b)+a⑵p:=m+n⑶read(c1,c2,’’)⑷c1:=gap⑸p:=q AND (ord(c1)<>’a’)⑹m:=n MOD a⑺‘c1’ :=’c2’⑻c2:=chr(‘a’)⑼m:=m-ord(‘0’)⑽writeln(a,p,m,n,q,q,b)⑾ n:=a-trunc(a)⑿b:=2.99*109⒀a:=m/n⒁b:ord(c1)+ord (c2)1-7 已知变量有下面指定的值:a=7,b=-6,c=30,d=10.8600,e=1E3,f=’*’,g=true求下面表达式的值:a+b DIV trunc(d)+3①d-0.75/(e+140.0)*70.0②sqrt(abs(b-a)+succ(ord(f))③chr(10* a MOD sqr(b))④NOT ((a>=b) AND g)⑤(ord(b) OR (sqr(b)>e)) AND (g AND NOT(abs(b)<>6))1-8 已知有如下说明VARp,q,r,s:Boolean;k:integer;试写出下列每一表达式的类型,如能确定,请写出它们的值。

2009年考研计算机统考真题及答案解析

2009年考研计算机统考真题及答案解析

12. 一个 C 语言程序在一台 32 位机器上运行。 程序中定义了三个变量 x、 y 和 z, 其中 x 和 z 为 int 型, y 为 short 型。当 x=127,y =- 9 时,执行赋值语句 z=x+y 后, x、y 和 z 的值分别是 A . x=0000007FH,y=FFF9H, z=00000076H B. x=0000007FH,y=FFF9H, z=FFFF0076H C. x=0000007FH,y=FFF7H, z=FFFF0076H D. x=0000007FH,y=FFF7H, z=00000076H 13. 浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数 均采用补码表示,且位数分别为 5 位和 7 位(均含 2 位符号位)。若有两个数 X=27 ×29/ 32 , Y=25 ×5/8 ,则 用浮点加法计算 X+Y 的最终结果是 A .00111 1100010 C. 01000 0010001 。
40. FTP 客户和服务器间传递 FTP 命令时,使用的连接是______ 。 A .建立在 TCP 之上的控制连接 C.建立在 UDP 之上的控制连接 二、综合应用题:第 41~47 题,共 70 分。 41. (10 分)带权图(权值非负,表示边连接的两顶点间的距离)的最短路径问题是找出从初始顶点到目标顶 点之间的一条最短路径。假设从初始顶点到目标顶点之间存在路径,现有一种解决该问题的方法:
28. 下列文件物理结构中,适合随机访问且易于文件扩展的是______ 。 A .连续结构 C.链式结构且磁盘块定长 B.索引结构 D.链式结构且磁盘块变长
29. 假设磁头当前位于第 105 道,正在向磁道序号增加的方向移动。现有一个磁道访问请求序列为 35,45,12 , 68 ,110 ,180, 170, 195 ,采用 SCA N 调度 (电梯调度) 算法得到的磁道访问序列是 ______ 。 A .110,170,180,195,68,45,35,12 C.110,170,180,195,12,35,45,68 B.110,68,45,35,12,170,180,195 D. 12,35,45,68,110下列二叉排序树中,满足平衡二叉树定义的是______ 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2009年山西大学硕士研究生入学考试试题 试题编号:863(高级语言程序设计)

高级语言程序设计试卷第1页(共6页) 考生注意:本试卷共七大题,满分150分。考试时间为3小时;所有答案均写在答题纸上(注明题号),在此答题一律无效。

一、 选择题(本题共20小题,每小题2分,满分40分) 1.判断char型变量ch是否为数字字符的正确表达式为 【1】 。 A) 0<=ch<=9 B) '0'<=ch<='9' C) (0<=ch)&&(ch<=9) D) ('0'<=ch)&&(ch<='9') 2.当用const int A=9;定义后,下列叙述正确的是 【2】 。 A) A是整型常数 B) A是整型变量 C) A是字符型数 D)A是不定类型 3.定义如下变量:int a=2;int b=3;则a/b的结果为 【3】 。 A)0.66667 B) 0 C)0.7 D) 0.66666666… 4.设a=1,b=2,则(a++)+b和a+++b这两个表达式的值分别为 【4】 。 A) 3,3 B) 3,4 C) 4,3 D) 4,4 5.下列语句中符合C语言语法的赋值语句是 【5】 。 A) a=5+b+c=a+5; B) a=5+b++=a+5; C) a=5+b,b++,a+5; D)a=5=b,c=a+5; 6.执行以下程序的输出结果是 【6】 。 main() { int a=0,b=1,c=0,d=20,x; if(a) d=d-10; else if(!b) if(!c) x=15; else x=25; printf(“%d\n”,d); } A) 15 B) 25 C) 20 D) 10 7.在C语言中,while和do-while循环的主要区别是 【7】 。 A)do-while的循环体不能是复合语句 B)do-while允许从循环体外转到循环体内 2009年山西大学硕士研究生入学考试试题 试题编号:863(高级语言程序设计)

高级语言程序设计试卷第2页(共6页) C)while的循环体至少被执行一次 D)do-while的循环体至少被执行一次 8.若有以下定义和语句: static int a[3][4]; int *p[3],**pp; /* pp表示指向整型的指针变量 */ p[0]=a[0];p[1]=a[1];p[2]=a[2]; pp=p; 则对a数组元素的正确引用形式 【8】 。 A) *(pp+1) B) p[1] C) pp+1 D) *p[1] 9.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是 【9】 。 A) putchar('A'+1); B) putchar('b'-32); C) putchar(98-32); D) putchar(B); 10.将小写字母n赋值给字符变量one_char,正确的操作是 【10】 。 A)one_char=’\n’; B) one_char=”n”; C) one_char=110; D) one_char=’N’; 11.在以下运算符中,优先级最高的运算符为 【11】 。 A)?: B)++ C)&& D)+= 12.已知int x=10,y=20,z=30,则执行 if(x>y) z=x;x=y;y=z; 语句后,x、y、z的值是 【12】 。 A) x=10,y=20,z=30 B) x=20,y=30,z=30 C)x=20,y=30,z=10 D) x=20,y=30,z=20 13.以下选项中,不能正确赋值的是 【13】 。 A) char s1[10]; s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'}; C) char s3[20]="Ctest"; D) char *s4="Ctest\n" 14.若i为整型变量,则以下循环语句的循环次数是 【14】 . for(i=2;i= =0;) printf(“%d”,i--); A) 无限次 B) 0次 C) 1次 D) 2次 2009年山西大学硕士研究生入学考试试题 试题编号:863(高级语言程序设计)

高级语言程序设计试卷第3页(共6页) 15.运行下面程序,若从键盘输入“3”和“5”,则程序的输出结果是 【15】 。 main() { int x,y; scanf(“%d,%d”,&x,&y); if(x= =y) printf(“x= =y”); else if(x>y) printf(“x>y”); else printf(“x} A) 3<5 B) 5>3 C) x>y D) x16.若fp是指向某文件的指针,文件操作结束之后,关闭文件指针应使用下列 【16】 语句 A)fp=fclose(); B)fp=fclose; C)fclose; D)fclose(fp); 17.以下函数值的类型是 【17】 fun ( float x ) { float y; y= 3*x-4; return y; } A) int B) 不确定 C) void D) float 18.设a和b均为double型变量,且a=5.5;b=2.5,,则表达式(int)a+b/b的值是 【18】 A)6.500000; B)6; C)5.500000; D)6.000000; 19.C语言中,函数值类型的定义可以缺省,此时函数值类型的隐含类型是 【19】 A) int B) double C) void D) float 20.在调用函数时,如果实参是数组名,它与对应形参之间的数据传递方式是 【20】 。 A) 地址传递 B) 单向值传递 2009年山西大学硕士研究生入学考试试题 试题编号:863(高级语言程序设计)

高级语言程序设计试卷第4页(共6页) C) 由实参传给形参,再由形参传回实参 D) 传递方式由用户指定

二、 填空题(本题共10小题,每小题3分,满分30分) 1.求1~100以内能被3整除且含数字5的数 #include main() { int i,a,b,c; for (i=1;i<100;i++) { a=i%10; b=i/10; if ( 【21】 ) printf("%d\t",i); } 2.以下程序中,主函数调用了LineMax(),实现在N行M列的二维数组中。找出每一行上的最大值。请填空 #define N 3 #define M 4 Void LineMMax(int x[N][M]) {int I,j,p; for(i=0;i{p=0; for(j=0;jif(x[i][p]printf(“the Max value in line %d is %d\n”,i, 【23】 ); } } main() {int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1}; 【24】 ; } 3.以下程序输出的结果是 【25】 main() {int a=5,b=4,c=3,d; d=(a>b>c); printf(“%d\n”,d); 2009年山西大学硕士研究生入学考试试题 试题编号:863(高级语言程序设计)

高级语言程序设计试卷第5页(共6页) } 4.下列程序的输出结果是 【26】 。 #include main() { int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; printf("%d,%d\n",*(*a+8),*a[2]); } 5.下列程序的输出结果是 【27】 。 main() {int a=177; Printf(“%o\n”,a); }

6.以下函数的功能是动态建立一个单向循环链表,当键入0时结束,返回循环链表中第一个结点的指针,head为指向第一个结点的指针。请将程序段补充完整。 struct node {int data; struct node *next; }; struct node *creat() {struct node *head,*p,*q; int n=0; p=q=(struct node *)malloc(sizeof(struct node)); printf("Input data=");scanf("%d",&p->data); head=NULL; while(p->data!=0) {n=n+1; if(n==1) 【28】 ; else 【29】 ; q=p; p=(struct node*)malloc(sizeof(struct node)); printf("Input data=");scanf("%d",&p->data);

相关文档
最新文档