C++学习day--06 向计算机输入数据

这篇具有很好参考价值的文章主要介绍了C++学习day--06 向计算机输入数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、输入

当缓冲区为空时,程序才会暂停,让用户输入数据。 输入回车后,数据全部送到输入缓冲区。
#include <iostream>
#include <Windows.h>
int main( void ){
char girlType;
int salary;
float height;
std::cout << " 请输入您的理想类型 :\n A: 贤惠型 \n B: 泼辣新 \n C: 文艺型 \n D: 运动型 " << std::endl;
std::cin >> girlType;
std::cout << " 请输入您的月收入 :" << std::endl;
std::cin >> salary;
std::cout << " 请输入您的身高 :[ 单位 - ]" << std::endl;
std::cin >> height;
std::cout << " 您的理想类型是 : " << girlType << std::endl;
std::cout << " 您的月收入是 : " << salary << " " << std::endl;
std::cout << " 您的身高是 : " << height << " " << std::endl;
system( "pause" );
return 0;
}

对于 char, int, float 等基本数据类型, 直接使用 std::cin >> 输入即可 

特别注意 :
输出使用 std::cout <<
输入使用 std::cin >>
记忆诀窍 :
输入 , 需要一个很 >> 才能实现插入 .

2、常量

字面常量
int 类型字面常量: 1, 2, 3, 100
long 类型字面常量: 200L (或 200l, 建议用大写字母 L
注意:使用 vs 编译时,默认都是 win32 平台, 所以即使在 64 位系统中, long 也只有 4 个字节
long long 类型字面常量: 100000000000 LL (一千亿,建议用大写字母 LL
char 类型字面常量: ’a’, ‘b’, ‘X’, ‘-’
float 类型字面常量: 3.14f或者3.14F
double 类型字面常量: 3.0 、3.14
16 进制常量:
以 0x 作为前缀, 0x11 (相当于 17) ,
说明: 16 进制
C++学习day--06 向计算机输入数据
8 进制常量
以 0 作为前缀 , 011(相当于 9
说明: 16 进制和 8 进制,只是给程序员使用起来更方便, 在计算机中,数据都存储为 2 进制。
字面常量的缺点:
程序的可读性变差。
代码的可维护性差。
八进制和 16 进制的表示形式要注意它们的写法。面试喜欢问。
符号常量
1 #define 宏定义的符号常量
#define MAX_AGE 35
在编译的预处理阶段,直接把 MAX_AGE 替换为 35
2 const 修饰的符号常量
const int maxAge = 35;
maxAge = 30; // 错误!编译失败
注意: const 修饰的符号常量,又叫“只读变量”。 常变量 本质上,是一个变量,只是被 const 限制

3、常见错误总结

1. 变量名错误
变量名不能使用关键字
int char; // 编译失败
变量名不能和函数名同名
int system; // 会导致后面不能使用 system 函数
2. 变量还没有定义,就直接使用
age = 20;
变量一定要先定义,再使用。
3. 变量的输入与使用顺序不当
// 以下为错误代码
#include <iostream>
#include <Windows.h>
using namespace std;
int main( void ){
int age;
int num;
num = age * 360;
cout << " 请输入您的年龄 : " ;
cin >> age;
cout << " 这是您在地球的 " << num << " " << endl;
system( "pause" );
return 0;
}

num = age * 360; 

C++学习day--06 向计算机输入数据

计算完字符, num age 没有任何关系!
而不是数学中的理解 : num 永远是 age 360 倍【不适用于 C C++

 4. 数据输入时,数据的类型不匹配

#include <iostream>
#include <Windows.h>
using namespace std;
int main( void ){
int age;
int num;
cout << " 请输入您的年龄 : " ;
cin >> age;
num = age * 360;
cout << " 这是您在地球的 " << num << " " << endl;
system( "pause" );
return 0;
}

运行结果:

C++学习day--06 向计算机输入数据

 为什么??

输入的是字母 l 和 0,而不是数字1和0,控制台显示字母l和数字1不明显,因此出现了这个结果
类型不匹配,此时输入失败,变量的值还是原来的值
说明:
变量如果不做初始化,它的值是不确定的。 良好的编程习惯:变量在定义时,进行初始化:
int age = 0;
5. 输入数据时,前面的数据输入错误,导致后面的数据都不能输入
#include <iostream>
#include <Windows.h>
#include <string>
int main( void ) {
int a;
int b;
int c;
std::cin >> a >> b >> c;
std::cout << "a=" << a << std::endl;
std::cout << "b=" << b << std::endl;
std::cout << "c=" << c << std::endl;
system( "pause" );
return 0;
}

C++学习day--06 向计算机输入数据

 解决方案:

#include <iostream>

#include <Windows.h>
#include <string>
using namespace std;
int main( void ) {
int a;
int b;
int c;
//std::cin >> a >> b >> c;
std::cout << " 请输入 a: " ;
std::cin >> a;
if (cin.fail()) { // 检查输入时是否发生了错误
cout << " 输入错误,应该输入一个整数 " << endl;
// 清除错误标记,使得后续输入可以正常进行
// 但是已经输入的数据还在输入缓冲区
cin.clear();
cin.sync(); // 清空输入缓冲区
}
std::cout << " 请输入 b: " ;
std::cin >> b;
if (cin.fail()) {
cout << " 输入错误,应该输入一个整数 " << endl;
cin.clear(); // 清除错误标记,使得后续输入可以正常进行
cin.sync(); // 清空输入缓冲区
}
std::cout << " 请输入 c: " ;
std::cin >> c;
if (cin.fail()) {
cout << " 输入错误,应该输入一个整数 " << endl;
cin.clear(); // 清除错误标记,使得后续输入可以正常进行
}
std::cout << "a=" << a << std::endl;
std::cout << "b=" << b << std::endl;
std::cout << "c=" << c << std::endl;
system( "pause" );
return 0;
}
if 语句的具体用法在后面会详细讲解。这里代码不用深究,知道有这么个东西就行了。
更完美的解决方案, 使用 C++ 的异常(后面会精讲)。

4、计算机英语加油站

单词 说明
char
character 字符
int
integer 整数
short
短的
long
长的
unsinged
无符号的
double
双倍的
float
浮动, 浮点数
name
名称,名字
password
密码
常简写为 pwd
precision
精度
应用: cout.precision(4)    默认是有效数字
flags
flag 的复数
flag: 标记
应用: cout.flags(xxx);
fixed
固定的
应用:cout.flags(cout.fixed); 设置精度为保留小数后几位
unset
复原
应用:cout.unsetf(cout.fixed);
取消设置精度为保留小数后
几位
const
常量
constant 不变的

5、职场修炼:怎样安全度过试用期

1、学员故事:
1. 未能完成项目任务,被辞退
2. 独立完成项目任务,仍被连续两次辞退
教训:
1. 认清自己的定位,个人包装不宜超过自己实际能力的 30%
2. 积极主动的做事,主动地与直接领导保持有效的沟通
3. 快速融入团队
4.2 程序员职场修炼:怎样安全度过试用期
2、程序员逼格提升:逼格初体验-代码风格
程序员的第一印象,不是外表,而是自己的代码风格。
1. 命名风格
2. 缩进风格
3. 注释风格
3、练习
#include <iostream>
#include <Windows.h>
using namespace std;
int main( void ) {
unsigned boyAge;
unsigned girlAge;
unsigned diff;
cout << " 美女,多大了 ?" << endl;
cin >> girlAge; // 输入 25
cout << " 帅哥,多大了 ?" << endl;
cin >> boyAge; // 输入 22
diff = girlAge - boyAge;
cout << " 美女比帅哥大 " << diff << " " << endl;
diff = boyAge - girlAge;
cout << " 帅哥比美女大 " << diff << " " << endl;
system( "pause" );
return 0;
}

结果:

 C++学习day--06 向计算机输入数据

说明: unsigned 类型,就是 unsigned int
分析:
在尾部添加如下代码:
unsigned short boyAge2 = boyAge;
unsigned short girlAge2 = girlAge;
unsigned short diff2 = boyAge2 - girlAge2;
cout << " 帅哥比美女大 " << diff2 << " " << endl; // 输出 65533
结论:
无符号数,不能表示负数!
如果强行用无符号数表示负数,实际存储的是这个负数对应的“补码”
即:该负数 + “模值”
-3 + 65536 = 65533
这是个简单的计算方法, 企业面试可能会问到。 这是个重点。从宏观上看,把一个负数赋值给一个无符号 变量。实际的值是:该负数 + 模值, short 类型模值为 2^16+1, char 类型模值为 2^8+1
依次类推。。。 其实本质存的是补码,只是改变了它的解释方式而已。参 考《计算机组成原理》

 C++学习day--06 向计算机输入数据文章来源地址https://www.toymoban.com/news/detail-437797.html

到了这里,关于C++学习day--06 向计算机输入数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机体系结构基础知识介绍之缓存性能的十大进阶优化之关键词优先和提前重启以减少失误处罚、合并写入缓冲区以减少惩罚(五)

    处理器通常一次只需要缓存块中的一个字(word)。不要等待整个块被加载,而是在请求的字到达后就立即发送给处理器,并让处理器继续执行,同时填充块中的其他字。这两种具体的策略是: 优先(Critical word first)——从内存中先请求缺失的字,并在它到达后立即发

    2024年02月13日
    浏览(38)
  • 计算机语言 之【C++】入门级知识讲解(命名空间,C++输入输出,缺省参数,函数重载,引用,内敛函数,auto关键字,for循环,指针空值nullptr)

    三点睡六点起,阎王夸我好身体 不到三点我不睡,太平间里抢C位 目录: 前言: 本片博客是以学习过C语言之后进入C++学习为前提,讲解C++入门级知识,为C++之后的学习做铺垫 –❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀-正文开始-❀–❀–❀–❀–❀

    2024年04月11日
    浏览(112)
  • 【深度学习: 计算机视觉】如何改进计算机视觉数据集

    机器学习算法需要大量数据集来训练、提高性能并生成组织所需的结果。 数据集是计算机视觉应用程序和模型运行的燃料。数据越多越好。这些数据应该是高质量的,以确保人工智能项目获得最佳的结果和产出。 获取训练机器学习模型所需数据的最佳方法之一是使用开源数

    2024年02月20日
    浏览(35)
  • 计算机图形学与opengl C++版 学习笔记 第11章 参数曲面

    在20世纪50年代和60年代在雷诺公司工作期间,皮埃尔·贝塞尔(Pierre Bézier)开发了用于设计汽车车身的软件系统。他的程序利用了Paul de Casteljau之前开发的数学方程组,后者曾为竞争对手雪铁龙汽车制造商[BE72,DC63]工作。de Casteljau方程仅使用几个标量参数描述曲线,同时使用

    2024年02月08日
    浏览(37)
  • 计算机图形学与opengl C++版 学习笔记 第12章 曲面细分

    术语Tessellation(镶嵌)是指一大类设计活动,通常是指在平坦的表面上,用各种几何形状的瓷砖相邻排列以形成图案。它的目的可以是艺术性的或实用性的,很多例子可以追溯到几千年前[TS16]。 在3D图形学中,Tessellation指的是有点不同的东西(曲面细分),但显然是由它的经

    2024年02月08日
    浏览(29)
  • 计算机图形学与opengl C++版 学习笔记 第10章 增强表面细节

    假设我们想要对不规则表面的物体进行建模,例如橘子凹凸的表皮、葡萄干褶皱的表面或月球的陨石坑表面。我们该怎么做?到目前为止,我们已经学会了两种可能的方法: (a)我们可以对整个不规则表面进行建模,但这么做通常不切实际(一个有许多坑的表面需要大量的

    2024年02月09日
    浏览(33)
  • 计算机图形学与opengl C++版 学习笔记 第9章 天空和背景

    对于室外3D场景,通常可以通过在地平线上创造一些逼真的效果,来增强其真实感。当我们极目远眺,目光越过附近的建筑和森林,我们习惯于看到远处的大型物体,例如:云、群山或太阳(或夜 空中的星星和月亮)。但是,将这些对象作为单个模型添加到场景中可能会产生

    2024年02月09日
    浏览(31)
  • 【北邮鲁鹏老师计算机视觉课程笔记】06 corner 局部特征

    【北邮鲁鹏老师计算机视觉课程笔记】06 corner 局部特征 ①提取特征 ②匹配特征 ③拼接图像 我们希望特征有什么特性? ①可重复性 ②显著性 ③计算效率和表达紧凑性 ④局部性 在角点,往任意方向移动窗体都会发生变化 用泰勒展开,建立E(u,v)和(u,v)的直接关系 E(u,v)是移动

    2024年02月20日
    浏览(32)
  • 计算机程序设计c++ 9-1:数据的抽象与封装

    实体 实体:指客观世界存在的某个事物 某动物,例如:一只羊 一本图书,例如:《C++程序设计教程》 一篇文章,例如:“趣赏羊联” 一个专业班级,例如:材料21班 …… 实体的描述 可以拍摄视频描述实体 可以写一篇文章描述实体 我们设计的程序都是为了求解某个(些)问

    2023年04月21日
    浏览(25)
  • 您的计算机已被[new_day@torguard.tg].faust 勒索病毒感染?恢复您的数据的方法在这里!

    导言: 随着科技的迅速发展,网络空间也变得越来越危险,而勒索病毒则是网络威胁中的一个严重问题。 [ new_day@torguard.tg ].faust 勒索病毒是最新的威胁之一,采用高度复杂的加密技术,将受害者的数据文件锁定,并勒索赎金以解密。本文91数据恢复将介绍 [ new_day@torguard.tg

    2024年02月09日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包