成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C語言萌新如何使用printf函數(shù)?-創(chuàng)新互聯(lián)

🐎作者的話
如果你搜索輸入輸出函數(shù),那么你會看到輸入輸出流、Turbo標(biāo)準(zhǔn)庫、標(biāo)準(zhǔn)輸出端、stdout什么什么亂七八糟的,作為一個(gè)萌新,哪懂這些?
本文介紹萌新在前期的學(xué)習(xí)中,常用的輸入輸出函數(shù)及其功能~

成都創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機(jī)房數(shù)據(jù)中心構(gòu)建的電信大帶寬,聯(lián)通大帶寬,移動(dòng)大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)服務(wù)器托管報(bào)價(jià),主機(jī)托管價(jià)格性價(jià)比高,為金融證券行業(yè)雅安服務(wù)器托管,ai人工智能服務(wù)器托管提供bgp線路100M獨(dú)享,G口帶寬及機(jī)柜租用的專業(yè)成都idc公司。

跳躍式目錄
    • printf介紹
    • 寬度介紹
    • 精度介紹
    • 標(biāo)識介紹
      • 減號
      • 加號
      • 井號
      • 數(shù)字0
    • printf的返回值
    • 打印練習(xí)


printf介紹

函數(shù)原型: int printf(參數(shù)1,參數(shù)2,參數(shù)3,參數(shù)4,參數(shù)~,參數(shù)n)
這就是對于我們萌新來說的函數(shù)原型,有許許多多的參數(shù),返回值是int類型。

參數(shù)1: 參數(shù)1是一個(gè)字符串,printf會打印這個(gè)字符串,你可以直接用雙引號引著放進(jìn)去,也可以存在一個(gè)字符數(shù)組里,然后把數(shù)組的首地址放進(jìn)去,像這樣:

int main()
{printf("太陽出來我曬太陽!!!");

	char str[] = "月亮出來我曬月亮嘍~";
	printf(str);

	return 0;
}

運(yùn)行效果圖:
在這里插入圖片描述
可以看到,兩個(gè)字符串都被打印了。

但是,我們可能要打印我們自己也不知道是多少的變量,這要怎么辦呢?

這時(shí)候,就需要在參數(shù)1的str中加入一些控制符,即"%"加一個(gè)或兩個(gè)字母,在str中每多了一個(gè)"%"加字母的組合,后面就要多一個(gè)參數(shù),至于這個(gè)字母,根據(jù)輸出變量的類型不同,字母也會不同。

常見字母請看以下表格:

%字母對應(yīng)變量類型
%dsigned int
%uunsigned int
%o八進(jìn)制unsigned int
%x(%X)十六進(jìn)制unsigned int
%cchar
%sstring(字符串)
%p地址(指針)
%ffloat
%lfdouble
%e(%E)以指數(shù)表示的浮點(diǎn)型

注意: 不是說某種類型只能用某種控制符輸出,而且會把你一會放在后面的參數(shù),當(dāng)成這種控制符對應(yīng)的類型輸出。

比如說: 你用%u輸出了一個(gè)signed型的數(shù),那么計(jì)算機(jī)在讀取這個(gè)數(shù)時(shí),會把它當(dāng)成unsigned來讀取。

為了應(yīng)對各種不同的情況,在"%"和字母之間,會選擇性地加入三個(gè)參數(shù),這三個(gè)參數(shù)分別叫做標(biāo)識、寬度、.精度。

其中,標(biāo)識必須緊挨在"%"的右邊,寬度緊挨在標(biāo)識的右邊,.精度在寬度和字母的中間(精度前面有一個(gè)小小的點(diǎn),這不是博主手誤哦,真正存在的),像這樣:

int main()
{printf("%標(biāo)識寬度.精度d" );
	return 0;
}
寬度介紹
  • 寬度可以是一個(gè)數(shù),也可以是一個(gè)星號"*"。
  • 如果是一個(gè)數(shù),假設(shè)是5,那么就代表接下來輸出的這個(gè)數(shù)的寬度至少有5,像這樣:
int main()
{int a = 12;
	printf("%5d",a );
	return 0;
}

效果圖:
在這里插入圖片描述
可以看到,被灰色框起來的,就是寬度為5。

那么星號,就是為了應(yīng)對不知道該輸出多寬的數(shù)據(jù),以一個(gè)參數(shù)變量當(dāng)作數(shù)據(jù)的寬度,如果寫了星號,在后面加入變量時(shí)要多一個(gè),而且必須寫在第一位,像這樣:

int main()
{int a = 12;
	printf("%*d",5,a );
	printf("%*d", 10, a);
	return 0;
}

效果圖:
在這里插入圖片描述

精度介紹
  • 精度要緊挨在字母的左邊,而且精度的左邊還要加上一個(gè)點(diǎn)。

  • 在這個(gè)點(diǎn)的右邊,你可以寫一個(gè)數(shù)字或者一個(gè)星號,沒錯(cuò),和寬度一樣。

  • 顧名思義,是用來控制輸出數(shù)據(jù)的精度的,只是對于不同的控制符,有不同的效果。
    PS:剛才說過,控制符就是一個(gè)%號加上一或兩個(gè)字母,不要忘了哦。

