C 語言基礎(chǔ)教程

C 語言流程控制

C 語言函數(shù)

C 語言數(shù)組

C 語言指針

C 語言字符串

C 語言結(jié)構(gòu)體

C 語言文件

C 其他

C 語言參考手冊

C 庫函數(shù) printf() 使用方法及示例

C 標(biāo)準(zhǔn)庫 - <stdio.h>

C 庫函數(shù) int printf(const char *format, ...) 發(fā)送格式化輸出到標(biāo)準(zhǔn)輸出 stdout。

printf()函數(shù)的調(diào)用格式為:

printf("<格式化字符串>", <參量表>);

聲明

下面是 printf() 函數(shù)的聲明。

int printf(const char *format, ...)

參數(shù)

  • format -- 這是字符串,包含了要被寫入到標(biāo)準(zhǔn)輸出 stdout 的文本。它可以包含嵌入的 format 標(biāo)簽,format 標(biāo)簽可被隨后的附加參數(shù)中指定的值替換,并按需求進(jìn)行格式化。format 標(biāo)簽屬性是 %[flags][width][.precision][length]specifier,具體講解如下:

格式字符 意義
d 以十進(jìn)制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)
o 以八進(jìn)制形式輸出無符號整數(shù)(不輸出前綴0)
x,X 以十六進(jìn)制形式輸出無符號整數(shù)(不輸出前綴Ox)
u 以十進(jìn)制形式輸出無符號整數(shù)
f 以小數(shù)形式輸出單、雙精度實數(shù)
e,E 以指數(shù)形式輸出單、雙精度實數(shù)
g,G 以%f或%e中較短的輸出寬度輸出單、雙精度實數(shù)
c 輸出單個字符
s 輸出字符串
p 輸出指針地址
lu 32位無符號整數(shù)
llu 64位無符號整數(shù)

flags(標(biāo)識)描述
-在給定的字段寬度內(nèi)左對齊,默認(rèn)是右對齊(參見 width 子說明符)。
+強(qiáng)制在結(jié)果之前顯示加號或減號(+ 或 -),即正數(shù)前面會顯示 + 號。默認(rèn)情況下,只有負(fù)數(shù)前面會顯示一個 - 號。
空格如果沒有寫入任何符號,則在該值前面插入一個空格。
#與 o、x 或 X 說明符一起使用時,非零值前面會分別顯示 0、0x 或 0X。
與 e、E 和 f 一起使用時,會強(qiáng)制輸出包含一個小數(shù)點(diǎn),即使后邊沒有數(shù)字時也會顯示小數(shù)點(diǎn)。默認(rèn)情況下,如果后邊沒有數(shù)字時候,不會顯示顯示小數(shù)點(diǎn)。
與 g 或 G 一起使用時,結(jié)果與使用 e 或 E 時相同,但是尾部的零不會被移除。
0在指定填充 padding 的數(shù)字左邊放置零(0),而不是空格(參見 width 子說明符)。

width(寬度)描述
(number)要輸出的字符的最小數(shù)目。如果輸出的值短于該數(shù),結(jié)果會用空格填充。如果輸出的值長于該數(shù),結(jié)果不會被截斷。
*寬度在 format 字符串中未指定,但是會作為附加整數(shù)值參數(shù)放置于要被格式化的參數(shù)之前。

.precision(精度)描述
.number對于整數(shù)說明符(d、i、o、u、x、X):precision 指定了要寫入的數(shù)字的最小位數(shù)。如果寫入的值短于該數(shù),結(jié)果會用前導(dǎo)零來填充。如果寫入的值長于該數(shù),結(jié)果不會被截斷。精度為 0 意味著不寫入任何字符。
對于 e、E 和 f 說明符:要在小數(shù)點(diǎn)后輸出的小數(shù)位數(shù)。
對于 g 和 G 說明符:要輸出的最大有效位數(shù)。
對于 s: 要輸出的最大字符數(shù)。默認(rèn)情況下,所有字符都會被輸出,直到遇到末尾的空字符。
對于 c 類型:沒有任何影響。
當(dāng)未指定任何精度時,默認(rèn)為 1。如果指定時不帶有一個顯式值,則假定為 0。
.*精度在 format 字符串中未指定,但是會作為附加整數(shù)值參數(shù)放置于要被格式化的參數(shù)之前。

