数据类型

一、整型

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

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

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

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

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

long(长整型) Windows为4字节 -2^31~2^31-1

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

注:可以利用sizeof求出数据类型占用内存大小

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

#include <iostream>
using namespace std;
int main()
{
  int n=1;
  cout<<"int占用内存空间为:"<<sizeof(int)<<endl;
  cout<<"int占用内存空间为:"<<sizeof(n)<<endl;
return 0;
}

二、实型(浮点型)

作用:用于表示小数

浮点类型变量分为两种:

1.单精度float

2.双精度double

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

数据类型 占用字节 有效数字范围

float 4字节 6~7位有效数字

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

一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。

如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。

eg:float a = 1.24546f;

科学计数法:

float f1=3e2=3*10^2;

float f2=3e-2=3*0.1^2;

三、字符型

作用:字符型变量用于显示单个字符。

语法:char 变量名称='字符';

例:char ch='a';

注意:

1.在显示字符型变量时,用单引号将字符括起来,不要用双引号。

2.单引号内只能有一个字符,不可以是字符串。

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

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

char ch1 = 'a';
char ch2 = 'A';
cout << ch1 << (int)ch1<<endl;
cout << ch2<<(int)ch2<< endl;

大写英文字母和小写英文字母的ASCII编码并不同

#include <iostream>
int main()
{
  char chr1;
  scanf("%c",&chr1);
  printf("%c",chr1-32);
  return 0;
}

四、转义字符

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

(来源:百度百科)

五、字符串型

作用:用于表示一串字符。

1.C风格字符串:

语法:char 变量名 []="字符串值";

示例:

char str1[]="hello world";
cout<<str1<<endl;

注意:C风格字符串要用双括号

2.C++风格字符串

语法: string 变量名="字符串值";

示例:

#include <iostream>
#include <string>
using namespace std;
int main()
{
  string str2="hello world";
  cout<<str2;
  
return 0;
}

注意:在使用C++风格字符串时要包含#include <string>头文件。

六、布尔类型 bool

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

bool类型只有两个值:

  • true ---真(本质是1)
  • false ---假(本质是0)

bool类型占1个字节

bool flag=true;
cout<<flag<<endl;
flag =false;
cout<<flag<<endl;
return 0;
全部评论

相关推荐

没想到外企的面试压力这么大,直接1v4问了一个小时。--------------------------------第一位面试官自我介绍项目问一些c++和python的问题吧c++11&nbsp;新标准有哪些c++11&nbsp;for&nbsp;range遍历有哪两种智能指针,几种智能指针的底层实现,shared_ptr是线程安全的吗,weak_ptr是为了解决什么问题c++有哪些容器unordered_map的底层实现,插入删除查找的复杂度是多少,什么时候会退化成o(logn),什么时候会二次哈希?移动语义和完美转发,实现的原理左值和右值的区别,左值引用和右值引用的区别右值引用是左值还是右值c++&nbsp;override&nbsp;overwrite&nbsp;overload的区别python的装饰器python的深拷贝和浅拷贝python如何去除重复元素-----------------------------------第二位面试官问你一些操作系统的问题吧介绍一下虚拟化技术怎么实现的并发以及内存分页的技术线程间的通信中断和异常死锁发生的条件,怎么解决死锁问题perf火焰图怎么看内存泄漏怎么排查core&nbsp;dump怎么排查-----------------------------------第三位面试官问了有什么算法项目介绍一些yolov5项目中yolov5使用的模型大小是多少yolov5的head部分和yolov3有什么区别介绍一下transformerattention公式为什么要除根号dkq和k相乘的含义transformer和CNN在目标检测中有什么相同和不同点----------------------------------第四位面试官也问了一些深度学习的八股bevformer的实现,如何聚合6张图片的特征到bev下相机的内参和外参多卡训练经验有吗,gpu占用率低和显存占用率低分别是什么原因导致的deformable&nbsp;detr的原理,和detr的区别deformable&nbsp;conv的原理,解决什么问题大模型了解哪些,之前实习有过什么应用端到端算法和分模块的自动驾驶算法的各自的优劣uniAD的实现原理,如何实现上层信息的聚合和传递智力题:一根木头切成三段,能构成三角形的概率智力题:n条直线最多把一个平面分成多少份---------------------------------大部分答出来了,yolo很久没怎么看了回答的有点卡,是不是外企的考察范围都这么广,从c++到操作系统到深度学习还有智力题#软件开发笔面经#
求求你别挂我了😭:我超了1v4,这么狠啊,哥们直接舌战群儒。
查看39道真题和解析 软件开发笔面经
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务