目录

1.数据类型概述

2.基本的内置类型

整型

实型(浮点型)

字符型

转义字符

字符串型

c风格的字符串

c++风格的字符串

布尔类型bool


1.数据类型概述

使用编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当创建一个变量时,就会在内存中保留一些空间。计算机是怎么知道这个内存空间应该开多大?因为可能存储各种数据类型(比如字符型、宽字符型、整型、浮点型、双浮点型、布尔型等)的信息,只有当明确指出当前变量或者常量的数据类型,操作系统会根据数据类型来分配内存和决定内存空间大小。

2.基本的内置类型

C++ 为程序员提供了种类丰富的内置数据类型和用户自定义的数据类型

整型

short2个字节

int 4字节

long 4字节(windos中4个字节Liunx的64位是8个字节)

long long 8字节

可以通过sizeof(数据类型或者变量)函数查看数据类型或者变量字节大小

#include <iostream>
using namespace std;

int main() {
	cout <<"short大小" << +sizeof(short)<<endl;
	cout <<"int大小" << + sizeof(int) << endl;
	cout <<"long大小" << + sizeof(long) << endl;
	cout <<"long long大小" << + sizeof(long long) << endl;
	return 0;
}

实型(浮点型)

用来描述小数,有单精度float(4字节)和double双精度(8字节)两种,区别在于两者精确范围不同

程序中如何定义

对于单精度如下,定义一个单精度数a=3.14,默认小数是double的,当我们使用float接收的时候会转成float,

所以最好定义的时候,在后面加个f,直接声明就是单精度数

但是在c++中默认,小数最多只能输出6位有效数字,(可以通过配置输出更多)

int main() {
	float a = 3.1415926f;
	double b = 3.1415926;
	cout << a;//输出3.14159
	cout << b;//输出3.14159
	return 0;
}

字符型

字符型变量用于存储单个字符,定义格式 char a='b';

注意:

1.显示字符型变量只能是单引号,不能是双引号

2.单引号里面只能有一个字符,不能有多个

3.c/c++中字符占一个字节

4.字符型变量只是将对应的ASCll编码放在内存中,并不是字符本身,可以通过下面程序知道

int main() {
	char a = 'c';
	cout << (int)a;//输出99
	return 0;
}

转义字符

表示一些不能显示的ASCll字符

转义字符

意义

ASCII码值(十进制)

\a

响铃(BEL)

007

\b

退格(BS) ,将当前位置移到前一列

008

\f

换页(FF),将当前位置移到下页开头

012

\n

换行(LF) ,将当前位置移到下一行开头

010

\r

回车(CR) ,将当前位置移到本行开头

013

\t

水平制表(HT) (跳到下一个TAB位置)

009

\v

垂直制表(VT)

011

\\

代表一个反斜线字符''\'

092

\'

代表一个单引号(撇号)字符

039

\"

代表一个双引号字符

034

\? 代表一个问号 063

\0

空字符(NULL)

000

\ddd

1到3位八进制数所代表的任意字符

三位八进制

\xhh

1到2位十六进制所代表的任意字符

二位十六进制

字符串型

用于表示一串字符,c++有以下两种用来表示字符串

c风格的字符串

#include <iostream>
using namespace std;

int main() {
	char a[] = "hell word";//格式 char 字符串名[]="字符串";
	cout << a;//hell word
	return 0;
}

c++风格的字符串

C++ 标准库提供了 string 类类型

#include <iostream>
#include <string>//c++字符串需要加上这个头文件
using namespace std;

int main() {
	string a = "hell word";//格式string a="字符串"
	cout << a;
	return 0;
}

布尔类型bool

bool用来表示真或假,占用内存空间为1字节,取值只有false和true

false表示假,本质是0

true表示真,本质是1(默认非0值都代表1)


int main() {
	bool flag = true;
	cout << flag;//1
	flag = false;
	cout << flag;//0
	return 0;
}

扫描 关注公众号 java一号。更重要的是小猿愿成为你编程路上的一个朋友!

文章首发地址: www.javayihao.top

首发公众号: java一号

