首页 考研

2005年高级语言程序设计考研真题答案及解析

考研 希赛网 浏览 257

考研真题,是用来研究考试规律的。考生可通过真题,来确定自己的复习范围,来研究考试的重点、难点是哪些内容。希赛网为大家整理2005年高级语言程序设计考研真题答案及解析,供大家参考!

本文提供2005年高级语言程序设计考研真题答案及解析,以下为具体内容

1、C语言中要求对变量做强制定义的主要理由是()。

A、便于移植

B、便于写文件

C、便于编译预处理程序处理

D、便于确定类型和分配空间

2、以下程序的输出结果是()。main(){ char *s="121"; int k=0,a=0,b=0; do{ k++; if(k%2==0){ a=a+s[k]-'0'; continue; } b=b+s[k]-'0'; a=a+s[k]-'0'; }while (s[k+1]); printf("k=%d,a=%d,b=%d",k,a,b);}

A、k=3,a=2,b=3

B、k=3,a=3,b=2

C、k=2,a=3,b=2

D、k=2,a=2,b=3

3、下列关于c语言的局部变量和全局变量所采用的存储类别的描述中,错误的是()。

A、动态局部变量一旦离开函数,其值就消失

B、静态局部变量离开函数,其值仍保留

C、寄存器变量一旦离开函数,其值就消失

D、静态外部变量既可以在本文件引用,也可以在其他文件中引用

4、已知函数原型为:struct tree *f(int x1,int *x2,struct tree x3,struct tree *x4)其中tree为已定义过的结构,且有下列变量定义: struct tree pt,*p; int m;则正确的函数调用语句()。

A、&pt=f(10,&m,pt,p);

B、f(m+1,&m,p,p);

C、p=(m+1,&(m+2),*p,p);

D、p=f(m++,(int*)p,pt,&pt);

5、C语言的函数调用过程中,如果函数a调用了函数b,函数b又调用了函数a,则()。

A、称为函数的直接递归

B、称为函数的间接递归

C、称为函数的递归定义

D、C语言不允许这样的递归形式

6、说明语句int *(*p)();的含义是()。

A、p是一个指向int型数组的指针

B、p是指针变量,指向一个整型数据

C、p是一个指向函数的指针,该函数的返回值是一个整型

D、p是一个指向函数的指针,该函数的返回值是一个指向整型的指针

7、以下程序的输出结果是()。main(){ static char a[]="language",b[]="program"; char *p1=a,*p2=b; int k; for(k=0;k<7;k++) if(*(p1+k)==*(p2+k)) printf("%c",*(p1+k));}

A、gae

B、ga

C、language

D、有语法错误

8、设有以下语句:struct st{ int n; struct st *next;};static struct st a[3]={5,&a[1],7,&a[2],9,NULL},*p;p=&a[0];

A、p++->n

B、p->n++

C、(*p).n++

D、++p->n

9、阅读以下程序以及对程序功能的描述,其中正确的是()。main(){ FILE *in,*out; char ch,infile[10],outfile[10]; scanf("%s",infile); scanf("%s",outfile); if((in=fopen(infile,"r"))==NULL) exit(0); if((out=fopen(outfile,"w"))==NULL) exit(0); while(!feof(in)) fputc(fgetc(in),out); fclose(in); fclose(out);}

A、程序完成将磁盘文件的信息在屏幕上显示的功能

B、程序完成将两个磁盘文件合二为一的功能

C、程序完成将一个磁盘文件复制到另一个磁盘文件中

D、程序完成将两个磁盘文件合并,并且在屏幕上显示

10、以下程序的输出结果是()。main(){ int x; x=try(5); printf("%d\n",x); return 0;}try(int n){ if(n>0) return (n*try(n-2)); else return (1);}

A、15

B、120

C、1

D、前面答案均是错误的

1、试题答案:D

试题解析:

【考点】本题考查变量的目的。
【解析】变量必须先定义,后使用。在定义时指定该变量的名字和类型,便于在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。故本题选D。

2、试题答案:C

试题解析:

【考点】本题考查do…while语句的使用。
【解析】该程序的执行过程如下表所示。

故本题选C。

3、试题答案:D

试题解析:

【考点】本题考查局部变量和全局变量的存储类别。
【解析】在函数内定义的变量是局部变量,在函数外定义的变量是全局变量(外部变量)。静态局部变量属于静态存储类别,在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,分配在动态存储区空间而不在静态存储区空间,函数调用结束后即释放。寄存器变量存储在CPU中的寄存器中,在函数内声明,目的是提高执行效率,一旦离开后其值就消失。静态外部变量是指用static声明,只能用于本文件的外部变量。故本题选D。

