面试笔试题目总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mx_windxiao/article/details/52903066

        总结一下以前面试和笔试时的题目,找工作要用的,说不定哪天就又遇上了。

1.链表与数组的区别(这个题目遇到了两次)

    答:(1)数组要事前定义固定的长度,不能动态的删减 

            (2)链表能动态的进行存储分配,可以适应数据动态的增减情况,可以方便的插入删除数据项

            (3)数组从栈中分配空间,自由度小

            (4)链表从堆中分配空间,自由度大,但申请麻烦

    总结:如需快速访问,很少插入或删除元素,使用数组,相反则使用链表。


2.C++内联函数:

    关键字inline,用于消除函数调用的时间开销。常用于频繁执行的函数。

    对于一个频繁使用的短小函数,C中使用宏定义,C++使用内联函数,(?Python中使用匿名函数)。


3.构造函数与析构函数能不能是虚函数,为何?

    答:构造函数不能为虚函数,析构函数可以为虚函数。虚函数要对象建立好之后才能调用,构造函数用来建立对象。


4.如下程序:

#define Double(x) x + x
i = 5 * Double(5)
i = ?
    答:i = 5 * 5 +5 = 30


5.C++如何显示当前文件的文件名和行号

    答:文件名 __FILE__  行号__line__


6.Peter的儿子是我儿子的父亲,请问Peter和我是什么关系

    答:父子关系


7.递归计算1+2+3+………+n

int sum(int n)
{
	if(n == 1)
		return 1;
	else
		return n + sum(n-1);
}
8.冒泡排序

void bubble_sort(int a[], int n)
{
	int i, j, temp;
	for (j = 0; j < n - 1; j++)
		for (i = 0; i < n - 1 - j; i++)
		{
			if (a[i] > a[i + 1])
			{
				temp = a[i];
				a[i] = a[i + 1];
				a[i + 1] = temp;
			}
		}
}

9.九九乘法表

for x in range(1,10):
    for y in range(1,x+1):
	    print('%d * %d = %d' % (y, x, x*y),end = '\t')
    print('\n')




猜你喜欢

转载自blog.csdn.net/mx_windxiao/article/details/52903066