C++数据存储、表示形式和基本运算

本文回顾了C++编程的基础知识,涵盖了字符常量与字符串常量的定义、存储方式以及转义字符的概念。强调了字符常量的ASCII码存储和字符串常量的结束标志''。还讨论了符号常量#define与const常变量的区别,并介绍了强制类型转换运算符和赋值过程中的类型转换规则。

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

目录

前情提要

字符常量

普通字符

转义字符

存储方式

字符串常量

符号常量

常变量

强制类型转换运算符

赋值过程类型转换


前情提要

由于又开始学编程语言,就一些关于C++的比较常用的知识点记录下,用来回忆C/C++的编程规则。

字符常量

普通字符

字符常量只包括一个字符,如'a'这样的是字符常量,'AB'这样就不是字符常量。

字符常量区分大小写,'a'与'A'是两个字符。

转义字符

以'\'开头的特殊字符。例如'\n',转移字符通常包含两个及以上的字符,但它只代表一个字符,在内存中只占1个字节。

如果要让'\n'输出了话,需要在转移字符前加"\"

cout<<"\\n"<<endl;

输出:\n

存储方式

字符常量存放在内存单元时,是将该字符对应的ASCII码放到存储单元。例如存放'a'的存储单元,里面存储的是对应的ASCII码值97。

字符串常量

字符串常量“abc”在内存中占4个字节(而不是3个字节),原因是编译系统会在字符串最后自动加上一个'\0'作为字符串结束标志,存储内容就变成了

存储内容
abc\0

cout<<"abc"<<endl;

输出:abc

而不是abc\0。

字符常量'a'会比字符串常量“a”少一个字节,前者有1个字节,后者2个字节。

字符串常量"abc\n",占4个字符,占5个字节。

符号常量

#define PRICE 30

预定义一个字符串"PRICE"的值为30,将define范围内的所有PRICE全部替换成30,并且后期无法对PRICE进行再次赋值。

常变量

const

这个跟C语言又不一样了。

在定义变量时,如果加上关键字const,则变量的值在后期不能改变(再次赋值),这种变量称为常变量。

const int a=3;
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

也可以用表达式

const int a=3+6;
wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==
#define与const的区别
没有内存有内存空间
可以用sizeof测出其长度
没有类型有类型

两者实现方法不同,但使用效果相同,可以认为一个标识符代表一个常量。

强制类型转换运算符

c语言中有

(类型名)(表达式)

(类型名)变量

例如:(int)(x+y);

           (int)x;

c++语言继承了c语言的强制类型转换,再额外增加了一种:

类型名(表达式)

类型名(变量)

例如:int(x+y);

           int(x);

赋值过程类型转换

需要注意的是将一个int,short或long型变量,只将其低8位原封不动地送到char型变量。

例如:

short int i=289;

char c;

c=i;

赋值情况:

i=289      0000 0001          {0010 0001}

                                 c=33   0010 0001       传递低8位给c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王陈锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值