C++经典面试题目(三)

1、什么是C++中的数据类型?

C++中的数据类型是用来定义变量或表达式的种类,这些类型决定了变量能够存储什么类型的数据以及在内存中如何分配空间。C++中的数据类型可以分为基本数据类型和其他复合类型。

2、请列举C++中的基本数据类型。

  1. 整型

    • char:通常占用1字节,可以表示ASCII字符或者小整数值(带符号或不带符号取决于实现)。
    • short intshort:至少16位的有符号整数。
    • int:系统默认的整数类型,至少16位,但通常为32位。
    • long intlong:至少32位的有符号整数。
    • long long intlong long:至少64位的有符号整数。
    • 对应的无符号类型:unsigned short, unsigned int, unsigned long, unsigned long long
  2. 浮点型

    • float:单精度浮点数,至少能精确到6位小数。
    • double:双精度浮点数,通常比float更精确,至少能精确到10位小数。
    • long double:扩展精度浮点数,精度高于double
  3. 布尔类型

    • bool:只能取两个值,truefalse,在内存中通常占用1个字节。
  4. 字符类型

    • 如前所述,包括charsigned charunsigned char
  5. 空类型

    • void:不能代表任何值,主要用于函数返回类型、指针类型等特殊场合。

3、什么是枚举类型?它有什么作用?

枚举类型是一种用户自定义的整数类型,它允许程序员为一组相关的整数值定义有意义的名字。枚举类型定义了一个命名的整数集合,每个枚举成员都有一个唯一的整数值。枚举类型的用途在于增强代码的可读性和减少错误的可能性,因为它强制限定变量只能取预设的几个值。

例如:

enum Color { Red, Green, Blue };

在这个例子中,Color是一个枚举类型,它包含了三个枚举成员:RedGreenBlue。编译器会给这些枚举成员自动分配整数值(默认情况下从0开始递增),因此可以用整数操作枚举变量,但更推荐按名称使用它们。

4、请解释指针和引用之间的区别。

  1. 指针 是一种变量,它存储的是另一个变量的内存地址。指针本身需要初始化,并且可以更改所指向的内容,也可以改变指向其他变量。

    int x = 10;
    int* ptr = &x; // 指针ptr存储了变量x的地址
    *ptr = 20;    // 通过指针修改x的值
    ptr = nullptr; // 改变ptr指向其他地方或不再指向任何东西
    
  2. 引用 是现有变量的别名,一旦引用被初始化后,它就不能改变引用的对象。引用必须在声明时就被初始化,并且之后一直绑定到同一个对象。

    int y = 30;
    int& ref = y; // 引用ref与变量y绑定
    ref = 40;     // 通过引用修改y的值
    // 不能改变ref去引用其他变量,如:ref = new_int_variable; 这是不允许的
    

5、在C++中,如何声明一个指针?

在C++中,声明指针的基本语法是在变量名前加上星号 (*) 来表示这是一个指针变量,然后初始化时需要指定它指向的变量的地址。

例如:

int main() {
    int value = 5;
    int* ptrToInt; // 声明一个指向int类型的指针变量,此时未初始化
    ptrToInt = &value; // 初始化指针,使其指向变量value的地址
    return 0;
}
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值