腾讯笔试题解析:编程与数据库问题

4星 · 超过85%的资源 需积分: 9 14 下载量 113 浏览量 更新于2024-12-02 收藏 5KB TXT 举报
"腾迅笔试及答案 腾讯" 这篇资源主要包含了腾讯笔试的一些经典题目及答案,涉及了编程语言、数据结构、算法、操作系统、数据库和计算机网络等多个方面的知识。以下是这些知识点的详细解释: 1. 输出源文件的标题和当前执行行的行数:在C++中,可以使用预处理器宏`__FILE__`来获取当前源文件的名称(字符串常量),而`__LINE__`则会返回当前行号。 2. a[3][4]表示二维数组,要表示a[1][1],可以通过指针操作实现,其中`(*(&a[0][0]+5)`表示访问第2行第1列的元素(因为数组下标从0开始,所以a[1][1]是第2行第1列)。其他选项中: - `*(a+1)+1`表示从a[0][0]开始,向后移动一个元素(即到达a[1][0]),再加1就到了a[1][1]。 - `&a[1]+1`表示获取a[1]行的地址,再加1跳过a[1][0],指向a[1][1]。 - `&a[0][0]+4`不正确,因为它会指向a[0][3],而不是a[1][1]。 3. fun((exp1,exp2),(exp3,exp4,exp5))函数调用中,括号内的逗号运算符被视为表达式,每个表达式都会被计算,但函数只接受最后的值作为参数。因此,这个函数有2个实参。 4. 希尔排序、冒泡排序、快速排序、插入排序的平均速度比较:一般来说,希尔排序和快速排序的平均时间复杂度最低,通常比冒泡排序和插入排序快。其中,快速排序平均情况下是O(n log n),希尔排序取决于增量序列,但通常也接近O(n log n)。 5. enum的声明方式:在C/C++中,enum可以声明枚举类型,例如`enum Color {Red, Green, Blue};`定义了一个名为Color的枚举,包含三个枚举成员Red、Green和Blue。 6. 问题11提到了并发和同步的概念,可能是关于多线程或进程的问题。在并发环境下,A&B表示两个操作A和B同时进行,而A的输出发生在2分钟后,意味着A可能被阻塞了。 7. 问题7讨论了排序算法的效率,平均速度最快的一般是快速排序,但希尔排序在特定情况下也能达到较好的效率。 8. 问题14和15可能涉及浮点数比较,浮点数在计算机中存储不精确,直接使用`=`, `!=`进行比较可能会出错,应使用一个足够小的误差范围来判断是否接近。 9. 问题16讨论的是动态内存分配,`*p=NULL; *p=new char[100];`后,`sizeof(p)`依然为指针的大小,通常为4字节(32位系统)或8字节(64位系统)。 10. 其他题目涉及到的还有循环结构(如for循环)、switch语句的用法、指针运算、二进制运算(如位移)以及数据库查询(如SQL语句)等知识点。 这些题目涵盖了计算机科学的基础知识,对于准备参加腾讯笔试的应聘者来说,理解和掌握这些知识点是非常重要的。