Google2011校园招聘笔试题(自己整理+答案)
1、下列哪个字符串不能被正则表达式“a(bc)*d?”匹配?D
A、ad
B、abcd
C、abc
D、abccd
分析:
正则表达式中? 表示 匹配前面的字符0或1次;* 表示 匹配前面的字符0次或多于0次;
其他:{n} 匹配前面的字符n次;{n,} 匹配前面的字符n次或多于n次;{n,m} 匹配前面的字符n到m次;+ 匹配前面的字符1次或多于1次。
2、在Intel X86 CPU中,下列哪种整数运算速度最慢?D
A、加
B、减
C、乘
D、除
分析:考察计算机组成原理,运算器最基本的操作是加法。一个数与零相加,等于简单地传送这个数。将一个数的代码求补,与另一个数相加,相当于从后一个数中减去前一个数。将两个数相减可以比较它们的大小。乘法操作是以加法操作为基础的,由乘数的一位或几位译码控制逐次产生部分积,部分积相加得乘积。除法则又常以乘法为基础,即选定若干因子乘以除数,使它近似为1,这些因子乘被除数则得商。
3、这段代码的输出结果? C
void main(void)
{
bool first=true;
int sum=0;
int current_value=0;
for(unsigned short i=65535;i>=0;i--)
{
if(first)
{
current_value=65536;
sum+=current_value%3;
first=false;
}
else
{
sum+=--current_value%3;
if(current_value<=0)
{ printf("%d,%d",sum,i);
break;
}
}
}
}
A、65535,0
B、65536,1
C、65536,65535
D、65536,0
分析: