您好,登錄后才能下訂單哦!
一.輸出cout需要用到頭文件#include <iostream>
1.方法:cout << expression << endl;
or
cout << "A statement\n";
2.換行可以用endl, 也可以用以前C學過的\n
個人認為在輸出用雙撇號括起來的句子中用\n換行更方便,在輸出表達式的時候用endl更為自然
3.關于cout的實質:
cout實際上把要輸出的內容全部轉換成字符到輸出流中,以字符的形式輸出,即使是換行符\n也是轉換成相應的字符。
4.頭文件#include <iostream>中可以用到的與cout有關的無參控制方法:
endl, flush, dec, hex, left, right,fixed, showpoint
二.控制cout的輸出需要用到頭文件#include <iomanip>
1.控制輸出位數:
a. setprecision(int n)
利用cout << setprecision(int n) << expression << endl;
控制在本次輸出過程中每次輸出數字的時候都輸出setprecision(int n)中的參數所示的n位數字,包含小數。
如
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 123.453;
cout << setprecision(4) << "x = " << x << endl;
return 0;
}
輸出結果為:x = 123.5;
可見,setprecision(int n)會在保證輸出位數(包括小數部分)為n的前提下進行四舍五入(round);
如果代碼改成這樣
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 123.453;
cout << setprecision(8) << "x = " << x << endl;
return 0;
}
輸出結果為:x = 123.453
可見setprecision(int n) 并不會為了湊齊n位的輸出而添加后導0
如果要添加后導0使得輸出結果共有n位(整數部分加小數部分),則需要用到showpoint,詳見下文
又如
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 123.4530000000;
cout << setprecision(8) << "x = " << x << endl;
return 0;
}
輸出結果為:x = 123.453
b. fixed
我們可以發現這樣輸出沒有把x后面的0輸出,要實現把后面的0輸出,需要添加fixed
結合了fixed 和 setprecision(int n)后保證了輸出結果的小數部分有n位
把上面代碼的輸出改成
cout << fixed << setprecision(8) << "x = " << x << endl;
輸出結果為:x = 123.45300000;
c. showpoint
上面代碼在結合了fixed 和 setprecision(int n)后保證了輸出結果的小數部分有n位,但是如果要令輸出結果一共有n位,則需要用到showpoint
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
double x = 123.453;
cout << showpoint << setprecision(8) << "x = " << x << endl;
return 0;
}
輸出結果為:x = 123.45300;
三.在輸出的時候進行類型轉換
適用范圍:轉換后的變量不需要保存,只使用一次
1.轉換為整型:
#include <iostream>
using namespace std;
int main() {
int x = 1234;
cout << dec << x << endl;
cout << hex << x << endl;
cout << oct << x << endl;
return 0;
}
輸出結果:
1234
4d2
2322
2. setw(int n)的用法
設置輸出的寬度為n,默認為像右(right)對齊
#include <iomanip>
#include <iostream>
using namespace std;
int main() {
int i1 = 1, i2 = 11, i3 = 111, i4 = 1111,
i5 = 11111, i6 = 111111;
cout << setw(6) << i1 << endl
<< setw(6) << i2 << endl
<< setw(6) << i3 << endl
<< setw(6) << i4 << endl
<< setw(6) << i5 << endl
<< setw(6) << i6 << endl << endl << endl;
cout << left << setw(6) << i1 << endl
<< setw(6) << i2 << endl
<< setw(6) << i3 << endl
<< setw(6) << i4 << endl
<< setw(6) << i5 << endl
<< setw(6) << i6 << endl;
return 0;
}
輸出結果:
1
11
111
1111
11111
111111
1
11
111
1111
11111
111111
3.科學計數法表示
用到scientific
#include <iomanip>
#include <iostream>
using namespace std;
int main() {
double i = 123300000000;
cout << setprecision(4) << scientific << i << endl;
return 0;
}
輸出結果:
1.233e+011
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。