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. Ubuntu如何卸载mysql

    首先在终端中查看MySQL的依赖项:dpkg --list|grep mysql 卸载: sudo apt-get remove mysql-common 卸载:sudo apt-get autore ...

  2. C#的Winform程序关于单击和双击的区别 - 开源研究系列文章

    前些天编码的时候有个关于应用程序的托盘图标的鼠标Mouse Down里的单击和双击的问题,只是想单击的时候显示主窗体,双击的时候显示操作窗体.但是编码并调试的时候发现Windows的鼠标双击的事件先执 ...

  3. Java 设计模式----单例模式的几种实现方式

    单例模式的几种实现方式 单例模式的实现有多种方式,如下所示: 1.懒汉式,线程不安全 是否 Lazy 初始化:是 是否多线程安全:否 实现难度:易 描述:这种方式是最基本的实现方式,这种实现最大的问题 ...

  4. centos7挂载硬盘(大于2T)

    配置方法: 1.root账户下,执行 fdisk -l 命令查看挂载的硬盘设备,假设设备号为/dev/sdb,接下来我们使用parted命令来进行GPT分区 2.使用parted命令进行GPT分区 # ...

  5. Educational Codeforces Round 65 (Rated for Div. 2)C. News Distribution(模拟,计算的时候去重)

    这道题目明显和出现4次的数和出现2次的数的个数有关系,只需要在每次更新之后维护这两个信息即可,我们在算出现2次的数的个数时其实会把出现4次的数的个数会把出现2次的数的个数+2,在判断时需要考虑这一点. ...

  6. 接入移动手机号一键登录类的封装,app应用,php服务端类的封装与调用

    需求:实现手机号一键登录,由于官方只有java的demo和jar包,没有php的sdk及demo <?php/* * 手机号一键登录加解密 */class Autophone{ const A_ ...

  7. Edge 语音识别 生成文字 显示在input new webkitSpeechRecognition()

    Edge 语音识别 生成文字 显示在input new webkitSpeechRecognition() 代码 <html> <head> <style> bod ...

  8. 用json画图的画图软件 推荐 Balsamiq

    看这个库的时候发现的的这个软件 https://github.com/ironman1987/chinese-developer-roadmap 下载:https://www.zdfans.com/h ...

  9. debian在使用Thunderbird时英文改为中文

    sudo apt-get install thunder* 随后重启应用!

  10. 虚拟现实(VR)在医疗保健中的5种应用

    医疗保健中的VR虚拟现实 虚拟现实的由来已久,18世纪,法国的医生使用布制的分娩模拟器向助产师和外科医生教授医学技术.在20世纪60年代初,医生一边对心肺复苏学员口述心肺复苏的技巧,一边使用一家塑料玩 ...