length(長度)描述
h參數(shù)被解釋為短整型或無符號短整型(僅適用于整數(shù)說明符:i、d、o、u、x 和 X)。
l參數(shù)被解釋為長整型或無符號長整型,適用于整數(shù)說明符(i、d、o、u、x 和 X)及說明符 c(表示一個寬字符)和 s(表示寬字符字符串)。
L參數(shù)被解釋為長雙精度型(僅適用于浮點(diǎn)數(shù)說明符:e、E、f、g 和 G)。
  • 附加參數(shù) -- 根據(jù)不同的 format 字符串,函數(shù)可能需要一系列的附加參數(shù),每個參數(shù)包含了一個要被插入的值,替換了 format 參數(shù)中指定的每個 % 標(biāo)簽。參數(shù)的個數(shù)應(yīng)與 % 標(biāo)簽的個數(shù)相同。

返回值

如果成功,則返回寫入的字符總數(shù),否則返回一個負(fù)數(shù)。

在線示例

下面的示例演示了 printf() 函數(shù)的用法。

#include <stdio.h>
 
int main ()
{
   int ch;
 
   for( ch = 75 ; ch <= 100; ch++ ) {
      printf("ASCII 值 = %d, 字符 = %c\n", ch , ch );
   }
 
   return(0);
}

讓我們編譯并運(yùn)行上面的程序,這將產(chǎn)生以下結(jié)果:

ASCII 值 = 75, 字符 = K
ASCII 值 = 76, 字符 = L
ASCII 值 = 77, 字符 = M
ASCII 值 = 78, 字符 = N
ASCII 值 = 79, 字符 = O
ASCII 值 = 80, 字符 = P
ASCII 值 = 81, 字符 = Q
ASCII 值 = 82, 字符 = R
ASCII 值 = 83, 字符 = S
ASCII 值 = 84, 字符 = T
ASCII 值 = 85, 字符 = U
ASCII 值 = 86, 字符 = V
ASCII 值 = 87, 字符 = W
ASCII 值 = 88, 字符 = X
ASCII 值 = 89, 字符 = Y
ASCII 值 = 90, 字符 = Z
ASCII 值 = 91, 字符 = [
ASCII 值 = 92, 字符 = \
ASCII 值 = 93, 字符 = ]
ASCII 值 = 94, 字符 = ^
ASCII 值 = 95, 字符 = _
ASCII 值 = 96, 字符 = `
ASCII 值 = 97, 字符 = a
ASCII 值 = 98, 字符 = b
ASCII 值 = 99, 字符 = c
ASCII 值 = 100, 字符 = d

以下示例輸出各種格式化數(shù)據(jù):

#include <stdio.h>
int main()
{
   char ch = 'A';
   char str[20] = "www.soo66.com";
   float flt = 10.234;
   int no = 150;
   double dbl = 20.123456;
   printf("字符為 %c \n", ch);
   printf("字符串為 %s \n" , str);
   printf("浮點(diǎn)數(shù)為 %f \n", flt);
   printf("整數(shù)為 %d\n" , no);
   printf("雙精度值為 %lf \n", dbl);
   printf("八進(jìn)制值為 %o \n", no);
   printf("十六進(jìn)制值為 %x \n", no);
   return 0;
}

執(zhí)行輸出結(jié)果為:

字符為 A 
字符串為 www.soo66.com
浮點(diǎn)數(shù)為 10.234000 
整數(shù)為 150
雙精度值為 20.123456 
八進(jìn)制值為 226 
十六進(jìn)制值為 96 

規(guī)定符

  • %d 十進(jìn)制有符號整數(shù)
  • %u 十進(jìn)制無符號整數(shù)
  • %f 浮點(diǎn)數(shù)
  • %s 字符串
  • %c 單個字符
  • %p 指針的值
  • %e 指數(shù)形式的浮點(diǎn)數(shù)
  • %x, %X 無符號以十六進(jìn)制表示的整數(shù)
  • %o 無符號以八進(jìn)制表示的整數(shù)
  • %g 把輸出的值按照 %e 或者 %f 類型中輸出長度較小的方式輸出
  • %p 輸出地址符
  • %lu 32位無符號整數(shù)
  • %llu 64位無符號整數(shù)

C 標(biāo)準(zhǔn)庫 - <stdio.h>

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清