*本文作者frankchenfu,blogs网址http://www.cnblogs.com/frankchenfu/,转载请保留此文字。*
C++是一种常用的编程语言。一个完整的程序至少要有一个输出,而我们也经常需要在程序内进行大量输入和输出。所以今天,我和大家谈一谈输入和输出。
1、cin和cout。可以连续输入,使用流(>>)。有专门的输出的换行“endl”。
cin>>a>>b;
cout<<"asdasdasd"<<endl;
2、scanf和printf。scanf和printf虽然需要占位符,不是很方便,而且容易因为系统影响在评测时莫名出错,但是它的效率大幅超过了cin和cout。
scanf("%d%lf",number,score);
printf("%d\n",rank);
3、getchar和putchar。getchar和putchar本是字符的输入和输出,但是因为快,所以更经常用于输入输出优化。下面的代码是针对全体整数的(输出需要自己输出时改符号哦)。
int s()
{
char ch=getchar();
int re=0;
bool fl=1;
if(ch=='-')
{
fl=0;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
re=re*10+ch-'0';
ch=getchar();
}
return fl?re:-re;
}
void w(int r)
{
if(r>9)
w(r/10);
putchar(r%10+'0');
}
没有负号?更简单:
int s()
{
char ch=getchar();
int re=0;
while(ch<'0'||ch>'9')
ch=getchar();
while(ch>='0'&&ch<='9')
{
re=(re<<3)+(re<<1)+ch-'0';
ch=getchar();
}
return re;
}
当然,也可以用于字符的输入输出。例如,
a=getchar();
putchar('\n');
4、gets和puts,以及getline。
这些都是针对字符串的,在写高精度的时候也会用到。需要注意的是,puts是包括输出一个换行符的,也就是说,如果输出后不想换行,只能使用printf("%s",……)了。
gets(a1);
puts("asdasdasd");
getline(cin,s1);
希望对大家有所帮助,谢谢。
原文链接: https://www.cnblogs.com/frankchenfu/p/6347854.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/248383
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!