文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C++ Primer的变量和基本类型详解

2024-04-02 19:55

关注

1.类型转换

对象的类型定义了对象能包含的数据和能参与的运算,其中一种运算被大多数类型支持,就是将对象从一种给定的类型转换为另一种相关类型。
比如

unsigned char c = -1   // 假设char占8比特,结果为255
                       // -1 的二进制表示为 11111111 化为十进制为255 

当程序在某处使用了一种算术类型的值单数所需要的是另外一种类型的值时,编译器便会执行类型转换。

含有无符号类型的表达式

当一个算数表达式中既有无符号数又有int值时,int值会转换成无符号数(如果表达式中既有带符号类型又有无符号类型,带符号数会自动地转换成无符号数):

unsigned u = 10;                 // unsigned 为 unsigned int简写
int i = 42;
std::cout << u + i << std::endl;  // 若int占32位,输出为4294967264

注意:无符号数不会小于零,以下for循环为死循环

for(unsigned u = 10;u>=0;--u)
    std::cout << u << std::endl;

2.字面值常量

形如42的值被称为字面值常量,每个字面值常量都对应一种数据类型,字面值常量的形式和值决定了它的数据类型。

整形和浮点型字面值

整型字面值可以写成。

20      024       0x14 

整型字面值具体的数据由它的值和符号决定,(尽管整型字面值可以存储在带符号数据类型中,但严格来说,十进制字面值不会是负数,因为符号不在字面值之内,它的作用仅仅是对字面值取负值而已)

浮点型字面值表现为一个小数或科学计数法表示的指数,其中指数部分用E或e标识(3.14159,3.14159E0)

字符和字符串字面值

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

'a'
"Hello world!"

字符串字面值的类型实际上是由常量字符构成的数组,编译器在每个字符串的结尾处添加一个空字符(’\0’),因此,字符串字面值的实际长度要比它的内容多一。

小技巧:若两个字符串位置紧邻且仅由空格、缩进和换行符分隔,它们实际上是一个整体:

std::cout << "a really, really long string literal "
             " that spans two lines " << std::endl;

转移序列

在C++中有两类字符程序员不能直接使用:

第一类是不可打印的字符,如退格或其他控制字符,因为它们没有可视的图符;

第二类式C++语言中有特殊含义的字符。

指定字面值的类型

通过添加前缀或者后缀,可以改变整型、浮点型和字符型字面值的默认类型。

u8"hi!"    // utf-8字符串字面值
1E-3F      // 单精度浮点型字面值,类型是float
3.14159L   // 扩展精度浮点型字面值,类型为long double

布尔字面值和指针字面值

truefalse是布尔类型的字面值;

nullptr是指针字面值。

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