10.23(整型、sizeof、实型、字符型、转义字符、三目运算符)

### 2.1 整型

**作用**:整型变量表示的是==整数类型==的数据

C++中能够表示整型的类型有以下几种方式,**区别在于所占内存空间不同**:

| **数据类型**        | **占用空间**                                    | 取值范围         |

| ------------------- | ----------------------------------------------- | ---------------- |

| short(短整型)       | 2字节                                           | (-2^15 ~ 2^15-1) |

| int(整型)           | 4字节                                           | (-2^31 ~ 2^31-1) |

| long(长整形)        | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 ~ 2^31-1) |

| long long(长长整形) | 8字节                                           | (-2^63 ~ 2^63-1) |

### 2.2 sizeof关键字

**作用:**利用sizeof关键字可以==统计数据类型所占内存大小==

**语法:** `sizeof( 数据类型 / 变量)`

**示例:**

```C++

int main() {

    cout << "short 类型所占内存空间为: " << sizeof(short) << endl;

    cout << "int 类型所占内存空间为: " << sizeof(int) << endl;

    cout << "long 类型所占内存空间为: " << sizeof(long) << endl;

    cout << "long long 类型所占内存空间为: " << sizeof(long long) << endl;

    system("pause");

    return 0;

}

### 2.3 实型(浮点型)

**作用**:用于==表示小数==

浮点型变量分为两种:

1. 单精度float

2. 双精度double

两者的**区别**在于表示的有效数字范围不同。

| **数据类型** | **占用空间** | **有效数字范围** |

| ------------ | ------------ | ---------------- |

| float        | 4字节        | 7位有效数字      |

| double       | 8字节        | 15~16位有效数字 |

**示例:**

 默认情况下,输出一个小数,会显示出6位有效数字

int main() {

	float f1 = 3.14f;
	double d1 = 3.14;

	cout << f1 << endl;
	cout << d1<< endl;

	cout << "float  sizeof = " << sizeof(f1) << endl;
	cout << "double sizeof = " << sizeof(d1) << endl;

	//科学计数法
	float f2 = 3e2; // 3 * 10 ^ 2 
	cout << "f2 = " << f2 << endl;

	float f3 = 3e-2;  // 3 * 0.1 ^ 2
	cout << "f3 = " << f3 << endl;

	system("pause");

	return 0;
}

### 2.4 字符型

- C和C++中字符型变量只占用==1个字节==。

- 字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元

常用字符型变量对应ASCII编码:a-97,A-65

ASCII 码大致由以下**两部分组**成:

* ASCII 非打印控制字符: ASCII 表上的数字 **0-31** 分配给了控制字符,用于控制像打印机等一些外围设备。

* ASCII 打印字符:数字 **32-126** 分配给了能在键盘上找到的字符,当查看或打印文档时就会出现。

### 2.5 转义字符

**作用:**用于表示一些==不能显示出来的ASCII字符==

"\n"

"\\"输出一个\

"\t"水平制表

### 2.6 字符串型

**C风格字符串**: `char 变量名[] = "字符串值"`

**C++风格字符串**:  `string  变量名 = "字符串值"`

> 注意:C++风格字符串,需要加入头文件#include<string>

### 2.7 布尔类型 bool

**作用:**布尔数据类型代表真或假的值

bool类型只有两个值:

* true  --- 真(本质是1)

* false --- 假(本质是0)

**bool类型占1个字节大小**只要非0的值都代表真

### 2.8 数据的输入

#### 4.1.2 三目运算符

**作用:** 通过三目运算符实现简单的判断

**语法:**`表达式1 ? 表达式2 :表达式3`

**解释:**

如果表达式1的值为真,执行表达式2,并返回表达式2的结果;

如果表达式1的值为假,执行表达式3,并返回表达式3的结果。

###if和switch区别?

switch缺点:判断只能是整型或者字符型,不可以是一个区间

switch优点:结构清晰,执行效率高

注意:case里如果没有break,那么程序会一直向下执行

###do...while和while区别?

do...while会先执行一次循环

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值