C++ 用户输入与数据类型详解:建立基本计算器及变量类型
C++ 用户输入
你已经学习了 cout 用于输出(打印)值。现在我们将使用 cin 来获取用户输入。
cin 是一个预定义变量,它使用提取运算符(>>)从键盘读取数据。
在下面的示例中,用户可以输入一个数字,该数字存储在变量 x 中。然后我们打印 x 的值:
示例
int x;
cout << "Type a number: "; // 输入一个数字然后按回车键
cin >> x; // 从键盘获取用户输入
cout << "Your number is: " << x; // 显示输入值
需要注意的是:
cout的发音是 "see-out"。用于输出,并使用插入运算符(<<)cin的发音是 "see-in"。用于输入,并使用提取运算符(>>)
创建一个简单的计算器
在这个示例中,用户必须输入两个数字。然后我们通过计算(相加)这两个数字来打印它们的和:
示例
int x, y;
int sum;
cout << "Type a number: ";
cin >> x;
cout << "Type another number: ";
cin >> y;
sum = x + y;
cout << "Sum is: " << sum;
就是这样!你刚刚建立了一个基本的计算器
C++ 数据类型
C++ 中的变量必须是指定的数据类型:
示例
int myNum = 5; // 整数(整数)
float myFloatNum = 5.99; // 浮点数
double myDoubleNum = 9.98; // 浮点数
char myLetter = 'D'; // 字符
bool myBoolean = true; // 布尔值
string myText = "Hello"; // 字符串
基本数据类型
数据类型指定了变量将存储的信息的大小和类型:
| 数据类型 | 大小 | 描述 |
|---|---|---|
| boolean | 1 字节 | 存储 true 或 false 值 |
| char | 1 字节 | 存储单个字符/字母/数字,或 ASCII 值 |
| int | 2 或 4 字节 | 存储整数,不带小数 |
| float | 4 字节 | 存储含有一个或多个小数点的分数。足以存储 6-7 位小数 |
| double | 8 字节 | 存储含有一个或多个小数点的分数。足以存储 15 位小数 |
C++ 数值数据类型
数值类型
当需要存储没有小数的整数时,使用 int,例如 35 或 1000,而当需要浮点数(带小数)时,则使用 float 或 double,例如 9.99 或 3.14515。
int
int myNum = 1000;
cout << myNum;
float
float myNum = 5.75;
cout << myNum;
double
double myNum = 19.99;
cout << myNum;
float 和 double
浮点数值的精度表示小数点后有多少位数字。float 的精度仅为六到七位小数,而 double 变量的精度约为 15 位数字。因此,在大多数计算中使用 double 更安全。
科学计数法
浮点数也可以是带有 "e" 表示的科学计数法:
示例
float f1 = 35e3;
double d1 = 12E4;
cout << f1;
cout << d1;
C++ 布尔数据类型
布尔类型
布尔数据类型由 bool 关键字声明,只能取 true 或 false 两个值。
当值返回时,true = 1,false = 0。
示例
bool isCodingFun = true;
bool isFishTasty = false;
cout << isCodingFun; // 输出 1(true)
cout << isFishTasty; // 输出 0(false)
布尔值主要用于条件测试,在后续章节中你会学到更多关于它们的知识。
C++ 字符数据类型
字符类型
char 数据类型用于存储单个字符。字符必须用单引号括起来,如 'A' 或 'c':
示例
char myGrade = 'B';
cout << myGrade;
或者,如果你熟悉 ASCII,你可以使用 ASCII 值来显示某些字符:
示例
char a = 65, b = 66, c = 67;
cout << a;
cout << b;
cout << c;
提示:所有 ASCII 值的列表可以在我们的 ASCII 表参考中找到。
C++ 字符串数据类型
字符串类型
string 类型用于存储一系列字符(文本)。这不是一个内置类型,但在最基本的用法中,它的行为类似于一个。
字符串值必须用双引号括起来:
示例
string greeting = "Hello";
cout << greeting;
要使用字符串,你必须在源代码中包含一个额外的头文件,即 <string> 库:
示例
// 包含字符串库
#include <string>
// 创建一个字符串变量
string greeting = "Hello";
// 输出字符串值
cout << greeting;
你将在我们的 C++ 字符串章节中了解更多关于字符串的知识。
最后
为了方便其他设备和平台的小伙伴观看往期文章:
微信公众号搜索:Let us Coding,关注后即可获取最新文章推送
看完如果觉得有帮助,欢迎点赞、收藏、关注
C++ 用户输入与数据类型详解:建立基本计算器及变量类型的更多相关文章
- MySQL 数据类型 详解
MySQL 数据类型 详解 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 My ...
- python 数据类型详解
python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...
- 产品经理-需求分析-用户故事-敏捷开发 详解 一张图帮你了解Scrum敏捷流程
产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价 ...
- redis详解(二)-- 数据类型详解
Redis常用数据类型详解 1,Redis最为常用的数据类型主要有以下: String Hash List Set Sorted set pub/sub Transactions 在具体描述这几种数据 ...
- python数据类型详解(全面)
python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...
- oracle 数据类型详解---日期型(转载)
oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTER ...
- MySQL的用户密码过期功能详解
MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...
- python之数据类型详解
python之数据类型详解 二.列表list (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...
- 转 python数据类型详解
python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...
- 2-2和2-3基本数据类型 & 2-4基本数据类型详解 & 3-1和3-2整形字面量值及变量声
2-4基本数据类型详解 3-1和3-2整形字面量值及变量声 023是八进制的 0x1357是十六进制 0X3C也是十六进制 0x1abL:长整型 变量声明 数据类型 空格 变量名 赋值: 变量的定义:
随机推荐
- React之父组件向子组件传值
class Parent extends React.Component{ constructor(){ super(); this.state={co:"red"} } rend ...
- ClickHouse学习笔记--ClickHouse的整体特性
本文主要包含如下内容: ClickHouse适用场景 ClickHouse缺点 ClickHouse优点 ClickHouse表引擎-合并树 ClickHouse表引擎-合并树-稀疏索引 ClickH ...
- 彩虹猫IDA分析记录
目录 彩虹猫分析 概述 无参启动 带/main参数启动 带/watchdog参数启动 MBR引导程序和动画程序 第一段 引导代码 第二段 动画代码 其他函数 扭曲桌面 扰乱鼠标 钩子函数 桌面绘制图标 ...
- 使用rpa打开浏览器并执行js抓取页面元素详情步骤
这里我们专门开一个文章来写如何在rpa中执行js获取页面元素. 个人觉得,复杂点的需求用js会方便很多,所以后续的文章我都会重点使用js去获取页面元素. 好,正文开始,我们先看一下rpa为我们提供的自 ...
- C++ STL //vector容器存放内置数组
1 //STL初始 2 // 3 //vector容器存放内置数组 4 5 #include <iostream> 6 #include <string> 7 #include ...
- TCP/IP协议 ------图解TCP/IP协议 全书知识点真理
一. 之前在网上大致浏览了<图解TCP/IP>这本书前面的几章,是日本人写的,没有细看,感觉写的很容易理解,但是最近又翻看网后面看到的时候感觉很多累赘的地方,不知道是翻译的问题,还是书本身 ...
- java学习 javaz-001 Helloworld 第一个demo
java学习 javaz-001 Helloworld 第一个demo 目录 学习目标 前期准备 java sdk 1.8环境 编辑器IDE的选择 代码开发 目录结构 创建第一个java文件 创建第2 ...
- buildFast.js node.js 快速发布到gitee上,这样就不用每次点击,并且自动弹出发布页面,再点击发布,完美!
buildFast.js node.js 快速发布到gitee上,这样就不用每次点击,并且自动弹出发布页面,再点击发布,完美! const fs = require('fs-extra'); fs.c ...
- AutoFill Chrome插件 影响 Vue接口读取,导致页面卡死,caution: request is not finished yet!
今天页面突然卡死了,也不知道是因为什么,直连服务器,能行,自己本机nginx的,系统访问某个特定的api就会卡死. 经过尝试,发现今天测试的AutoFill影响的.
- 多线程系列(二十) -CompletableFuture使用详解
一.摘要 在上篇文章中,我们介绍了Future相关的用法,使用它可以获取异步任务执行的返回值. 我们再次回顾一下Future相关的用法. public class FutureTest { publi ...