1、 2014 年硕士研究生入学考试试题()科目名称: 高级语言程序设计 科目代码: 871 注:答案必须写在答题纸上,写在本试题纸上的无效!-一、单选题(本题共10小题,每小题3分,满分30分)1设有定义int i; char c; float f; 则以下结果为整数的表达式是( )。A、i*c B、i+f C、c+f D、i+c+f2设有定义:int x=10,y=3,z; 则语句printf(%d,z=(x%y,x/y);的输出结果是( )。A、0 B、1 C、3 D、43若有定义:int a9, *p=a; 不能表示a1地址的表达式是( )。A、p+1 B、a+1 C、a+ D+p4不能把
2、字符串:Hello!赋给数组b的语句是( )。A、char b10=H,e,l,l,o,!; B、char b10=Hello!;C、char b10; strcpy(b,Hello!); D、char b10; b=Hello!;5有如下语句:char *fun(int x, int y); 它是( )。A、对函数fun的定义 B、对函数fun的原型说明C、对函数fun的调用 D、不合法的6若a为二维数组,则a13等价于( )。A、*(a+1)+3) B、*(a1+3) C、(*(a+1)+3) D、&a1+37若a=3,b=4,按顺序执行下面的语句后,a,b的值分别为( )。a=ab; b
3、=ba; a=ab;A、3,3 B、4,4 C、3,4 D、4,38设有定义:struct studint a; float b;stu1,*p; 若有p=&stu1;则对stu1中的成员a的正确引用是( )。A、(*p).stu1.a B、(*p).a C、p-stu1.a D、p.stu1.a9若用数组名作为函数调用时的实参,则传递给形参的是( )。A、数组首地址 B、数组的第一个元素值C、数组中全部元素的值 D、数组元素的个数10以下程序运行后的输出结果是( )。#include void main()union dataint i;char ch;a;a.ch=b; a.i=321;
4、printf(%cn,a.ch);A、a B、b C、A D、B二、阅读程序题(本题共3小题,满分40分)1(10分)以下程序的输出结果是: 。#include int fun(int n)static int f=1;f=f*n;return f; void main()int i;for(i=1;i=5;i+)printf(%dn,fun(i);2(15分)以下程序的输出结果是: 。#include #define M 4#define NUM (M+1)*(M)/2void main()int aNUM,*pM,i,j,t,n;for(i=0;iM;i+)t=i*(i+1)/2;pi=&
5、at;for(i=0;iM;i+)n=1;for(j=0;j=i;j+) pij=i*M+n;n+; for(i=0;iM;i+)for(j=0;j=i;j+)printf(%-4d,pij);printf(n);3(15分)若以下程序运行时输入computer,则输出结果是: 。#include void fun(char *s)char *p=s,c;while(*p) p+;p-;while(sp)c=*s;*s+=*p;*p-=c;void main()char a50;scanf(%s,a);fun(a);printf(%s,a);三、编程题(本题共4小题,满分80分)1(15分)编
6、程实现:从键盘输入10个实数,计算其平均值,将平均值和小于平均值的数写入到文本文件a1.txt中。2(20分)编程用指针方法实现:对n个整数由小到大排序并输出。要求将排序单独写成一个函数,n个整数在主函数中输入,最后在主函数中输出排序后的n个整数。3(20分)一个字符串中有数字和非数字字符,如CS140$*1785%$%L108der0770IPqp,将其中连续的数字作为一个正整数,编程输出其是7的倍数的正整数。输入样例:xYS3206re%$*Qde130w7$*00980(iuKp输出样例:3206 7 9804(25分)观察数字:12321,123321都有一个共同的特征,无论从左向右读还是从右向左读,都是相同的,这样的数字叫做回文数字。编程实现:找到一些5位或6位的十进制回文数字,该数字的各个数位之和等于输入的整数。输入:一个正整数n (10n100),表示要求满足的数位和。输出要求:若干行,每行包含一个满足要求的5位或6位整数。数字按从小到大的顺序排列。如果没有满足条件的,输出:-1-淮北师范大学2014年硕士研究生入学考试试题纸 第 3 页 共 3 页