软件工程师笔试题B_第1页
软件工程师笔试题B_第2页
软件工程师笔试题B_第3页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、校园招聘笔试题(软件 B)学 校:专 业:姓 名:学 历:四级成绩:最终得分:注意:满分 100分,答题时间 45分钟一、填空题(共 30分)1、通常,在什么情况下适合采用 inline 定义内联函数? 2、含有纯虚函数的类称为3、C+函数中参数的传递方式有、 、 三种方式。4、程序的局部变量存在于中,全局变量存在于 中,动态申请内存存在于中。5、C+里声明某一函数为 C程序中的库函数,则需要在该函数前加 。6、如果编译器在编译和连接程序时,已经确定了调用函数的地址,这种做法通常称为 联编。7、C+预定义的标准输入流对象是 ,标准输出流对象是 。8、#ifndef #define #endif

2、的主要作用是。(2分)9、假设定义类型如下:union Aint x; double y; char z;struct Bint x; char y; char* z;在Win32 平台下, sizeof(A)=, sizeof(B)=10、下面程序输出分别是( 4 分)#define PRINTX printf("%d ", x)int main()int x=2,y,z;x*=3+2;PRINTX;x*=y=z=4;PRINTX;x=y=z;PRINTX;x=(y=z);PRINTX;return 0;11、假定 CLS_PtzControl是一个类,那么执行语句 CL

3、S_PtzControl x5, *y3; 时程序会自动调用该类的无参构造函数次。( 2 分)2 分)12、对于数组 int x10 ,其元素 x4 的字节地址为13、执行如下程序后的输出结果是:。(2 分)#include<iostream.h>class teststatic int count;public:test()count+; test()count-; static int getCount()return count;int test:count=0;int main()test * p=new test;test * q=new test;delete p;co

4、ut<<"count="<<test:getCount()<<endl;return 0;14、以下程序的正确执行结果为:。( 2 分)#include<iostream.h>#int f(int);void main()int a=2,i;for(i=0;i<3;i+)cout<<f(a)<< " "cout<<endl;int f(int a)int b=0;static int c=3;b+;c+;return (a+b+c);15、下面程序的输出结果是。(2

5、 分)#include<iostream.h>int fun(char *s)char *p=s;while(*p!='0')p+;return (p-s);void main() count<<fun("ABCDEF")<<endl;二、选择题(每题 2分,共 20分),请将答案写在【】内。【】 1、 C+中,符号“ & ”不可以表示的是:()A 取变量运算B按位与运算C引用运算符D取地址运算【】 2、有关函数重载的正确说法是:()A函数名不同,但形式参数的个数和类型相同B函数名相同,但形式参数的个数不同或参数的

6、类型不同C函数名相同,形式参数的个数和类型也相同D函数名相同,函数的返回值不同,而与函数的形式参数和类型无关【】 3、对于 std:vector<int> vec; const std:vector<int>:iterator iter = vec.begin() 下列说法正确的是( )A *iter = 10 和 +iter 均可通过编译B *iter = 10 可通过编译, +iter 不可通过编译C *iter = 10 不可通过编译, +iter 可通过编译D *iter = 10 和 +iter 均不可通过编译【】 4、一个指向整型数组的指针的定义为: ( )

7、A int(*ptr)Bint *ptrCint*(ptr)Dint prt【】 5、假定要对类 AB 定义加号操作符重载成员函数,实现两个 AB 类对象的加法,并返回相加结果,则该成员函数的声明语句为: ( )A AB operator+(AB & a , AB & b)BAB operator+(AB & a)C operator+(AB a)DAB & operator+( )【】 6、如果需要定义一个只允许本源文件中能够被访问使用的全局变量,那么该变量使用的类型是( )A externBregisterCautoDstatic【】7、C+中的 this

8、指针是其实现()的一种机制。A 封装B继承C抽象D重载【】 8、对于类 CLS_Matrix ,语句 void (CLS_Matrix:*pControl)(int _iCmd); 表明( )A pControl 是一个指向类成员函数的指针 BpControl 是类 CLS_Matrix 的一个成员C pControl 是类 CLS_Matrix 的一个对象 DpControl 是一个指向类对象的指针【】 9、设置虚基类的目的是()D减少目标代码)DERIVEDBASEA 简化程序B消除二义性C提高运行效率【】 10、有如下程序:执行后的输出结果应该是(#include <iostrea

9、m.h> class BASE public:BASE()cout<<"BASE"class DERIVED: public BASE public:DERIVED()cout<<"DERIVED"void main()DERIVED x;A BASEB DERIVEDCBASEDERIVEDD三、纠错题( 8分)1、下面的函数实现代码是否有问题?请指出。( 4分) char *GetMemory(void) 答题处: char p = "hello world"return p;void Test(vo

10、id)char *str = NULL;str = GetMemory(); printf(str);2、以下的程序运行后会产生什么问题?( 4分) #define SIZE 255int main() 答题处: unsigned char ArraySIZE, i;for (i=0;i<=SIZE;i+)Arrayi=i;return 0;四、简答题 (共 42分)1、C中的结构体与 C+中的类主要区别是什么? (5分)2、以下为Windows NT下的32位C+程序,请计算 sizeof的值( 5分)char str = "Hello" ; char *p = s

11、tr ;int n = 10; 请计算 sizeof (str ) sizeof ( p ) = sizeof ( n ) = void Func ( char str100) 请计算 sizeof( str ) =void *p = malloc( 100 ); 请计算 sizeof ( p ) = 3、类成员函数的重载、覆盖和隐藏区别 ?(8分)4、写出如下程序的运行结果。( 12分)class Apublic:virtual void Output() printf( "This is A's Outputn");void Display() printf (

12、"A:Displayn " ); Output(); ;class B:public A public:virtual void Output() printf( "This is B's Outputn"); 答题处:;int main()B b1;b1.Display();(A *)(&b1)->Display(); (A)b1).Display(); return 0;5、用单链表表示集合,设计算法求两个集合的并集。( 12 分) typedef struct SNodeint data;SNode * next; SNode;void diffence(SNode *A,SNode *B,SNode *&C)SNode *pa=A,*pb=B,*pc,*s,*r;C=(SNode*)malloc(sizeof(SNode); ;r=C;while(pa!=NULL)s=(SNode*)malloc(sizeof(SNode); ;s->next

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论