C 語言中的格式指定符
你好,有抱負的程式設計師!今天,我們將深入探討 C 語言中迷人的格式指定符世界。如果你以前從未寫過一行代碼,也別擔心 - 我將成為你在這次激動人心的旅程中的友好指南。在這個教程結束時,你將能夠像專家一樣使用格式指定符!
為什麼我們在 C 語言中使用格式指定符?
想象一下你正在告訴你的朋友你喜歡的數字。你可能会說,“我的幸運數字是 7,我喜歡數字 3.14。”在 C 程式設計中,我們需要一種方式來告訴電腦我們正在處理的信息是什麼類型。這就是格式指定符的用武之地!
格式指定符就像小翻譯員,幫助我們的程序理解我們正在處理的數據類型。當我們想要列印值或從用戶那裡讀取輸入時,它們特別有用。
printf() 函數中的格式指定符
讓我們從 printf()
函數開始,我們用它來顯示輸出。這裡有一個簡單的例子:
#include <stdio.h>
int main() {
int age = 25;
printf("我今年 %d 歲。\n", age);
return 0;
}
在這段代碼中,%d
是我們的格式指定符。它告訴 printf()
我們正在處理一個整數(整數)。當你運行這個程序時,它將輸出:
我今年 25 歲。
這不是很酷嗎?%d
被age
的值替換。這就像魔法,但其實只是 C 語言在做它的事情!
scanf() 函數中的格式指定符
現在,讓我們看看 scanf()
,我們用它來從用戶那裡獲取輸入。這裡有一個例子:
#include <stdio.h>
int main() {
int favorite_number;
printf("你最喜欢的數字是什麼?");
scanf("%d", &favorite_number);
printf("哇,%d 是一個很棒的數字!\n", favorite_number);
return 0;
}
在這裡,我們再次使用 %d
,但這次它是告訴 scanf()
期待用戶的整數輸入。&
在 favorite_number
之前是很重要的 - 它告訴 C 將輸入存儲在哪裡。現在不用太擔心這個;我們稍後會更詳細地介紹。
格式指定符的類型
C 語言中有許多類型的格式指定符,每種都是為了處理特定類型的數據而設計的。讓我們看看一些最常見的:
整數格式指定符
指定符 | 描述 | 示例 |
---|---|---|
%d | 有符號十進制整數 | 42, -17 |
%u | 無符號十進制整數 | 42 |
%o | 無符號八進制 | 52 |
%x 或 %X | 無符號十六進制整數 | 2A 或 2a |
讓我們看看這些是如何工作的:
#include <stdio.h>
int main() {
int num = 42;
printf("十進制: %d\n", num);
printf("無符號: %u\n", num);
printf("八進制: %o\n", num);
printf("十六進制: %x\n", num);
return 0;
}
這將輸出:
十進制: 42
無符號: 42
八進制: 52
十六進制: 2a
浮點數格式
指定符 | 描述 | 示例 |
---|---|---|
%f | 十進制浮點數 | 3.14 |
%e 或 %E | 科學計數法 | 3.14e+00 或 3.14E+00 |
%g 或 %G | 使用 %f 或 %e,哪個較短就用哪個 | 各異 |
這裡有一個有趣的例子:
#include <stdio.h>
int main() {
float pi = 3.14159;
printf("Pi 約等於 %.2f\n", pi);
printf("科學計數法: %e\n", pi);
return 0;
}
這將給我們:
Pi 約等於 3.14
科學計數法: 3.141590e+00
注意到我們在 %.2f
中使用了 .2
來限制小數點後的位數嗎?這是一個控制精度的巧妙技巧!
字符串格式
指定符 | 描述 | 示例 |
---|---|---|
%s | 字符串 | "Hello, World!" |
%c | 單個字符 | 'A' |
讓我們來使用這些:
#include <stdio.h>
int main() {
char name[] = "Alice";
char initial = 'A';
printf("Hello, %s! 你的名字以 %c 開頭。\n", name, initial);
return 0;
}
這將輸出:
Hello, Alice! 你的名字以 A 開頭。
檔案 I/O 函數中的格式指定符
格式指定符不僅用於控制台 I/O。它們也用於檔案 I/O 函數,如 fprintf()
和 fscanf()
。這些函數的工作方式與 printf()
和 scanf()
相似,但與檔案一起使用。這裡有一個快速示例:
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "w");
if (file != NULL) {
int age = 30;
float height = 1.75;
fprintf(file, "Age: %d, Height: %.2f\n", age, height);
fclose(file);
}
return 0;
}
這段代碼創建了一個名為 "data.txt" 的檔案,並向其中寫入了一些格式化的數據。
以上就是了,各位!我們已經涵蓋了 C 語言中格式指定符的基本知識。記住,練習使
Credits: Image by storyset