2013谷歌校园招聘笔试题
1.单项选择题 1.1 使用C语言将一个1G字节的字符数组从头到尾全部设置为字符'A',在一台典型的当代PC上,需要花费的CPU时间的数量级最接近: A. 0.001秒 B. 1秒 C. 100秒 D. 2小时 解答:现在机器cpu都是GHz,每次需要若干个指令,大约在1秒。 1.2 在某些极端要求性能的场合,我们需要对程序进行优化,关于优化,以下说明正确的是: A. 将程序整个用汇编语言改写会大大提高程序性能。 B. 在优化前,可以先确定哪部分代码最为耗时,然后对这部分代码使用汇编语言改写,使用的汇编语句数目越少,程序就运行越快。 C. 使用汇编语言虽然可能提高程序性能,但是降低了程序的可移植性和可维护性,所以应该绝对避免。 D. 适当调整汇编指令的顺序,可以缩短程序运行的时间。 解答:A中,不应该将程序整个改写,应该只改写关键部分,整个改写降低了程序的可移植性和可维护性,B,汇编语句不是数目越少越快,循环等 C。不应该绝对避免 1.3 对如下c语言程序在普通的x86 pc上面运行时候的输出叙述正确的是: #include<iostream> using namespace std; char *f() { char X[512]; sprintf(X, "hello world"); return X+6; } int main() { printf("%s",f());