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,例如 351000,而当需要浮点数(带小数)时,则使用 floatdouble,例如 9.993.14515

int

int myNum = 1000;
cout << myNum;

float

float myNum = 5.75;
cout << myNum;

double

double myNum = 19.99;
cout << myNum;

floatdouble

浮点数值的精度表示小数点后有多少位数字。float 的精度仅为六到七位小数,而 double 变量的精度约为 15 位数字。因此,在大多数计算中使用 double 更安全。

科学计数法

浮点数也可以是带有 "e" 表示的科学计数法:

示例

float f1 = 35e3;
double d1 = 12E4;
cout << f1;
cout << d1;

C++ 布尔数据类型

布尔类型

布尔数据类型由 bool 关键字声明,只能取 truefalse 两个值。

当值返回时,true = 1false = 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++ 用户输入与数据类型详解:建立基本计算器及变量类型的更多相关文章

  1. MySQL 数据类型 详解

    MySQL 数据类型 详解 MySQL 的数值数据类型可以大致划分为两个类别,一个是整数,另一个是浮点数或小数.许多不同的子类型对这些类别中的每一个都是可用的,每个子类型支持不同大小的数据,并且 My ...

  2. python 数据类型详解

    python数据类型详解 参考网址:http://www.cnblogs.com/linjiqin/p/3608541.html 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8 ...

  3. 产品经理-需求分析-用户故事-敏捷开发 详解 一张图帮你了解Scrum敏捷流程

    产品经理-需求分析-用户故事-敏捷开发 详解 用户故事是从用户的角度来描述用户渴望得到的功能.一个好的用户故事包括三个要素:1. 角色:谁要使用这个功能.2. 活动:需要完成什么样的功能.3. 商业价 ...

  4. redis详解(二)-- 数据类型详解

    Redis常用数据类型详解 1,Redis最为常用的数据类型主要有以下: String Hash List Set Sorted set pub/sub Transactions 在具体描述这几种数据 ...

  5. python数据类型详解(全面)

    python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...

  6. oracle 数据类型详解---日期型(转载)

    oracle 数据类型详解---日期型 oracle数据类型看起来非常简单,但用起来会发现有许多知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享: 注:由于INTER ...

  7. MySQL的用户密码过期功能详解

    MySQL的用户密码过期功能详解 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 先说明两个术语. Payment Ca ...

  8. python之数据类型详解

    python之数据类型详解 二.列表list  (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...

  9. 转 python数据类型详解

    python数据类型详解 目录 1.字符串 2.布尔类型 3.整数 4.浮点数 5.数字 6.列表 7.元组 8.字典 9.日期 1.字符串 1.1.如何在Python中使用字符串 a.使用单引号(' ...

  10. 2-2和2-3基本数据类型 & 2-4基本数据类型详解 & 3-1和3-2整形字面量值及变量声

    2-4基本数据类型详解 3-1和3-2整形字面量值及变量声 023是八进制的 0x1357是十六进制 0X3C也是十六进制 0x1abL:长整型 变量声明 数据类型 空格 变量名 赋值: 变量的定义:

随机推荐

  1. django中如何处理事务

    生成订单时,一次性生成多条数据记录或者一次性操作多个模型,都有可能产生中途报错的情况,所以需要在生成订单时保证多个数据操作的原子性. 事务 在完成一个整体功能时,操作到了多个表数据,或者同一个表的多条 ...

  2. linux基本命令--day02

    目录树架构示意图 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令. /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以 ...

  3. Django之第三方平台QQ授权登录的实现

    接入指南:https://wiki.connect.qq.com/成为开发者 准备工作 成为开发者 首先要有一个开发者账号,https://connect.qq.com/ 登录后点击用户头像,修改个人 ...

  4. 名校AI课推荐 | MIT6.S191《深度学习导论》

    "连续开设5年,对新手友好.易于上手,参加课程的多数学生来自非计算机科学领域--" 推荐一门AI课程--MIT官方深度学习入门课程6.S191<深度学习导论(2022)> ...

  5. JAVA 考试管理系统 大作业(一):需求分析

    好家伙,有需要的拿去借鉴吧(虽然我也百度了很多) 题目如下: 题目四:考试管理系统 (选做要求:使用图形用户界面) 分3种用户角色:教务员(具有管理权限).教师.学生 l  教务员:可以进行用户管理( ...

  6. Emqx高可用架构

    目录 优化前架构 主要问题 haproxy问题 优化后架构 优化功能点 emq版本升级 linux系统调优 haproxy调优 测试工具 依赖安装 配置erl环境变量 安装压测软件 测试指令与结果展示 ...

  7. 【Azure 批处理 】Azure Batch门户中创建自定义作业模式失败解决办法

    问题描述 跟随官方文档,快速创建Azure批处理任务(快速入门:在 Azure 门户中运行第一个 Batch 作业),在添加作业时,选择"自定义模式",并添加文档中所提供的简单命令 ...

  8. 【Azure Developer】PHP网站使用AAD授权登录的参考示例

    问题描述 如果有个PHP网站,需要使用AAD授权登录,有没有PHP代码实例 可供参考呢? 参考代码 参考一篇博文(Single sign-on with Azure AD in PHP),学习使用SS ...

  9. ArrayList继承了AbstractList为何还要实现List接口

    ArrayList继承了AbstractList为何还要实现List接口? 相关的问题: Vector既然继承了AbstractList为啥还要实现List接口 HashMap继承了AbstractM ...

  10. VC-MFC 登陆界面 + 数据库账号+密码

    1 // DlgUser.cpp : 实现文件 2 // 3 4 #include "stdafx.h" 5 #include "Login.h" 6 #inc ...