网站首页 > 技术文章 正文
一、C++中常见的数据类型
生活中,我们经常可以见到一些分类的情况,比如图书馆中书架上的书的分类,可以分成科幻类、小说类、文学类等等,方便人们进行寻找。对于计算机而言,将数据划分为了整型、浮点型、布尔型、字符型等数据类型,要把一个数据存储到计算机中,首先要开辟一个存储的空间,就必须要对这个空间存储的是什么类型的数据,做一个明确的说明。方便计算机进行数据处理。
常见的数据类型有:short(短整型)、int(整型)、longlong(长整型)、float(单精度浮点型)、double(双精度浮点型)、bool(布尔型)、char(字符型)等
二、变量
1、变量的概念
表示计算机中可以存储数据或者存储计算结果的抽象概念。变量的本质是存储空间,存储空间中存储的值可以被改变。
为了方便计算机进行处理和人们操作,往往需要给变量起一个名字,起名字也很讲究,比如国人给孩子起名字的时候,一般都是以父母的姓氏开头,然后再加上孩子的名字。对于计算机而言,起名也很讲究,必须符合计算机起名的规则,把这种规则叫做标识符命名规则,也叫变量命名规则。
2、变量的命名规则
变量的命名规则如下:
- 只能是数字、字母、下划线(_)的组合
- 不能以数字开头
- 不能是C++的关键字(比如int,cout等)
- 变量名区分大小写
- 同一作用域下不能冲突或者重复
建议:变量名命名时最好见名知意。比如求和的变量名为sum。变量命名时最好不要以下划线(_)开头。
3、声明变量
声明变量又叫做定义变量,变量必须先定义才能使用,这是前提。
声明变量格式:数据类型 变量名1,变量名2,变量名n;
首先要对变量要存储的数据进行数据类型说明,变量一旦定义后,变量中存储的数据类型不会被改变,数据类型和变量名之间用一个空格分开,多个变量之间使用一个英文半角逗号隔开,最后要以分号结尾。
例:int a,b,c;
int sum;
4、赋值运算符 =
要想让变量中存储数据,必须对变量进行赋值,赋值需要使用赋值符号=来操作,注意这里的=表示赋值操作,表示给变量存储数据的过程,不是数学中等于的意思。
例:
int a,b,c;
a = 3;
b=4;
c=4.5;
cout << c;
注意:这里的int是整型,c=4.5是将4.5放到c这个存储空间里,但是c是整型,只能存储整数,所以这里的c只能存4.5中的整数据部分,也就是4而不是4.5。
当然也可以直接在声明变量的时候,直接对变量进行赋值,把这种赋值方式称为变量的初始化.要想把存储在变量中的值输出,可以通过cout来实现,例:
int a =3, b=4, c=5;
cout << a << endl;
cout << b << endl;
cout << c << endl;
输出结果分为3行,每行一个数据,第一行为3,第二行为4,第三行为5.
注意:同一个变量多次被赋值时,变量的值以最后一个为准。
5、变量的运算
变量不仅可以被赋值,还可以参与某些算术运算,比如对变量进行自增。
例:
int num = 1;
num = num + 2;
cout << num;
变量num初始化为1,执行 num=num+2; 后,这句代码实际上可以理解为三个步骤,第一步先将num中存储的数字1取出来,第二步将取出来的数字1加上数字2后,结果变为了3。第三步将数字3重新赋值给num这个变量。此时变量num中存储的值是3。当使用cout打印输出num的值时,结果显示为3。
多个变量之间也可以相互进行算术运算。
例:
int a,b,c;
a=1;
b=2;
c=3;
c=c+a+b;
cout << c;
在这个段程序中,执行c=c+a+b; 需要将c,a,b这三个变量中存储的值取出来,然后进行计算得到结果为6,然后将6重新赋值给变量c,此时变量c存储的结果为6。输出变量c的值也就是6。
通过这段程序,我们发现每次赋值符号的左侧都只有一个变量,这也是需要非常注意的地方,赋值符号左侧有且只能有一个变量。赋值符号的右侧可以是数字,算术表达式,也可以是含变量的表达式等。
三、项目示例
1、时间换算,题目描述如下图:
解析:要计算31天有多少小时,多少分钟,多少秒钟,可以用乘法直接输出,如下:
cout << 31*24 << "小时" <<endl;
cout << 31*24*60 << "分钟" <<endl;
cout << 31*24*60*60 << "秒" <<endl;
但是我们发现这里的31是高度重复的一个数值,并且如果我们要计算20天的数据时,我们需要改3个地方,因此为了避免这种情况,我们先声明一个变量day,并将31赋值给day,再用变量day进行计算,代码如下:
int day = 31;
cout << day*24 << "小时" <<endl;
cout << day*24*60 << "分钟" <<endl;
cout << day*24*60*60 << "秒" <<endl;
这样如果我们需要计算20天的数据,我们只需要更改day的值即可。
具体体代码及输出结果如下:
2、图案数量换算,具体题目描述如下:
解析:根据题目可知,圆=5倍的三角形,正方形=三角形除以2。
定义变int n=5000,代表有5000个三角形。圆的数量为 5*n,正方形的数量为n/2。
代码及输出结果如下:
3、神密密码,题目描述如下:
解析,这个是一个定义新运算的题。在五年级的浅奥中有涉及。也就是说计算出来新运算的值以后,再乘123就是神密密码。也就是将a=9,b=28代入新运算,再乘123,得出结果。
int a = 9, b=28;
int c;
c=(17*a+7*b)-11
cout << "神密密码为" << c*123;
具体代码及输出结果如下:
4、折纸,具体题目描述如下图,
解析:初始厚度为1,我们可以声明一个变a,并初始化 int a =1;
第一次折叠:a= a *2;
cout << "第一次折叠厚度为:" << a << endl;
第二次折叠:a= a *2;
cout << "第二次折叠厚度为:" << a << endl;
第三次折叠:a= a *2;
cout << "第三次折叠厚度为:" << a << endl;
具体代码及输出结果如下:
5、细胞分裂,具体题目描述如下:
解析:
声明变量并初始化,int a = 10;代表初始细胞数量为10个。
第一代剩余的细胞数量为:a = a * 2 - 5;
第二代剩余的细胞数量为:a = a * 2 - 5;
第三代剩余的细胞数量为:a = a * 2 - 5;
具体代码及输出结果为:
今天的内容就分享到这里啦!
别忘了“关注”我呀,我会持续更新哒!
- 上一篇: C++ 值简述_c++数值
- 下一篇: C++ 20 新特性(2):支持位段类型的类成员的直接初始化
猜你喜欢
- 2025-09-03 C++11新特性总结 (二)_c++20新特性
- 2025-09-03 EasyC++19,C++中的for循环_c++中foreach循环的用法
- 2025-09-03 C++ 20 新特性(2):支持位段类型的类成员的直接初始化
- 2025-09-03 C++ 值简述_c++数值
- 2025-06-10 C++函数指针与成员函数指针(c++函数指针和指针函数)
- 2025-06-10 C++ 之 自增运算符输出26个英文字母
- 2025-06-10 深入了解C++如何注释以及在哪儿注释-开课吧广场
- 2025-06-10 C++中重载运算符的使用(c++重载函数怎么写)
- 2025-06-10 聊聊C++知识点中的for语法及应用(c++里的for语句)
- 2025-06-10 C++函数指针(c++函数指针名称可以省略吗)
- 最近发表
-
- 聊一下 gRPC 的 C++ 异步编程_grpc 异步流模式
- [原创首发]安全日志管理中心实战(3)——开源NIDS之suricata部署
- 超详细手把手搭建在ubuntu系统的FFmpeg环境
- Nginx运维之路(Docker多段构建新版本并增加第三方模
- 92.1K小星星,一款开源免费的远程桌面,让你告别付费远程控制!
- Go 人脸识别教程_piwigo人脸识别
- 安卓手机安装Termux——搭建移动服务器
- ubuntu 安装开发环境(c/c++ 15)_ubuntu安装c++编译器
- Rust开发环境搭建指南:从安装到镜像配置的零坑实践
- Windows系统安装VirtualBox构造本地Linux开发环境
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (77)
- vector线程安全吗 (73)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)
