趋势科技2016校招C++工程师笔试试卷B卷
时长:120分钟 总分:100分
211浏览 0人已完成答题
题型介绍
题型 | 单选题 | 判断题 | 简答题 |
---|---|---|---|
数量 | 20 | 3 | 2 |
给出一个二叉树,用一个函数确定是否有一条从根节点到叶子节点的路径,这个路径上所有节点的值加在一起等于给定的sum的值。函数声明hasPathSum已经给出,写出程序设计思路并且实现该函数。尽量提供多种实现方法。 /** * 二叉树节点定义
/** * 二叉树节点定义如下: * struct TreeNode { * int val * TreeNode *left * TreeNode *right * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * } */ bool hasPathSum(TreeNode *root, int sum) { }
给定的二叉树和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
请编写一个函数将字符串s2添加到字符串s1的末端,函数不受s1、s2空间大小的限制。可以利用常用字符串函数strlen,strcpy,strcat,strcmp,strstr实现。 常用字符串函数简单描述: strlen(char
下面程序一共会在屏幕上输出多少个“-” ?[$##$] #include<iostream> #include<stdio.h> #include<sys/types.h> #include<unis
#include<iostream> #include<stdio.h> #include<sys/types.h> #include<unistd.h> using namespace std int main( ) { int i for(i = 0 i < 2 i++) { cout<<"-\n" fork( ) cout <<"-\n" } cout << endl return 1 }
读下面程序,请给出test( )函数的返回值。[$##$] int test( ) { int k=0 char c='A' do{ switch (c++) {
int test( ) { int k=0 char c='A' do{ switch (c++) { case 'A': k++ break case 'B': k-- case 'C': k+=2 break case 'D': k=k%2 break case 'E': k=k*10 break default: k=k/3 } k++ }while(c<'G') return k }
该段代码的输出结果是? [$##$] #include<iostream> using namespace std int nest(int i) { if (i < 0 ) return 0
#include<iostream> using namespace std int nest(int i) { if (i < 0 ) return 0 else if (i == 0) return 1 else return nest(i-1) + nest(i-2) + i } int main( ) { cout << nest(7)<< endl return 1 }
如果一个类没有构造函数定义,那么当这个类的Objects被创建时会发生什么?( )
阅读下面代码: class B { public: virtual void Fun(){} } class D: public B { public: void Fun(){} } D dd B* pb = &dd D*
class B { public: virtual void Fun(){} } class D: public B { public: void Fun(){} } D dd B* pb = &dd D* pd = &dd pb->Fun() pd->Fun()
如果定义如下类: class Empty{} 请选择编译器为之生成的函数有哪些? ( ) Empty() { … } Empty(const Empty& rhs){ … } Empty& o
下面程序的输出是?( ) int main(void) { enum team { my , your = 9 , his , her = his + 3} printf("%d %d %d %d\n&qu
int main(void) { enum team { my , your = 9 , his , her = his + 3} printf("%d %d %d %d\n",my , your , his , her) return 0 }
为以下表达式选择结果是?( ) std::string str1("trend") std::string str2("micro") std::string& strs = s
std::string str1("trend") std::string str2("micro") std::string& strs = str1 std::string* ptrs = &str1 strs = str2 ptrs = &str2
请选择正确的数字填充:某缓存系统采用LRU(近期最少使用算法)淘汰算法,假定缓存容量为4,并且初始为空,那么在顺序访问以下数据项的时候1,5,1,3,2,4,1,2出现缓存命中的次数是__。最后缓存中即将准备淘汰的数据项是( )
为以下表达式选择结果是?( ) int a = 0 int b = (a=-1) ? 2:3 int c = (a=0) ? 2:3
int a = 0 int b = (a=-1) ? 2:3 int c = (a=0) ? 2:3