C++数据表达与处理

  

数据表达与处理

  1. 一个内存单元占用8位(bit/比特)内存空间。

1字节(byte)=8位(bit) 1byte=8bit  1KB=1024B

 一、 sizeof运算符: 计算圆括号内数据类型或变量所占用内存大小(Byte)。对类型名(如int)使用sizeof运算符时,应将名称放在括号中,但对变量名(如n_short)使用该运算符时,括号是可选的。

\t:水平制表符,跳到下一个tab位(空格个数=|n-8|%8, n为\t前字符占位)

\r:输出回到本行行首,并覆盖之前的输出。“hello world!\rxxx” à”xxxlo world!”

\n:换行符

\v:垂直制表符

\f:换页

二、整数直接常量

  1. 十进制整数
  2. 长整数。在整数后加L或l,如123L、-98l等。
  3. 无符号整数。在整数后加U(u),如123U、-98u
  4. 十六进制整数。由0 1 2 3 … D E F组成(不分大小写)。在数值前加0x或0X,如0X2a、0xFFFF,cout用16进制整数输出内存地址。
  5. 八进制整数。在整数前加数字0, 如010为八进制数。a浮点数直接常量

小数形式。如0.123, .123, 8.0, 8. 等。若整数或小数为0可省略不写,如省略小数部分,小数点一定要保留,否则不是浮点数而是整数。

指数形式。数字和指数构成,如1.23e3、0.123e4、123E-2

a.字符直接常量

一对单引号括起来的一个字符,如‘A’ ‘5’ ‘%’ ‘_’

b.字符串直接常量

用一对双引号括起来的字符串,串的结尾有’\0’字符

c.符号常量

用编译器预处理命令#define定义的宏。在编译前,它被预处理器替换为一串字符,又称宏替换。(代码中应采用变量或常量,不要直接使用具体的数据值)

C\C++表达式只能用圆括号(可多层嵌套)、方括号(数组)、花括号(复合类型、函数体等)

三、数据类型转换

  1. 自动类型转换(化异为同,低精度类型向高精度类型转换);

整型升级:char和short    只要参与运算就自动升级为int,bool自动升级为unsigned int,其值为0、1;不同类型混合运算:系统自动将不同类型先转换为同一类型,即表达式中最高精度类型。系统自动将float转换为double,浮点数值常量也是double。

     2. 强制类型转换

在待转换对象前加上类型名(如double,int),类型名两端有圆括号(C语言),也可省略(C++),待转换对象可以是表达式、变量或常量。

格式:(typename) value //C

Typename (value) //C++  => static_cast<typename> (value)

如:

  float d1=2.5; int d2=2;

   int d3=int(d1*d2); //这里将表达式的结果转换为int型(5)

   double d4=(int)d1*d2; //这里将d1转换为int再计算(4)

C.初始化和赋值进行的转换

将0赋给bool变量时将被转换为false,而非零值将被转换为true。

D.以{ }方式初始化时进行的转换 char x {66};

列表初始化不允许缩窄,即变量的类型可能无法表示赋给它的值。

  1. 表达式中的转换

整型级别高低 long long > long >int >short >signed char

      2.传递参数时的转换

自增运算符(仅用于变量)

++i、--i :前置(前缀)操作符 k2=++k1等价于k1=k1+1;k2=k1;

i++、i++ :后置(后缀)操作符 k2=k1++ 等价于k2=k1;k1=k1+1;

  1. 组合赋值表达式

左端□=右端 等价于 左端=左端□(右端)

  X+=3 等价于 x=x+3

  M%=2 等价于 m=m%2

  X*=y+1 等价于 x=x*(y+1)

    逗号运算符“,”   表达式1,表达式2,… ,表达式n 说明:从左到右依次计算表达式1~n,将n的结果作为整个逗号表达式的结果。eg:a=5, b=10, c=a+b  //c=15

  1. 在初始化声明中,若使用关键字auto,而不是指定变量类型,编译器讲把变量的类型设置成与初始值相同。Auto x = 0.0; //x为double型
  2. wchar_t类型是一种整数类型,它有足够空间,可表示系统使用的最大扩展字符集。处理wchar_t流—wcin/wcout.

(无符号)char 16_t ch1 = u’q’ ; //用前缀u表示16位char16_t字符(串)常量

(无符号)char32_t ch2 = U’/U0000222B’ ; //用前缀U表示32位char32_t字符(串)常量

四、数据类型

整型类型(占用字节):

bool(1) < char(1) < signed char(1) < unsigned char(1) < short(2) < unsigned short(2) < int(4) < unsigned int(4) < long(4) < unsigned long(4) < long long(8) < unsigned long long(8)

浮点类型(占用字节):

 float(32) < double(64) < long double(80~120) (short至少为16位,int至少与short一样长,long至少为32位且至少和int一样长)

  1. 成员函数cout.put()

类:istream/ostream 对象:cout

通过对象(cout)使用成员函数,须用句点将对象名和函数名称(put())连接起来;句点被称为成员运算符。即 cout.put()通过类对象cout来使用函数put( ),它提供了另一种显示字符的方法,可替代<<运算符。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zhugenmi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值