詳細(xì)效果:
1,對于%d(signed int)、%u(unsigned int)、%o(八進(jìn)制unsigned int)、%x(十六進(jìn)制unsigned int),這四個(gè)來說,是表示數(shù)據(jù)輸出的最小位數(shù),像這樣:

int main()
{int a = 12;
	printf("%.*d", 4, a);
	return 0;
}

效果圖:

在這里插入圖片描述
因?yàn)榫仁?,所以至少輸出四位,不足則前導(dǎo)0補(bǔ)充。

精度不會縮小一個(gè)整數(shù)的輸出,像這樣:

int main()
{int a = 12345;
	printf("%.*d", 4, a);
	return 0;
}

效果圖:
在這里插入圖片描述
2,對于%s(string)來說,精度的作用是控制輸出的大字符數(shù),像這樣:

int main()
{char arr[]="123456";
	int tmp = printf("%.3s",arr);
	return 0;
}

效果圖:
在這里插入圖片描述

標(biāo)識介紹
  • 接下來我們介紹最復(fù)雜的標(biāo)識。

  • 標(biāo)識寫在緊挨在%的右邊,可以寫“-”、“+”、“#”、0,即減號,加號,井號,還有數(shù)字0。

減號

和寬度配合使用,表示左對齊,如果不加減號,默認(rèn)右對齊,像這樣:

int main()
{int a = 42;
	printf("%10d",a);

	printf("%-10d", a);
	return 0;
}

打印結(jié)果如下:
在這里插入圖片描述
可見,兩者寬度都是10,但一個(gè)向左對齊,一個(gè)向右對齊。

加號

寫上加號,即使是正數(shù),也會顯示一個(gè)"+",像這樣:

int main()
{int a = 42;
	printf("%+d",a);
	return 0;
}

效果圖:
在這里插入圖片描述
如果不寫這個(gè)加號,只有負(fù)數(shù)會顯示負(fù)號,正數(shù)不顯示加號。

井號

眾所周知(即使是萌新也應(yīng)該知道),八進(jìn)制要前導(dǎo)0,十六進(jìn)制前導(dǎo)0x,二進(jìn)制前導(dǎo)0b,井號的作用就是顯示八進(jìn)制和十六進(jìn)制的前導(dǎo)標(biāo)志,像這樣:

int main()
{int a = 0x00001234;
	printf("%#x",a);
	printf("\n");
	printf("%x", a);
	return 0;
}
}

效果圖:
在這里插入圖片描述
如圖,加了井號的顯示了前導(dǎo)標(biāo)志。

數(shù)字0

數(shù)字0和寬度配合使用,它可以讓數(shù)據(jù)的前面不再補(bǔ)充空格,反而補(bǔ)充0,像這樣:

int main()
{int a = 555;
	printf("%10d", a);
	printf("\n");
	printf("%010d", a);

	return 0;
}

效果圖:
在這里插入圖片描述
在寬度前面多加一個(gè)0,就能讓它補(bǔ)充0了。

printf的返回值

前面我們說到,printf函數(shù)的返回值是一個(gè)int類型的數(shù),這個(gè)數(shù)是printf函數(shù)打印出來的字符數(shù),如果沒能成功打印,就返回一個(gè)負(fù)數(shù),像這樣:

int main()
{int a = 1234;
	int tmp = printf("%010d", a);

	printf("\n");
	printf("%d", tmp);
	return 0;
}

效果圖:
在這里插入圖片描述
可以看到,我們打印了十個(gè)字符,那么它的返回值就是10。

打印練習(xí)

以下五個(gè)練習(xí),你能寫出打印內(nèi)容嗎?

  1. int a=15; printf("%#x", a);
  2. int a=4; printf("%10.*d", a, a);
  3. int a=4; printf("%u",a);
  4. int a = 6; printf("%-*d",a,a);
  5. int a = 8; printf("%+.*d",a,a);

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

文章題目:C語言萌新如何使用printf函數(shù)?-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://jinyejixie.com/article34/dpecse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、自適應(yīng)網(wǎng)站、域名注冊、響應(yīng)式網(wǎng)站、標(biāo)簽優(yōu)化靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計(jì)公司
镇远县| 灵武市| 普安县| 天柱县| 澎湖县| 洛浦县| 太原市| 马关县| 五家渠市| 郑州市| 兴国县| 蓬莱市| 锡林郭勒盟| 桑日县| 闽清县| 中超| 桂平市| 和龙市| 盐城市| 阿坝县| 郯城县| 罗平县| 东乡| 固镇县| 尉氏县| 邻水| 中宁县| 财经| 玉山县| 安仁县| 开阳县| 巨鹿县| 客服| 邯郸县| 稷山县| 塔河县| 将乐县| 来安县| 任丘市| 汉寿县| 湘乡市|