首页 > 编程语言 >2022-2023-1 20221421 《计算机基础与程序设计》第十四周学习总结

2022-2023-1 20221421 《计算机基础与程序设计》第十四周学习总结

时间:2022-12-02 21:14:26浏览次数:61  
标签:字符 提取 cout 20221421 cin ignore 2022 2023 输入

作业信息

班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK14
作业正文:2022-2023-1 20221312 《计算机基础与程序设计》第十四周学习总结 - 221421李旻奇 - 博客园 (cnblogs.com)

学习目标:标准输入流

定义:标准输入流是从标准输入设备(键盘)流向程序的数据。

头文件iostream.h中定义了cin,cout,cerr,clog4个流对象,cin输人流,cout,cerr,clog是输出流。

重点api:

cin.get() //一次只能读取一个字符

cin.get(一个参数) //读一个字符

cin.get(三个参数) //可以读字符串

cin.getline()

cin.ignore()

cin.peek()

cin.putback()

提取:
cin是istream类的对象,它从标准输入设备(键盘)获取数据,程序中的变量通过流提取符“>>”从流中提取数据。流提取符“>>”从流中提取数据时通常跳过输人流中的空格、tab键、换行符等空白字符。注意:只有在输入完数据再按回车键后,改行数据才被送人键盘缓冲区,形成输入流,提取运算符“>>”才能从中提取数据。需要注意保证从流中读取数据能正常进行。

换句话说:

cin接受输入时,>> 会过滤掉不可见字符(例如:空格、回车、TAB等)也就是说,从第一个非空白符开始读,直到空白符或者文件结束为止

注意此处与上次总节的右移运算符类似

只有在正常状态时,才能从输入流中提取数据。
   当遇到无效字符或遇到文件结束符(不是换行符,是文件中的数据已读完)时,输人流cin就处于出错状态,即无法正常提取数据。此时对cin流的所有提取操作都将终止。在IBMPC及其兼容机中,以Ctrl+Z表示文件结束符。在UNIX和Macintosh系统中,以Ctrl+D表示文件结束符

例如:    int a,b;
         cin>>a>>b; // 若从键盘上输入 21 abc出错

如果测试cin的值,可以发现它的值为false(假),即cin为O值。如果输入流在正常状态,cin的值为true(真),即cin为一个非0值。可以通过测试cin的值,判断流对象是否处于正常状态和提取操作是否成功。

如:    if(!cin) //流cin处于出错状态,无法正常提取数据
      cout<<"error”;

作用原理

注意:流提取符“>>”不断地从输人流中提取数据(每次提取一个浮点数),如果成功,就可以赋给某个变量,此时cin为真,若不成功则cin为假。如果输入文件结束符,表示数据已完。

有个例子是程序是通过键盘录入读取,但是读取的只有一个

#include <iostream>

using namespace std;

int main01(void)
{

char YourName[50];
int myInt;
long myLong;
double myDouble;
float myFloat;
unsigned int myUsigned;

cout<<"请输入一个int:";
cin>>myInt;

cout<<"请输入一个Long";
cin>>myLong;

cout<<"请输入一个Double:";
cin>>myDouble;

cout<<"请输入你的姓名:";
cin>>YourName;

cout<<"\n\n你输入的数是:"<<endl;
cout<<"int:\t"<<myInt<<endl;
cout<<"Long:\t"<<myLong<<endl;
cout<<"double:\t"<<myDouble<<endl;
cout<<"char *:\t"<<YourName<<endl;

return 0;
}
从上面不难看出利用cin流可以实现有缓存输入:

C语言中的getchar函数与流成员函数cin.get()的功能相同,C++保留厂C的这种用法,可以用getchar(c)从键盘读取一个字符赋给变量c。

ignore函数

   其调用形式为: cin.ignore(n,终止字符) // 函数作用是跳过输人流中n个字符,或在遇到指定的终止字符时提前结束(此时跳过包括终止字符在内的若干字符)。

如:
      ighore(5,A,) //跳过输入流中5个字符,遇A后就不再跳了
   也可以不带参数或只带一个参数。如
      ignore() (n默认值为1,终止字符默认为EOF)
   相当于:  ignore(1,EOF)

标签:字符,提取,cout,20221421,cin,ignore,2022,2023,输入
From: https://www.cnblogs.com/lmq221421/p/16945602.html

相关文章

  • 2022.10.28 模拟赛小结
    2022.10.28模拟赛小结目录2022.10.28模拟赛小结更好的阅读体验戳此进入赛时思路T1CodeT2T3T4正解T1CodeT2T3T4UPD最惨的一场,基本所有题都挂了,最终得分$20\texttt{pts......
  • #yyds干货盘点#【愚公系列】2022年12月 微信小程序-项目篇(公交查询)-02周边站点-获取
    前言1.相关API逆地址解析:提供由经纬度到文字地址及相关位置信息的转换能力,广泛应用于物流、出行、O2O、社交等场景。服务响应速度快、稳定,支撑亿级调用。可以满足以下相......
  • 2022-2023-1 20221404 《计算机基础与程序设计》第十四周学习总结
    2022-2023-120221404《计算机基础与程序设计》第十四周学习总结作业信息班级链接(2022-2023-1-计算机基础与程序设计)作业要求(2022-2023-1计算机基础与程序设......
  • 2022年度总结
    目标NOIP20231d省选知识点全部学完并掌握省选争取E类CF1900,争取2100分析当前处境知识进度:提高内容已学完,已开始学习省选内容。学习状态:难度适中,但每周专项练......
  • CSP-S 2022 游记
    CSP-S2022游记目录CSP-S2022游记更好的阅读体验戳此进入Day-2022.10.28Day-2022.10.29Day-2022.10.30Day-2022.10.31UPD更好的阅读体验戳此进入Day-2022.......
  • NOIP2022游寄
    真的是游了,寄了Day0预感要爆炸,背了背模板(虽然没用上)Day1感觉不怎么好,买了瓶咖啡,到考场的时候发现掉了,555提前进入考场静坐密码是biu#2019miss和???(记不到了)提前......
  • 拼音助手2022最新版2.2.11.26
    最新版本:版本:V2.2.11.26修复高分辨率缩放显示下右键菜单显示异常的问题。(感谢用户反馈)版本:V2.2.11.24添加“一”、“不”变调到多音字库,方便多音校对。(感谢用户反馈......
  • 2022年12月2日
      静水流深,水低为王。 真正厉害的人,都很安静。越安静的人,越能活出自我,内心丰盈,幸福快乐。 骄傲和言多,必会招致失败和是非。 谦虚低调感恩,是万事万物的灵丹妙药......
  • Java数组JAVA基础班2022122
    1数组的定义publicstaticvoidmain(String[]args){//数组---存储固定类型,固定长度容器。//长度元素的个数//创建数组--语法......
  • 数据库三大范式-2022-12-2
    为什么要规范化?  1、信息重复  2、更新异常 3、插入异常   ---无法正常显示信息 4、删除异常   ---丢失有效信息三大范式概念解释:三大范式......