C++ 学习笔记之(2)-变量、类型和限定符

本文详细介绍了C++中的变量、数据类型和const限定符的概念。讲解了无符号和带符号类型的区别,以及类型转换可能带来的问题。探讨了字面值常量的类型,如整型、浮点型、字符和字符串字面值,并讨论了变量的定义、声明和初始化。此外,还介绍了引用和指针,特别是const引用和指针与const的结合使用,以及constexpr和常量表达式在C++中的应用。
摘要由CSDN通过智能技术生成

C++ 学习笔记之(2)-变量、类型和限定符

注释

C++中有两种注释

  • 单行注释:双斜线//开始,以换行符结束,可以包含任何文本,比如额外的双斜线
  • 多行注释:界定符界定,以/*开始,以/*结束,可以包含除*/外的任意内容,包括换行符。

注意:注释界定符不能嵌套,否则会发生错误

数据类型

C++提供了一组内置数据类型,程序员也可以定义自己的数据类型,即类类型。基本数据类型包括算数类型和控类型。算数类型又分为两类:整形和浮点型。

basic_data_type

  • 基本的字符类型char可以存放机器基本字符集中任意字符对应的数值,故char类型通常一个字节,其他字符类型用于扩展字符集,比如wchar_t用来确保存放机器最大扩展字符集中的任意字符,比如汉字等。char16_tchar32_tUnicode字符集服务。
  • 除字符和布尔类型外,其他整型用于表示不同尺寸的整数,short <= int <= long <= long long, long longC++11新特性。
  • 浮点型可表示单精度、双精度和扩展精度值,即float, doublelong double
  • bool类型表示真值 truefalse。可以将算术类型的任何值赋给 bool 对象。0值算术类型代表 false,任何非 0 的值都代表true

无符号类型和带符号类型

除去布尔型和扩展字符型外,其他整形可以分为带符号无符号类型。

  • 带符号类型表示正数、负数和0无符号类型仅能表示大于等于0的值。

  • 类型intshort等为带符号类型,前面加unsigned表示无符号类型。类型unsigned int可以缩写为unsigned

  • 执行浮点数运算选用double,因为float通常精度不够,且两者计算代价相差无几。

类型转换

对象的类型定义了对象包含的数据和能参与的运算,大多数类型都支持类型转换,即比如给某类型对象赋值其他类型值,会自动进行类型转换。

  • 若赋给无符号类型一个超出范围的值时,结果是初始值对五福哈类型表示数值总数取模后的余数。比如-1赋值给unsigned char类型即表示区间为0 - 255, 结果为255
  • 当赋值给带符号类型一个超出表示范围的值时,结果是未定义的。
  • 切勿混用带符号类型和无符号类型,因为带符号类型会自动的转换成无符号类型。

字面值常量

形如42的值被称为字面值常量,字面值常量的形式和值决定了它的数据类型

整形和浮点型字面值
  • 整型字面值可以是十进制数、八进制数或者十六进制数的形式,以0开头的整数代表八进制数,以0x0X开头的代表十六进制数。
  • 整型字面值的具体类型由值和符号决定。默认十进制字面值为无符号数,其他不确定。十进制字面值的类型是intlonglong long中能容纳下当前值最小的那个。八进制和十进制字面值的类型是容纳其数值的无符号类型的最小者,即intunsigned int
  • short没有对应字面值
  • 默认浮点型字面值是一个double,表现为一个小数或以科学计数法表示的指数,其中指数部分用Ee标识
字符和字符串字面值

由单引号括起来的一个字符成为char型字面值,双引号括起来的零个或多个字符为字符串型字面值。

  • 字符串字面值的类型实际上是由常量字符构成的数组,结尾处添加一个空字符\0,故实际长度比内容多1

  • 有两类字符不能直接使用,分别是不可打印字符,比如退格或其他控制字符;另一类是C++中有特殊含义的字符比如单引号、问号等。可以使用转义序列。

  • 两个相邻的字符串字面值若仅由空格、缩进和换行符分割,则他们实际为一个整体。比如某字符串字面值较长,可分开书写在多行

    std::cout << 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值