首页 > 编程 > C++ > 正文

C++(一)输入输出总结

2019-11-08 01:37:27
字体:
来源:转载
供稿:网友

一、输出流(cout)

cout 是一个对象 是一个输出流对象,它是“console out(控制台输出)”的缩写,它 属于basic_ostream类的对象。ostream类在iostream头文件中定义

什么是输出流?

例如数据可以从键盘流入程序,又可以从程序流向屏幕,打印机等,动态的


二、using namespace std;解析

1.这条指令带给我们一个全新的概念:名字空间 2.就是c++标准库所使用的所有标识符(即类、函数、对象等的名称)都是在同一个特殊的名字空间(std)中定义的 3.其实如果没有这条指令,那么在代码中cout和endl前都要加std:: std::cout<<”hello world”; ,所以这条指令其实是偷懒用的


三、<<符号

<<这个符号在C里是位运算符,在C++里是一个输出操作符,所以这里会有重载的方法


四、输入流(cin)应用

(1).应用cin.ignore()和cin.getline()//其实点后面的代表操作的动作,前面代表对象

int main(){ char buf[20];//可以输入19个字符,字符串以0结尾 cin.ignore(7);//忽略前7个字符 cin.getline(buf,10);//buf是存放的地方,10是存放多少个 cout<<buf<<endl;return 0;}//I like lanxidame!//lanxidame//为什么没有感叹号? 因为字符串最后一个是0,!被0代替//cin.ignore(100,‘/n’);作用是前100个字符里只要遇见回车,那么这100个字符就不管用了

(2).应用cin.get()和cin.peek()

int main(){ char p; cout<<"请输入一段文本:/n"; while(cin.peek()!='/n')//peek的作用就是在字符里挑取一个字符看是否等于回车,如果不等于回车那就执行下面语句,等于退出循环,所以peek只是挑取出来检查一下又放回去,不会做其他改变(不会把缓冲流里的东西给删掉) { p=cin.get();//作用:获取一个字符,赋值给p,也可以写成cin.get(p);与C中getchar()功能差不多 cout<<p; } cout<<endl;return 0;}//I like lanxidame!//I like lanxidame!

(3).应用cin.gcount()和cin.read()

int main(){ const int SIZE=50;//类似与宏定义,但要比宏定义要好 char buf[SIZE]; cout<<"输入一段文本:"; cin.read(buf,20)//从buf中读取20个字符 cout<<"字符串收集的字符数为:"//gcount,计算提取到的多少字符 <<cin.gcount()<<endl; cout<<"输入的文本信息是:"; cout.write(buf,20);//从缓冲区里输出20个字符 cout<<endl;return 0;}//I love laximade!!!!!!!!!!!!!!//I love laximade!!!!!

五、摄氏度与华氏度转化源码

#include<iostream>using namespace std;int main(){ //华氏温度==摄氏温度*9.0/5.0+32 const unsigned short add=32;//const与define差别不大。但还是有一定的区别 const double ratio=9.0/5.0; double tempIN,tempOUT;//定义存放输入的温度和转化完成后输出的温度 char typeIN,typeOUT;//判断单位用的C和F cout<<"请以【xx.x c】或者【xx.x F】格式输入一个温度"; cin>>tempIN>>typeIN;//这样的格式接受同时两种输入。32.4 C表示32.4给前面一个变量空格之后给另一个变量 cin.ignore(100,'/n');//将回车忽略,就是把其他无意义的输入忽略,100随便写的,足够大就好 cout<<"/n";//为了美观 switch(typeIN) { case 'C': case 'c': tempOUT=tempIN*ratio+add; typeOUT='F'; typeIN='C'; break; case 'F': case 'f': tempOUT=(tempIN-add)/ratio; typeOUT='C'; typeIN='F'; break; default: typeOUT='E'; break; } if(typeOUT!='E') { cout<<tempIN<<typeIN <<"="<<tempOUT <<typeOUT<<"/n/n"; } else { cout<<"输入错误"<<"/n/n"; } cout<<"请输入任何字符结束程序"<<"/n/n"; cin.get();// return 0;}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选