C++入门到理解阶段二基础篇(3)——C++数据类型的更多相关文章

  1. C++入门到理解阶段二基础篇(8)——C++指针

    1.什么是指针? 为了更加清楚的了解什么是指针?我们首先看下变量和内存的关系,当我们定义了int a=10之后.相当于在内存之中找了块4个字节大小的空间,并且存储10,要想操作这块空间,就通过a这个变 ...

  2. C++入门到理解阶段二基础篇(6)——C++数组

    概述 C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合.数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量. 数组的声明并不是声明一个个单独的变量,比如 numbe ...

  3. C++入门到理解阶段二基础篇(5)——C++流程结构

    1.顺序结构 程序从上到下执行 2.选择结构(判断结构) 判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的). ​ C++ 编程 ...

  4. C++入门到理解阶段二基础篇(9)——C++结构体

    1.概述 前面我们已经了解到c++内置了常用的数据类型,比如int.long.double等,但是如果我们要定义一个学生这样的数据类型,c++是没有的,此时就要用到结构体,换言之通过结构体可以帮我们定 ...

  5. C++入门到理解阶段二基础篇(7)——C++函数

    目录 函数作用 函数定义 函数声明 函数调用 函数值传递 函数常见的样式 函数的分文件书写 函数作用 将经常使用的代码封装起来,减少重复代码 函数定义 C++ 中的函数定义的一般形式如下: retur ...

  6. C++入门到理解阶段二基础篇(4)——C++运算符

    目录 算术运算符(进行四则运算) 赋值运算符(表达式的值赋给变量) 比较运算符(表达是比较,返回一个真值或假值) 逻辑运算符(返回表格式的结果真或假) 位运算符 杂项运算符 C++ 中的运算符优先级 ...

  7. C++入门到理解阶段二基础篇(2)——C++注释、变量、常量、关键字、标识符

    目录 1.注释 注释作用 注释的方式 2.变量 变量基本知识 定义变量 3.常量 常量基本知识 整数常量 浮点常量 布尔常量 字符常量 字符串常量 常量定义 使用 #define 预处理器. 使用 c ...

  8. C++入门到理解阶段二基础篇(1)——简介与环境安装

    1.C++ 简介 C++ 是一种静态类型的.编译式的.通用的.大小写敏感的.不规则的编程语言,支持过程化编程.面向对象编程和泛型编程. C++ 被认为是一种中级语言,它综合了高级语言和低级语言的特点. ...

  9. C++入门到理解阶段二核心篇(1)——c++面向对象概述、内存分析、引用

    1.c++内存分区模型 c++程序在运行的过程中,内存会被划分为以下四个分区 代码区:程序的所有程序的二进制代码,包括注释会被放到此区 全局区:存放静态变量.全局变量.常量(字符串常量和const修饰 ...

随机推荐

  1. 菜鸟刷面试题(三、Redis篇)

    目录: redis是什么?都有哪些使用场景? redis有哪些功能? redis和memecache有什么区别? redis为什么是单线程的? 什么是缓存穿透?怎么解决? redis支持的数据类型有哪 ...

  2. mysql DDL 锁表

    mysql DDL 锁表 select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.i ...

  3. linux常用命令修改权限查看文档

    一.>和>>指令 >用于将执行结果写入后面的文件中: 把前方语句的结果存进文件,若文件不存在会自动创建 >:输出重定向 会覆盖原来文件内容 >>:追加重定向 ...

  4. java之类的构造方法

    构造器的特征: 具有和类相同的名称: 不声明返回值的类型: 不能被static.final.synchronized.abstract.native修饰,不能有return语句返回值: 构造器的作用: ...

  5. 阿里钉钉技术分享:企业级IM王者——钉钉在后端架构上的过人之处

    本文引用了唐小智发表于InfoQ公众号上的“钉钉企业级IM存储架构创新之道”一文的部分内容,收录时有改动,感谢原作者的无私分享. 1.引言 业界的 IM 产品在功能上同质化较高,而企业级的 IM 产品 ...

  6. Comet OJ - Contest #10 B题 沉鱼落雁

    ###题目链接### 题目大意:有 n 个正整数,每个正整数代表一个成语,正整数一样则成语相同.同一个正整数最多只会出现 3 次. 求一种排列,使得这个排列中,相同成语的间隔最小值最大,输出这个最小间 ...

  7. Linux系统:centos7下搭建Nginx和FastDFS文件管理中间件

    本文源码:GitHub·点这里 || GitEE·点这里 一.FastDFS简介 1.基础概念 FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件上传 ...

  8. PAT 1013 Battle Over Cities DFS深搜

    It is vitally important to have all the cities connected by highways in a war. If a city is occupied ...

  9. Spring注解式AOP面向切面编程.

    1.AOP指在程序运行期间动态的将某段代码切入到指定方法指定位置进行运行的编程方式.aop底层是动态代理. package com.bie.config; import org.aspectj.lan ...

  10. Selenium(五):CSS选择器(二)

    1. CSS选择器 1.1 选择语法联合使用 CSS selector的另一个强大之处在于:选择语法可以联合使用. html代码: <div id='bottom'> <div cl ...