当前位置:文档之家› “华为杯”研究生程序设计大赛笔试题及答案

“华为杯”研究生程序设计大赛笔试题及答案

19591470.xls文档密级:序号类型题目1判断题理论上利用栈可以将任何递归算法改为非递归算法。

2判断题在冒泡排序中,关键字都是朝着某个方向移动。

3判断题应当尽可能设计功能全面、灵活的数据结构,以提高效率4判断题断言可以用来处理程序的任何错误情况。

5判断题若两个结构间关系较复杂、密切,那么应合为一个结构。

6判断题#pragma指令可激活或者终止编译程序所支持的一些编译功能。

7判断题全局变量定义在被多个.C文件包含着的头文件中,是不符合规范的。

8判断题父类的析构函数是非虚的,但是子类的析构函数是虚的,delete子类9判断题在静态成员函数内部可以直接访问类的所有成员变量和成员函数。

10判断题二叉树的前序、中序、后序遍历常用递归方式实现。

1单选题二分查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次与表中元素(D)进行比较。

A. 65,15,37B. 68,30,37C. 65,15,30D. 65,15,30,372单选题对于下面的类CA,在32位计算机、4字节对齐的情况下,sizeof(CA) = ____:class CA{public:CA();virtual ~CA();private:int m_iTime;public:int GetTime();int SetTime(int iTime);};3单选题下面对的描述正确的是:A.父类的友元类可以访问子类保护成员B.子类的友元类可以访问父类的私有成员C.子类可以访问父类的保护成员D.父类可以访问子类的保护成员4单选题在系统实现递归调用时需利用递归工作记录保存实际参数的值。

在传值参数情形,需为对应形式参数分配空间,以存放实际参数的副本;在引用参数情形,需保存实际参数的( ),在被调用程序中可直接操纵实际参数。

A、空间B、副本C、返回地址D、地址5单选题下面那种情形下myfunc函数声明是重载?A. int myfunc(int a,double b) 和 double myfunc(int a, double b)B. int myfunc(int a,double b) 和 int myfunc(int a,double b=0.5)C. int myfunc(int a,double b) 和 int myfunc(double b,int a)D. int myfunc(int a,double b) 和 double myfunc(int , double )6单选题#include < iostream.h>class A {public:virtual void f() { cout<<"A::f()\n"; } };class B:public A{private:char *buf;public:7单选题下面哪种变量定义不当,可能导致堆栈溢出?A、静态全局变量B、动态全局变量C、静态局部变量D、动态局部变量8单选题在一个请求页式存储管理中,一个程序的页面走向为4、3、2、1、3、5、4、3、2、1、5,并采用LUR算法。

设分配给该程序的存储块数M分别为3和4,在该访问中发生的缺页次数F和缺页率f 是( )A. ①M=3,F=8、f≈67% ②M=4,F=5、f≈42%B.①M=3,F=10、f=83% ②M=4,F=8、f≈67%C.①M=3,F=9、f≈75% ②M=4,F=IO、f≈83%D.①M=3,F=7、f≈58% ②M=4,F=6、f=50%9单选题若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,能表示a[1] 地址的表达式是A、++aB、a++C、++pD、p++10单选题对于预处理程序,下面说法不正确的是:A、编译程序对程序进行通常的编译之前,会先运行预处理程序。

B、开发人员可以看见预处理程序的运行。

C、预处理程序会将宏和常量标识符用相应的代码和值代替。

D、预处理指令会告诉预处理程序如何修改源代码。