4、试题答案:D

试题解析:

【考点】本题考查结构体指针的应用。
【解析】定义tree类型的变量pt和指向tree类型数据的指针变量p。f函数返回一个指向tree类型数据的指针。因此选项A中的&pt非法;选项B中的第一个p非法;选项C中的&(m+2)非法。故本题选D。

5、试题答案:B

试题解析:

【考点】本题考查函数的递归调用的定义。
【解析】在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。在调用函数f的过程中,又要调用f函数(本函数),这是直接调用本函数,如果在调用f1函数过程中要调用f2函数,而在调用f2函数过程中又要调用f1函数,就是间接调用本函数。故本题选B。

6、试题答案:D

试题解析:

【考点】本题考查指向函数的指针。
【解析】函数名就是函数的指针,它代表函数的起始地址。可以定义一个指向函数的指针变量,用来存放某一函数的起始地址,这就意味着此指针变量指向该函数。题中的p是指向函数的指针,被指向的函数没有形式参数,返回一个int *型指针。故本题选D。

7、试题答案:B

试题解析:

【考点】本题考查指针引用字符串的应用。
【解析】在定义字符数组a和b时未指定长度,由于对它们初始化,因此它们的长度是确定的。a的长度应为9,其中8个字节存放“language”,最后一个字节存放字符串结束符‘\0’。b的长度应为8,其中8个字节存放“program”,最后一个字节存放字符串结束符‘\0’。程序中把字符串a和b中第1个元素的地址分别赋给字符指针变量p1和p2。对字符串中字符的存取,可以用下标方法,也可以用指针方法。a[k]等价于*(a+k),也等价于*(p1+k)。因此a和b中仅有第4个和第6个字符相等。故本题选B。

8、试题答案:D

试题解析:

【考点】本题考查自增运算符的应用。
【解析】成员运算符的优先级高于算术运算符,++i和i++的不同之处在于:++i是先执行i=i+1,再使用i的值;而i++是先使用i的值,再执行i=i+1。p++->n的输出结果是5,执行后(*p).n的输出结果是7;p->n++的输出结果是5,执行后(*p).n的输出结果是6;(*p).n++的输出结果是5,执行后(*p).n的输出结果是6;++p->n的输出结果是6,执行后(*p).n的输出结果是6。故本题选D。

9、试题答案:C

试题解析:

【考点】本题考查文件输入输出的综合运用。
【解析】程序使用的文件相关的函数解释如下:
(1)fopen函数:ANSI C规定了用标准输入输出函数fopen来实现打开文件。fopen函数的调用方式为:fopen(文件名,使用文件方式);。使用文件方式如下:
①用r方式打开的文件只能用于向计算机输入而不能用作向该文件输出数据,而且该文件应该已经存在,并存有数据,这样程序才能从文件中读数据。不能用r方式打开一个并不存在的文件,否则出错。
②用w方式打开的文件只能用于向该文件写数据(即输出文件),而不能用来向计算机输入。如果原来不存在该文件,则在打开文件前新建立一个以指定的名字命名的文件。如果原来已存在一个以该文件名命名的文件,则在打开文件前先将该文件删去,然后重新建立一个新文件。
(2)fclose函数:关闭文件用fclose函数。fclose函数调用的一般形式为:fclose(文件指针);。前面曾把打开文件(用fopen函数)时函数返回的指针赋给了fp,现在把fp指向的文件关闭,此后fp不再指向该文件。
(3)fgetc函数:从fp指向的文件读入一个字符用fgetc函数。fgetc函数调用的一般形式为:fgetc(文件指针);。读成功,带回所读的字符,失败则返回文件结束标志EOF(即-1)。
(4)fputc函数:把字符ch写到文件指针变量fp所指向的文件用fputc函数。fputc函数调用的一般形式为:fputc (字符,文件指针);。输出成功,返回值就是输出的字符;输出失败,则返回EOF(即-1)。
(5)用feof函数可以检测文件尾标志是否已被读取过。如果文件尾标志已被读出,则表示文件已结束,此时feof函数值为真(以1表示),否则feof函数值为假(以0表示)。
故本题选C。

10、试题答案:A

试题解析:

【考点】本题考查函数的递归调用。
【解析】该程序对应的数学公式表述如下:

故本题选A。

点击查看【完整】试卷>>

责任编辑:希赛网

📅 本文最后更新于 2023-07-28

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
题库
章节练习
章节练习
章节专项突破
模拟考场
模拟考场
海量免费试题
历年真题
历年真题
真题实战演练
每日一练
每日一练
每天10题练习
习题练习
习题练习
核心知识点
高频错题
高频错题
错题突破集训
分享至