iT邦幫忙

0

【從零開始的 C 語言筆記】第八篇-printf 介紹與應用

不怎麼重要的前言

上一篇我們介紹了與輸入輸出格式相關的語法,想必大家應該多少知道要怎麼使用了,如果有不了解可以多多測試呀!

接下來我們介紹常常使用的輸出用函式printf吧!


列印字串?

不曉得大家還記不記得我們的「Hello World!」好朋友呢?雖然前面多多少少都有用到這個「printf();」函式,來列印一些結果,但大家對它應該還是很陌生吧,接下來我們來複習一下列印「Hello World!」跟三角形(**造型的直角三角形)的程式碼吧!

  1. Hello World!
#include <stdio.h>

int main(){
    printf("Hello World!\n");
    
    return 0;
}

https://ithelp.ithome.com.tw/upload/images/20211026/20142565oFJQKV56Xd.png
2. 直角三角形

#include <stdio.h>

int main(){
    printf("*\n");
    printf("**\n");
    printf("***\n");
    printf("****\n");
    printf("*****\n");

    return 0;
}

https://ithelp.ithome.com.tw/upload/images/20211026/20142565aXtXRrBolY.png

還記得我們前面第三篇說過,透過修改函式裡「" "」內的東西就可以自由列印不同字串了,我們也用這個方式來列印三角形,因為在c語言中「字串」(一段文字,由很多的字元組成)必須使用「" "」包裹起來,程式才會知道這裡不是特殊語法只是單純的「字串」,也才能用printf函式來成功列印出來。

(備註:在c語言中「" "」、「' '」的使用是有差別的,被「" "」包裹的是字串,而被「' '」包裹的是字元。)

所以當我們要使用printf列印任何東西時,必須是以下的格式:

printf("我是任意的字串!");

然後整理一下上面的重點稍微圖解:
https://ithelp.ithome.com.tw/upload/images/20211026/201425651hMxDSUNpM.png


正式使用printf

前面我們簡單的介紹使用printf單純列印字串時怎麼使用了,接下來我們來結合進第六篇的變數、第七篇的格式吧!

一般來說列印會有兩種情況

  1. 只列印純字串時
    https://ithelp.ithome.com.tw/upload/images/20211026/201425655FMMkKZRPv.png

  2. 列印時需要使用到變數、資料
    (1) 只需要單一變數

#include <stdio.h>

int main(){
    int data = 555;

    printf("%d\n", data);
    printf("your data: %d\n", data);
    printf("your data is %d.\n", data);
    printf("%d is your data.\n", data);

    return 0;
}

https://ithelp.ithome.com.tw/upload/images/20211026/20142565QlXROnGucl.png

(2) 需要多個變數

#include <stdio.h>

int main(){
    int data1 = 111;
    float data2 = 222;
    char data3 = '3';

    printf("%d %f %c\n", data1, data2, data3);
    printf("your data: \"%d\".\"%f\".\"%c\"\n", data1, data2, data3);
    printf("your data are %d, %f and %c.\n", data1, data2, data3);
    printf("%d, %f and %c is your data.\n", data1, data2, data3);

    return 0;
}

https://ithelp.ithome.com.tw/upload/images/20211026/20142565wVxCnzLnzn.png

(3) 直接輸出資料

#include <stdio.h>

int main(){
    printf("%d %f %c %s\n", 11, 2.2, '3',"44");
    printf("your data: \"%d\".\"%f\".\"%c\".\"%s\"\n", 11, 2.2, '3',"44");
    printf("your data are %d, %f, %c and %s.\n", 11, 2.2, '3',"44");
    printf("%d, %f, %c and %s is your data.\n", 11, 2.2, '3',"44");

    return 0;
}

https://ithelp.ithome.com.tw/upload/images/20211026/201425658RWZb3X6tx.png


printf小結

  1. 看完上面的例子我們可以知道,當輸出結果包含變數或資料時,我們會在列印字串中加入第七篇學到的格式指令字,代替資料在列印結果中的位置,並且在後面用「,」分隔後補上要放入字串的資料內容。
printf("列印結果: %d\n", data);

https://ithelp.ithome.com.tw/upload/images/20211026/20142565Ewg6Jwn8Us.png

  1. 最後的列印結果時就會自動放入變數或資料了:
#include <stdio.h>

int main(){
    int data1 = 111;
    printf("列印結果: %d %s\n", data1, "data2");

    return 0;
}

https://ithelp.ithome.com.tw/upload/images/20211026/20142565lOHwTEMgYQ.png

  1. 最後結果:
    https://ithelp.ithome.com.tw/upload/images/20211026/201425656HvjzCKsdW.png

看到這裡大家了解這個printf了嗎?雖然我們前面幾篇在測試的時候,大致有展示給大家看怎麼使用,但想說把會用到的語法都先提過再來解釋,大家應該會比較了解內容在說什麼,但千萬還是別忘了多多練習呀!

下一篇我們來講講取得使用者輸入的函式scanf!


尚未有邦友留言

立即登入留言