一、printf基礎語法
printf 是一個常用的函數,用來向標準輸出流(stdout)或者文件中輸出格式化的內容。其基本語法為:
printf(format, arguments);
其中,format 是字符串,包含兩種類型的對象:普通字符和轉義序列。轉義序列是以 ‘%’ 開頭的特殊字符,用來表示實際輸出的內容。這些轉義字符可以是一個或多個,但必須以一個字母結束。例如:%s 表示一個字符串,%d 表示整數,%c 表示一個字符,%f 表示浮點數等。
arguments 是要輸出的變量或常量,用逗號分隔。
下面是一個簡單的例子,輸出一個字符串和一個整數:
#include <stdio.h>
int main(){
char str[20] = "hello world";
int num = 12345;
printf("%s, %d\n", str, num);
return 0;
}
輸出結果:
hello world, 12345
二、printf中的轉義字符
1、%d 和 %i
% d 和 %i 都表示輸出一個有符號的十進制整數。但是它們在某些特定的情況下還是有區別的。具體區別需要從歷史上來看,% d 是英文單詞「decimal」的縮寫,而 % i 是英文單詞「integer」的縮寫。也就是說,% d 用來表示十進制整數,而 % i 則可以表示八進制、十進制或者十六進制整數。
以下是一個例子:
#include <stdio.h>
int main(){
int a = 123, b = 0123, c = 0x123;
printf("%d, %i\n", a, a);
printf("%d, %i\n", b, b);
printf("%d, %i\n", c, c);
return 0;
}
輸出結果:
123, 123
83, 83
291, 291
2、%c
%c 用來輸出一個字符,該字符由 ASCII 碼值來確定。例如:
#include <stdio.h>
int main(){
char c = 'a';
printf("%c\n", c);
return 0;
}
輸出結果:
a
3、%s
%s 用來輸出一個字符串,該字符串可以是一個字符數組或者指針。例如:
#include <stdio.h>
int main(){
char str[] = "hello world";
printf("%s\n", str);
return 0;
}
輸出結果:
hello world
4、%f
%f 用來輸出一個浮點數,通常情況下它會輸出小數點後6位。例如:
#include <stdio.h>
int main(){
float f = 3.14;
printf("%f\n", f);
return 0;
}
輸出結果:
3.140000
5、%e 和 %E
% e 和 % E 用來輸出科學計數法表示的浮點數。
% e 表示指數部分用小寫字母 e 來表示;% E 表示指數部分用大寫字母 E 來表示。例如:
#include <stdio.h>
int main(){
float f = 1.2345e-2;
printf("%e\n", f);
printf("%E\n", f);
return 0;
}
輸出結果:
1.234500e-02
1.234500E-02
三、printf中的格式控制
printf 中的格式控制可以通過在 % 後添加一些修飾符來實現。這些修飾符包括:
- 寬度(width):指定輸出字段的最小寬度。
- 精度(precision):對於浮點數,用來指定小數點後的位數。對於字符串,用來指定輸出的字符數。
- 標誌(flag):控制輸出的格式,例如左對齊、右對齊、補零等。
以下是一個例子,演示如何使用這些修飾符:
#include <stdio.h>
int main(){
float f = 3.1415926;
printf("%8.3f\n", f);
printf("%-8.3f\n", f);
printf("%08.3f\n", f);
printf("%.2s\n", "hello world");
return 0;
}
輸出結果:
3.142
3.142
003.142
he
四、總結
printf 是一個非常方便的輸出函數,可以使用各種轉義字符和格式控制來實現靈活的輸出。在使用時需要注意,控制符和對應參數類型必須匹配,否則可能會導致程序崩潰或輸出錯誤的結果。在實際開發中,經常需要使用 printf 輸出調試信息和狀態信息,因此熟練掌握 printf 的使用是非常重要的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/291202.html