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. Kotlin 函数 与 lambda 表达式

    一.函数 代码块函数体: fun sum(x: Int, y: Int): Int { return x + y } 表达式函数体: fun sum(x: Int, y: Int) = x + y 使 ...

  2. 【Azure Cloud Service(Extended Support)】如何使用外延服务迁移应用?

    问题一:迁移到云服务扩展后,之前经典版的云服务的部署槽会变成单一的部署槽,关于两个云服务扩展版之间的部署交换能否提供一个演示? 对于具有双槽的云服务(Classic),根据文档中的建议,在迁移到云服务 ...

  3. Nebula Graph 源码解读系列|客户端的通信秘密——fbthrift

    概述 Nebula Clients 给用户提供了多种编程语言的 API 用于和 Nebula Graph 交互,并且对服务端返回的数据结构进行了重新封装,便于用户使用. 目前 Nebula Clien ...

  4. Ubuntu上文件系统根目录磁盘空间扩充

    今天使用Ubuntu的时候,出现了磁盘根目录空间不足的提示,需要我们对于根目录磁盘空间进行扩充. 1.打开终端输入命令,安装gparted管理器 sudo apt-get install gparte ...

  5. C++ 总结大项目:机房预约系统项目(数据结构 +指针+class(类操作)+面向对象三大特性[继承+多态+封装]+文件(读,写,保存,重写,重建,清空)+string(比较,截取,追加),+容器多个操作,嵌套+算法+清空数据)

    1 /** 2 * 项目名称:机房预约系统 3 * 时 间:2021-08 4 * 作 者:Bytezero!·zhenglei 5 * 6 * 系统简介: 7 * 学校有几个规格不同的机房,由于使用 ...

  6. Java 多态性的使用

    1 package com.bytezreo.duotai3; 2 3 /*** 4 * 5 * @Description 练习多态性的使用 6 * @author Bytezero·zhenglei ...

  7. ie7bug,一个块级元素或者一个行内元素里面有个子元素设置向右边浮动,在IE7会出现元素下掉现象!

    元素包含结构如下: <h1>testing<span>综合评级:<em></em></span></h1> CSS,如下 h1{ ...

  8. 独家消息:阿里云悄然推出RPA云电脑,已与多家RPA厂商开放合作

    独家消息:阿里云悄然推出RPA云电脑,已与多家RPA厂商开放合作 RPA云电脑,让RPA开箱即用算力无限? 文/王吉伟 这几天,王吉伟频道通过业内人士获得独家消息,阿里云近期推出了一个名为「RPA云电 ...

  9. electron暴露配置文件(用户可随时修改)

    配置文件 一般web前端项目配置文件,写死的放在src/config下,需要打包配置的放在.env文件中.但在electron项目中,如果配置数据更改,需要每次给用户打包升级肯定是行不通的.于是外部配 ...

  10. springboot,简要记录,方便复习,

    boot 笔记第一步新建工程,导包,由于boot的数据库框架是用mybtis -paus,所以关于数据库系统那儿不用色选mybatis ,需要重新maven导包完整导包以下人容: <?xml v ...