11单选题int *(*ptr)();则以下叙述中正确的是()A) ptr是指向一维组数的指针变量B) ptr是指向int型数据的指针变量C) ptr是指向函数的指针,该函数返回一个int型数据D) ptr是指向函数的指针,该函数的返回值是指向int型数据的指针12单选题设有以下宏定义:#define N 3#define Y(n) ((N+1)*n) /*这种定义在编程规范中是严格禁止的*/则执行语句:z = 2 * (N + Y(5 + 1));后,z的值为()A) 出错 B) 42 C) 48 D)5413单选题请选择下面树形结构深度优先遍历出来的结果:14单选题一个C++头文件内容如下:(前面的数字为行号)1 typedef unsigned char _UC;2 int ival;3 extern void dummy() {};4 extern int jval;请问,那几行容易导致错误?____:A. 1和2 B 3和4 C 2和3 D 1和4 E 2和4 F 1和315单选题设有如下定义:unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr;则下列程序段的输出结果为( )pulPtr = pulArray;*(pulPtr + 2) += 2;1多选题请阅读如下代码,下面各个选项中的哪些答案能应用于赋值表达式处?()int main(int argc, char* argv[]){int a[10];int *p = NULL;2多选题阅读下面的代码,请选出正确的描述#include <iostream>class A{public:bool doSomething();3多选题请阅读如下代码,比较代码一与代码二的区别,选择正确的说法____://代码一int *func(int, int){...return 0;};4多选题下列关于算法的描述错误的有()A.算法的执行时间与数据的存储结构无关B.算法的时间复杂度是指算法中关键语句的条数C.算法的有穷性指算法能保证在合理有限步骤后终止D.算法的空间复杂度是指它对栈的占用情况5多选题下列关于完全二叉树的描述正确的有()A.中间层的节点数达到最大值B.允许若干左右叶子结点缺失C.满二叉树一定是完全二叉树D.具有n 个结点的完全二叉树深度为6多选题关于代码质量保证优先次序,正确的是:A、可测试性最重要B、效率比可读性重要C、稳定性比可读性重要D、局部效率优先于全局效率E、以上都不对7多选题关于变量,正确的说法是:A、若全局变量仅在单个C文件中访问,则可以将这个变量修改为静态全局变量,以降低模块间的耦合度;B、若全局变量仅由单个函数访问,则可以将这个变量改为该函数的静态局部变量,以降低模块间的耦合度;C、设计和使用访问动态全局变量、静态全局变量、静态局部变量的函数时,需要考虑重入问题;D、静态全局变量过大,可能会导致堆栈溢出。

8多选题一般说来,以下哪一段代码可能有问题:A、 unsigned int size;while(size-- >= 0){……}9多选题0x12345678 在采用BigEndian中内存的排列顺序是()在采用LittleEndian内存中的排列顺序是()(答案从左到右内存地址依次增加,十六进制)A)12 34 56 78 B)34 12 78 56C)78 56 34 12 D)56 78 12 3410多选题某模块定义如下结构进行分布式通讯struct TEMP_MSG{short sLen; //总消息长度,从头开始算起 short sSerialNo; //序列号1简答题下列代码完成将"helloworld"赋值给str并打印输出的功能,请问错在哪里?void GetMemory(char*p){p=(char*)malloc(100);}2简答题下列针对链表的代码作用是什么?link* FUNC(link* L){if(!L)||(!L->next){ return L; } link h = FUNC(L->next);L->next->next=L;return h;}3简答题下面是将键值为x 的结点插入到二叉排序树中的算法,请在划线处填上适当的内容。

typedef struct pnode {int key;struct pnode *left, *right;} pnode;void searchinsert(int x, pnode **t ){4简答题在32位操作系统中,采用单字节对齐的方式,请计算下面的结果struct BBB{long lNum;char *pcName;short sDate;char cHa[2];5简答题请指出如下程序的错误:#define BUFFER_SIZE 256 void GetMemory(char **ppszBuf) {if(NULL == ppszBuf){ASSERT(0);return ;6简答题请指出下面这段代码中的错误:unsigned long FUNC_B ( unsigned long ulCount ) {unsigned long ulSum = 0 ;7简答题如下程序用于把"blue"字符串返回,请指出其中的错误:char *GetBLUE(void){char* pcColor ;char* pcNewColor;8简答题分析下列程序中的错误,并说明出错原因。

class A{int x;public:A(int a)9简答题DWORD BDALMPMCreateAlmObj(BYTE *pbyPara,int RmonPmNum) {int *pFunbAttrGE = new int[RmonPmNum];memset(pFunbAttrGE, 0, sizeof(pFunbAttrGE));for (BYTE j = 0; j<RmonPmNum; j++ ){pFunbAttrGE[j] = pbyPara[j];10简答题class CSomething {char* m_c; public:CSomething() {考点答案对有的关键字在某趟排序中可能朝错代码设计原则错程序可调试性错代码设计原则对编程语言基础对代码规范性对难度中。

通过子类对象的指针删对静态成员函数只能访问类的静态错考察二叉树常用的实现方式。

相关主题