免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

C語言萌新如何使用printf函數?-創新互聯

🐎作者的話
如果你搜索輸入輸出函數,那么你會看到輸入輸出流、Turbo標準庫、標準輸出端、stdout什么什么亂七八糟的,作為一個萌新,哪懂這些?
本文介紹萌新在前期的學習中,常用的輸入輸出函數及其功能~

成都創新互聯基于成都重慶香港及美國等地區分布式IDC機房數據中心構建的電信大帶寬,聯通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業服務器托管報價,主機托管價格性價比高,為金融證券行業雅安服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業成都idc公司。

跳躍式目錄
    • printf介紹
    • 寬度介紹
    • 精度介紹
    • 標識介紹
      • 減號
      • 加號
      • 井號
      • 數字0
    • printf的返回值
    • 打印練習


printf介紹

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

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

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

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

	return 0;
}

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

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

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

常見字母請看以下表格:

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

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

比如說: 你用%u輸出了一個signed型的數,那么計算機在讀取這個數時,會把它當成unsigned來讀取。

為了應對各種不同的情況,在"%"和字母之間,會選擇性地加入三個參數,這三個參數分別叫做標識、寬度、.精度。

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

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

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

那么星號,就是為了應對不知道該輸出多寬的數據,以一個參數變量當作數據的寬度,如果寫了星號,在后面加入變量時要多一個,而且必須寫在第一位,像這樣:

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

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

精度介紹
  • 精度要緊挨在字母的左邊,而且精度的左邊還要加上一個點。

  • 在這個點的右邊,你可以寫一個數字或者一個星號,沒錯,和寬度一樣。

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

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

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

效果圖:

在這里插入圖片描述
因為精度是4,所以至少輸出四位,不足則前導0補充。

精度不會縮小一個整數的輸出,像這樣:

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

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

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

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

標識介紹
  • 接下來我們介紹最復雜的標識。

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

減號

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

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

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

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

加號

寫上加號,即使是正數,也會顯示一個"+",像這樣:

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

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

井號

眾所周知(即使是萌新也應該知道),八進制要前導0,十六進制前導0x,二進制前導0b,井號的作用就是顯示八進制和十六進制的前導標志,像這樣:

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

效果圖:
在這里插入圖片描述
如圖,加了井號的顯示了前導標志。

數字0

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

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

	return 0;
}

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

printf的返回值

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

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

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

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

打印練習

以下五個練習,你能寫出打印內容嗎?

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

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

文章題目:C語言萌新如何使用printf函數?-創新互聯
文章網址:http://m.newbst.com/article34/dpecse.html

成都網站建設公司_創新互聯,為您提供App開發自適應網站域名注冊響應式網站標簽優化靜態網站

廣告

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

成都網頁設計公司