软件开发工程师试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件开发工程师试题
每题5分,满分100分考试分数:
1、用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)。
2、写一个“标准”宏MIN,这个宏输入连个参数并返回较小的一个。
3、预处理器标识#error的目的是什么?
4、嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢?
5、用变量a给出下面的定义
a) 一个整型数(An integer)
b) 一个指向整型数的指针(A pointer to an integer)
c) 一个指向指针的的指针,它指向的指针是指向一个整型数(A pointer to a pointer to an integer)
d) 一个有10个整型数的数组(An array of 10 integers)
e) 一个有10个指针的数组,该指针是指向一个整型数的(An array of 10 pointers to integers)
f) 一个指向有10个整型数数组的指针(A pointer to an array of 10 integers)
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数(A pointer to a function that takes an integer as an argument and returns an integer)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(An array of ten pointers to functions that take an integer argument and return an integer )
6、以下代码的输出结果是()
char var[]
Int test(char var[]){ retrun sizeof(var);}
7、以下代码的输出结果是()
Class B { float f; char p; int asf[3];}; cout< 8、以下代码的输出结果是() Class B { double d; char p; int asf[4];}; cout< 9、下面的数据声明都代表什么意思? (1)float(**def)[10] (2)double*(*gh)[10] (3)double(*f[10])() (4)int*((*b)[10]) (5)long(*fun)(int) (6)int(*(*f)(int,int))(int) 10、一个指向整型数组的指针定义为() A.int(*ptr)[] B.int *ptr[] C.int*(ptr[]) D.int ptr[] 11、C++语言没有可移植性。() A. 正确 B. 不正确 12、定义数组时可以不确定元素个数。() A. 正确 B. 不正确 13、指针是一种特殊的变量,只能用来保存地址。() A. 正确 B. 不正确 14、通过引用或者指针调用对象的成员函数时,如果引用或者指针的类型跟对象的类型不一致时,能自动正确调用对象所属的类中对这个函数的定义。() A. 正确 B. 不正确 15、如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后++运算符的声明应该为()。 A. myclass operator++(); B. myclass& operator++(); C. myclass operator++( int ); D. myclass& operator++( int ); 16、父类和子类各自定义一个成员函数,函数名相同,参数表不同,那么()。函数同名,通通覆盖,不同层次的函数不能重载 A. 在子类中这两个函数构成重载关系 B. 子类不会继承父类的这个函数 C. 子类中的函数会覆盖父类中的函数 D. 编译时会发生错误 17、抽象类指的是()。 A. 没有任何成员的类 B. 只有成员函数没有数据成员的类 C. 有虚函数的类 D. 有纯虚函数的类 18、多重继承时,如果派生类的两个父类有一个共同的虚基类,那么虚基类的初始化参数由()的构造函数来传递。 A. 第一个父类 B. 第二个父类 C. 派生类 D. 以上都不是 19、多态性是通过()实现的。 A. 构造函数 B. 析构函数 C. 虚函数 D. 函数重载 20、如果有如下语句 char str[20]; cin >> str; cout << str; 执行时输入的是“this is a test line!”,则输出的内容是()A. this is a test line! B. this is a test line C. this is a test D. this 答案: 1.#define SECONDS_PER_YEAR(60*60*24*365)UL 2.#define MIN(A,B) ((A)<=(B)?(A):(B)) 3.SQL 4. while(1) { } 或goto Loop: ... goto Loop; 或者for(;;) { } 5. a) int a; b) int *a; c) int **a; d) int a[10]; e) int *a[10]; f) int (*a)[10]; g) int (*a)(int); h) int (*a[10])(int); 6. 4 7.20 8.32 9.(1)Def是一个二级指针,它指向的是一个指向一维数组的指针,数组的元素都是float。 (2)Gh是一个指针,它指向一个一维数组,该数组元素都是double* (3) F是一个数组,f有十个元素,元素都是指向函数的指针,指向的函数类型是没有参数且返回double的函数 (4) 就跟“int*(b)[10]”是一样的,b是一维数组的指针 (5) 函数指针:指向函数的指针