CH02_数据类型


数据类型

整型

描述:整型变量表示的是整型类型的数据,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

示例

#include <iostream>
using namespace std; //入口函数
int main() { //短整型范围:-32768 ~ 32767
short num1 = 10;
short num1_2 = 32769;//实际为-32767(超出范围自动回环) //整型范围:-2,147,483,648 ~ 2,147,483,647
int num2 = 10; //长整型范围:-2,147,483,648 ~ 2,147,483,647
long num3 = 10; //长长整型范围:-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
long long num4 = 10; cout << "num1_2:" << num1_2 << endl; system("pause"); return 0;
}

sizeof关键字

作用:统计数据类型所占空间大小

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

示例:

#include <iostream>
using namespace std; //入口函数
int main() { int num = 10; cout << "short:" << sizeof(short) << endl;
cout << "num:" << sizeof(num) << endl;
cout << "int:" << sizeof(int) << endl;
cout << "long:" << sizeof(long) << endl;
cout << "long long:" << sizeof(long long) << endl; system("pause"); return 0;
}

实型(浮点型)

作用:用于表示小数。

浮点型变量分为两种:

1.单精度浮点型float

2.双精度浮点型double

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

数据类型 占用空间 有效数字范围
float 4字节 7位有效数字
double 8字节 15~16位有效数字

示例:

#include <iostream>
using namespace std; //入口函数
int main() { //默认情况,显示一个小数,会显示6位有效数字
float num1 = 3.1415926f;
float num1_2 = 314.15926f;
double num2 = 3.123456789123456789;
double num2_2 = 312.3456789123456789; //输出结果:3.14159
cout << "num1:" << num1 << endl;
//输出结果:314.159
cout << "num1_2:" << num1_2 << endl; //输出结果:3.12346
cout << "num2:" << num2 << endl;
//输出结果:312.346
cout << "num2_2:" << num2_2 << endl; //科学计数法
float f1 = 3e2; //3*10^2
float f2 = 3e-2;//3*0.1^2 cout << "f1:" << f1 << endl; //300
cout << "f2:" << f2 << endl; //0.03 system("pause"); return 0;
}

字符型

作用:用于存储单个字符

语法:char sex='A';

特点:

1.C和C++中的字符型变量只占用一个字节

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

3.一个汉字占两个字节,无法用char型存储

示例:

#include <iostream>
using namespace std; int main() { //字符型变量的定义
char ch = 'A';
cout << ch << endl; //字符型变量所占内存大小
cout << "占用空间:" << sizeof(char) << endl; //字符型变量对应的ASCII码
cout << "ASCII:"<<(int)ch << endl; //常见错误
//char a = "a";
//char b = 'abc'; system("pause");
return 0;
}

转义字符

作用:用于表示一些不能显示出来的ASSCI码

#include <iostream>
using namespace std; int main() { // \n:换行
cout << "hello\nworld" <<endl; // \t:制表符
cout << "hello\tc++" << endl; // \\:反斜杠
cout << "hello\\c" << endl; system("pause");
return 0;
}

字符串型

作用:用于表示一串字符

两种风格:

1.C风格字符串: char 变量名[] ="字符串值";

2.C++风格字符串:string 变量名="字符串值";

示例:

#include <iostream>
using namespace std; int main() { //C风格字符串
char str1[] = "hello c";
cout << "str1:" << str1 << endl; //C++风格字符串
string str2 = "hello c++";
cout << "str2:" << str2 << endl; system("pause");
return 0;
}

布尔型

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

bool类型只有两个值:

true:真(本质是1)

false:假 (本质是0)

示例:

#include <iostream>
using namespace std; int main() { bool flag = false; //输出结果:0
cout << "flag:" << flag << endl; //占用空间:1
cout << "占用空间:" << sizeof(flag) << endl; system("pause"); return 0;
}

数据的输入

作用:用于从键盘获取数据

关键字:cin

语法:cin >> 变量

示例:

#include <iostream>
using namespace std; int main() { //1.整型输入
int a = 0;
cout << "请输入一个整数:" << endl;
cin >> a;
cout << "输入的整数为:" << a << endl; //2.浮点型输入
double b = 0;
cout << "请输入一个小数:" << endl;
cin >> b;
cout << "输入的小数为:" << b << endl; //3.字符型输入
char c = ' ';
cout << "请输入一个字符:" << endl;
cin >> c;
cout << "输入的字符为:" << c << endl; //4.字符串输入
string d = "";
cout << "请输入一个字符串:" << endl;
cin >> d;
cout << "输入的整数为:" << d << endl; //bool型输入
bool e = false;
cout << "请输入一个bool型数据:" << endl;
cin >> e;//赋值时:1为true,0为false,默认为false
cout << "输入的bool型值为:" << e << endl; system("pause"); return 0;
}

