C++的輸入和輸出


本文作者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);

希望對大家有所幫助,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM