欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++的输入和输出

程序员文章站 2022-04-28 15:37:47
...

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);

希望对大家有所帮助,谢谢。

相关标签: 小技巧