C/C++ 笔试、面试题目总结,

本文精选了一系列C++编程面试题目,涵盖基础知识、数据结构、算法等多个方面,旨在帮助读者深入理解C++编程,并通过实际案例提升解决问题的能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基本都没写答案,查找答案的过程就是学习的过程,会的也会引起一些思考。

1.   externextern”C”的作用, 如何判断一段程序是由C 编译还是由C++编译程序编译的?

2.   进程和线程的区别和联系 

3.   inline的作用

4.   KMP算法

5.   函数调用方式

·        __cdecl              堆栈由调用者清除          参数从右至左的顺序压入堆栈内

·        __stdcall            堆栈由被调用者清除       参数从右至左的顺序压入堆栈内

·        __fastcall           堆栈由被调用者清除       部分参数保存在寄存器中,然后其他的压入堆栈内

·        thiscall(非关键字)  堆栈由被调用者清除       参数压入堆栈内,this指针保存在ECX寄存器内

6.   有读和写的两个线程和一个队列,读线程从队列中读数据,写线程往队列中写数据

a)    生产者和消费者模型—(互斥变量或者线程API)

7.   TCP的三次握手,断开,流量控制和拥塞控制机制

8.   求一个数组中第k大的数的位置

9.   成员函数初始化列表有什么作用?什么必须在成员初始化列表中进行初始化?

10.网络编程(网络编程范式,非阻塞connect

     常见的IO模型有阻塞、非阻塞、IO多路复用、异步。

11.一个一维数轴上的不同线段,求重复最长的两个线段

12.非递归方法实现二叉树的遍历

13. 页面置换算法

14. 常量指针和指针常量,指针函数和函数指针,指针数组和数组指针

15.大端小端

16.虚函数表

17.如果判断单链表是否有环

18. 各数据类型内存中的存储方式以及相互转化,指针强制转化

19. 位运算典型应用

20. 字节对齐(sizeof()用法),结构体、共用体内存储存

union{int i;char x[2]; }a; 

                       i.             a.x[0] =10;  a.x[1] =1;

                     ii.             printf("%d",a.i);

答案:266 (低位低地址,高位高地址,内存占用情况是Ox010A)

union{ int i;structchar first;  char second; }half; }number;

number.i=0x4241

printf("%c%c\n",number.half.first, mumber.half.second); 
number.half.first='a'; number.half.second='b'
printf("%x\n",number.i); 
getch(); 

答案: AB   (0x41对应'A',是低位;Ox42对应'B',是高位)

6261 (number.i和number.half共用一块地址空间)

21. 引用和指针,引用作用,作参数返回值特点及应注意什么 

b)   new<<,幅值构造函数,赋值运算符,对于多态

22. strcpy(),strstr(),strlen()函数,String

23. 宏注意什么,哪些技术可以取代宏

24. C语言内存分配方式

25. C++中的4种类型转换方式?

26. 链表处理(合并两个有序链表,链表排序,判断是否有环)

27. 排序(大量数据内存放不开解决方法)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值