c++的输入与输出

C++的六个输入

cin输入

  1. 输入一个数字或字符(不接受空字符作为字符输入,当输入字符为空字符时,会不断重复要求输入,直至输入字符非空后,通过回车结束输入)
#include <iostream> 
using namespace std;
int main () { 
	int a,char b; 
	cin>>a>>b; // cin允许这种"连续输入"模式 
	cout<<a<<','<<b<<endl;
return 0;
}
  1. 接受一个字符串,遇“空格”、“TAB”、“回车”都结束
#include <iostream>
using namespace std;
int main ()
{
    char a[20];
    cin>>a;
    cout<<a<<endl;
    return 0;
}

cin.get()

  1. cin.get(字符变量名) 可以用来接收字符:
#include <iostream> 
using namespace std; 
int main () {
	char ch;
	ch=cin.get(); //或者cin.get(ch);
	cout<<ch<<endl;
	return 0;
}
  1. cin.get(字符数组名,串长) 用来接收一行字符串,可以接收空格:
#include <iostream> 
using namespace std; 
int main () {
	char a[20];
	cin.get(a,20);
	cout<<a<<endl;
	return 0;
}
  1. 没有参数,主要是用于舍弃输入流中的不需要的字符,多用于舍弃前一次输入时放在输入缓冲区的回车。

cin.getline()

  1. 用法1: 接受一个字符串,可以接收空格并输出:
#include <iostream> 
using namespace std; 
int main () { 
	char m[20]; 
	cin.getline(m,5); 
	cout<<m<<endl; 
	return 0; 
}
  1. 用法2: 当用在多维数组中的时候,也可以用cin.getline(m[i],20)之类的用法:
#include<iostream> 
#include<string> 
using namespace std; 
int main () { 
	char m[3][20]; 
	for(int i=0;i<3;i++) { 
		cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl; 
		cin.getline(m[i],20); 
	} 
	cout<<endl; 
	for(int j=0;j<3;j++) 
		cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl; 
	return 0; 
}

gets()

  1. 接受一个字符串,可以接收空格并输出(需 #include <string>):
#include<iostream> 
#include<string> 
using namespace std;
int main () { 
	char m[20]; 
	gets(m); //不能写成m=gets(); 
	cout<<m<<endl; return 0; 
}

gets()只能和char(或char*)定义的字符串地址搭配,不能和string定义的字符串地址搭配

  1. 用法2: 类似cin.getline()里面的一个例子,gets()同样可以用在多维数组里面:
#include<iostream> 
#include<string> 
using namespace std; 
int main () { 
	char m[3][20]; 
	for(int i=0;i<3;i++) { 
		cout<<"\n请输入第"<<i+1<<"个字符串:"<<endl;
		gets(m[i]); 
	} 
	cout<<endl; 
	for(int j=0;j<3;j++) 
		cout<<"输出m["<<j<<"]的值:"<<m[j]<<endl; 
	return 0;
}

getchar()

#include<iostream> 
#include<string> 
using namespace std; 
int main () { 
	char ch; 
	ch=getchar(); //不能写成getchar(ch); 
	cout<<ch<<endl; 
}

cin的进制输入与cout的格式输出

cin的进制输入

int x ;
cin >> x ;			//默认十进制输入
cin >> dec >> x ;	//十进制输入
cin >> oct >> x ;	//八进制输入
cin >> hex >> x ;	//十六进制输入

cout的格式输出

#include<iomanip>

进制输出

cout<<"用十进制输:"<<dec<<a<<endl; //十进制显示:30。 
cout<<"用八进制输出:"<<oct<<a<<endl; //八进制显示:36。 
cout<<"用十六进制输出:"<<hex<<a<<endl; //十六进制显示:OX1E。 
cout<<showbase; //显示数字的基数。 
cout<<uppercase; //用大写字母显示十六进制的字母。 
cout<<noshowbase; //取消显示数字基数。 
cout<<nouppercase; //取消用大写字母显示十六进制。  
}
  • 保留小数
cout<<setprecision(6)<<scientific<<f<<endl; //用科学计数法形式输出f值,6位小数。 
cout<<setprecision(5)<<fixed<<f<<endl; //用小数形式输出f值,5位小数。
  • 数位填充
cout<<setw(10)<<a<<endl; //设置宽度为10显示数字。 
cout<<setfill('$')<<setw(10)<<a<<endl; //设置显示宽度为10并$填充空白处。 
cout<<left<<setw(10)<<a<<endl; //左靠齐。 
cout<<right<<setw(10)<<a<<endl; //右靠齐。 

转载自EXP

posted @   ICE_棋  阅读(360)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示