CH02_数据类型的更多相关文章

  1. JavaScript 中的数据类型

    Javascript中的数据类型有以下几种情况: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Function,Date,Ar ...

  2. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

  3. Python高手之路【二】python基本数据类型

    一:数字 int int(整型): 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值 ...

  4. UniqueIdentifier 数据类型 和 GUID 生成函数

    UniqueIdentifier 数据类型用于存储GUID的值,占用16Byte. SQL Server将UniqueIdentifier存储为16字节的二进制数值,Binary(16),按照特定的格 ...

  5. SQL Server常见数据类型介绍

    数据表是由多个列组成,创建表时必须明确每个列的数据类型,以下列举SQL Server常见数据类型的使用规则,方便查阅. 1.整数类型 int 存储范围是-2,147,483,648到2,147,483 ...

  6. 由js apply与call方法想到的js数据类型(原始类型和引用类型)

    原文地址:由js apply与call方法想到的js数据类型(原始类型和引用类型) js的call方法与apply方法的区别在于第二个参数的不同,他们都有2个参数,第一个为对象(即需要用对象a继承b, ...

  7. python 数据类型 ----字典

    字典由一对key:value 组成的 python中常用且重量级的数据类型 1. key , keys, values 字典由一对key:value 组成的 python中常用且重量级的数据类型 1. ...

  8. SQL数据类型

    1.Character 字符串: 数据类型 描述 存储 char(n) 固定长度的字符串.最多8,000个字符. n varchar(n) 可变长度的字符串.最多8,000个字符.   varchar ...

  9. 跟着老男孩教育学Python开发【第二篇】:Python基本数据类型

    运算符 设定:a=10,b=20 . 算数运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**3 ...

  10. 我的MYSQL学习心得(二) 数据类型宽度

    我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) 数据类型 我的MYSQL学习心得(五) 运 ...

随机推荐

  1. 基于 .NET CORE + VUE 前后端项目打包,实现批处理安装,一键部署

    2023年7月18日 目前基于已完成了基于WPF界面的全自动部署小工具 自动判断相关.net core环境和依赖,自动部署mysql数据库,自动部署前后端web服务的功能. 有疑问的可以直接评论. - ...

  2. ansible(1)---师傅领进门

    背景 在企业里,运维需要配合开发进行产品上架,说白了就是把写好的代码上服务器.那么,就会出现这样的问题:需要运维人员配置好系统,配置好环境,配置好网络,配置好程序,配置好所有所有的依赖环境.     ...

  3. [ABC184F] Programming Contest题解

    前置知识 meet in middle (折半搜索) 会的大佬请跳过 不会的请自己前往oi wiki或CSDN(百度吧,少年) 解题思路 纯暴力 看完题目考虑将每一种情况计算出来,排序后找不超过T的最 ...

  4. Linux内存不够了?看看如何开启虚拟内存增加内存使用量

    1.为什么要使用虚拟内存 当我们没有多余的钱去购买大内存的云服务器时,但是当前服务器里面的软件和程序运行的比较多导致内存不够用了.这个时候可以通过增加虚拟内存来扩大内存容量.但是在启用虚拟内存时,需要 ...

  5. ABP框架开发实例教程-获取前端样式和脚本

    1.运行生成的ABP框架,设置WEB.MVC项目为启动项目,点击开始运行,界面如下,样式和脚本文件不存在,所以导致界面无法正常显示,这个我研究ABP遇到的第二个坑,第一个坑是生成数据库. 2.为什么没 ...

  6. DarkHole_1靶机渗透流程

    VulnHub_DarkHole1靶机渗透流程 注意:部署时,靶机的网络连接模式必须和kali一致,让靶机跟kali处于同一网段,这用kali才能扫出靶机的主机 1. 信息收集 1.1 探测IP 使用 ...

  7. acwing 875

    acwing875 题目大意:快速幂模板题 Train of thought 此题如果采用暴力的做法时间复杂度为0(n*b); n为样例的数目,b是幂 我们想要优化暴力的做法,首先样例的数量是没有办法 ...

  8. Java-Spring JDBC初体验操作数据库

    Spring JDBC * Spring框架对JDBC的简单封装 提供了一个JDBCTemplate对象简化JDBC的开发 步骤 导入jar包 创建JDBCTemplate对象,依赖于数据源DataS ...

  9. 轻松掌握useAsyncData获取异步数据

    title: 轻松掌握useAsyncData获取异步数据 date: 2024/7/12 updated: 2024/7/12 author: cmdragon excerpt: 摘要:本文详细介绍 ...

  10. 云服务器安装宝塔Linux面板教程(建议收藏)

    ​ 一.简介 宝塔面板是一款简单好用的服务器运维面板.它支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能.对于新手用云服务器来建站的话,宝塔面板是一个非 ...