第一题:以下程序的输出是___________________class Base
{
public:
Base(int j):i(j){}
virtual ~Base(){}
void func1(){i *= 10; func2();}
int getValue(){return i;}
protected:
virtual void func2(){i++;}
protected:
int i;
};class Child:public Base
{
public:
Child(int j):Base(j){}
void func1(){i *= 100; func2();}
protected:
void func2(){i += 2;}
};int main()
{
Base* pb = new Child(1);
pb->func1(); cout<<pb->getValue()<<endl;
delete pb; return 0;
} 此题输出:12.(在非虚函数中调用虚函数,将调用实际的虚函数) 第三题:以下程序的输出是___________________int main()
{
char num;
for(num = 0;num < 255;)
num += num; cout<<num<<endl; return 0;
} 此题是死循环,无输出。(for循环中将num赋值为0了,在for循环上面是一个随机的值。所以num+num还是0,此题说明无论在什么情况下一定要坚持自己的判断)。 第四题:程序出错在什么阶段:#include
using namespace std;int main()
{
http://www.linuxidc.com
cout<<"welcome to linuxidc"<<endl; return 0;
}A:编译时;B:运行时;C:编译和运行时都出错;D程序运行正常选D。因为http://www.linuxidc.com中//后面是注释,前面是标签(类似goto的标签)。(坑爹啊)第五题:下面程序的执行结果是【说明:x86_64环境】(*间接访问的优先级大于-)int a[4][4] = {
{1,2,3,4},
{50,60,70,80},
{900,1000,1100,1200},
{13000,14000,15000,16000}
}; int (*p1)[4] = a;
int (*p2)[4] = &a[0];
int *p3 = &a[0][0]; cout<<*(*(a + 1) - 1)<<" "<<*(*(p1 + 3) - 2) + 1
<<" "<<*(*(p2 - 1) + 16) + 2<<" "
<<*(p3 + sizeof(p1) - 3)<<endl; 输出结果为:4 1101 13002 2。p1为指向一维数组的指针,所以a + 1指向{50,60,70,80}这一维的地址。减一则为4的地址;同理第二个输出1101。同理,由于数组的列是4,所以*(p2 - 1) + 16就相当于*(p2) + 12,所以第三个输出13002。第四个由于p1是指针,所以sizeof(p1)为4,所以第四个输出2。
百度笔试题:malloc/free与new/delete的区别AIX 系统的启动和关机相关资讯 互联网 搜狗校园招聘笔试题 2013搜狗笔试题 搜狗笔试题
- 30亿网民坐稳啦!互联网之门将要换 (今 06:51)
- 互联网迎来“独立日”? (03月21日)
- 互联网让我们变聪明了? (11/13/2015 07:53:43)
| - 互联网从开放走向封闭 (06月20日)
- 全球首个互联网网页上线 25 周年 (12/21/2015 13:40:02)
- 古巴的Netflix、Hulu和Spotify不在 (09/28/2015 07:00:59)
|
本文评论 查看全部评论 (0)