考研计算机专业基础在线题库每日一练(二十三)
以下是希赛网给大家分享考研计算机专业基础在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研计算机专业基础在线题库每日一练,以下为具体内容
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语言不允许这样的递归形式
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。

