c++面试题(亲测常问)

注意:此题为我自己面试被问到的,及一些摘抄的,如有侵权请联系我马上删除!

1.

 

2.

32位指针地址所占字节数为四

举例说明:

char*p;

char test[10];

p=test;

sizeof(p)=4(32位系统) //实质是求指针类型所占字节数,32位对应4字节,64位对应8字节

sizeof(*p)=1 //实质是求指针所指的内容所在字节数,*p=char[0],当然所指内容大小等于1字节

sizeof(test)=10 //虽然数组名test指向第一个数char[0],但是sizeof()会读到数组末尾截止,因此sizeof(test)=10。之前误以为sizeof(test)就是求char[0]的大小,sizeof(test)=1

 

3.

 

 

4.

switch的参数不能为实型。
注:必须是整数型常量,包括char,short,int,long等,不能是浮点数。

整型常量

在C语言中,整型常量分为十进制整型常量、八进制整型常量和十六进制整型常量三种表示形式。

以上三种进制的常量可用于不同的场合。大多数场合中采用十进制常量,但当编写系统程序时,如表示地址等,常用八进制或十六进制常量。

一般情况下,编译程序会根据常量的数值分辨出常量是int还是long int类型。

实型常量

实型常量有两种表示形式:一种是十进制小数形式,另一种是指数形式。

5.

 

 

6.

 

 

7.

 

8.

 

9.

 

10.

在c++程序中调用被C编译器编译后的函数,为什么要加extern“C”

C和C++的函数符号生成规则不一样。C++调用C语言,由于符号的生成规则不同会导致符号解析出错。使用extern C告诉C++编译器用C语言的规则生成符号

11.float x 如何与0值比较

const float EP = 0.000001;
if ((x >= - EP) && (x <= EP) )

12.

 

13

 

14.

 

 

15

 

16

 

17

Int型指针指向char数组

 

18

stl基础定义

 

19

 

20.

进程和线程的区别和其使用等

 

 

 

21

智能指针

 

 

 

 

 

分割线---------------------------

重要!!! 上面几个问题不太包含 stl和算法 stl也是c+基础 要重视其中的函数例如sort pair类型等等 此外排序 查找的算法要会几个
————————————————
原文链接:https://blog.csdn.net/weixin_45671199/article/details/125002972

 

posted @ 2023-06-23 17:33  imxiangzi  阅读(62)  评论(0编辑  收藏  举报