程式語言:C語言 第二堂課


這堂課教的內容不少,筆記也寫了有四頁之多。

printf("輸出文字或格式碼"); //輸出
scanf("格式碼", &變數); //輸入(scan format)

格式碼:
%d -> integer 整數
%f -> float 浮點數
%c -> char 字元
%ld -> double 倍精度浮點數

%5d 控制欄位大小,5為包含內容共5格
%-5d 「-」號為要求內容靠左
%05d 「0」為要求在空格中補數字零

scanf("%d %d", &變數1, &變數2);
執行後輸入第一個整數,可按空白鍵或Tab鍵、Enter鍵
再輸入下一個整數,最後再按一次Enter
※如果輸入的「"%d %d"」中間空格改成逗號,
則使用者輸入資料時也需用逗號分隔,否則就會造成錯誤。

製作查詢ASCII碼的小工具
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char letter;
printf("請輸入一個字元:");
scanf(" %c", &letter);
printf("您輸入的字元為:%c\n", letter);
printf("其ASCII碼為:%d\n", letter);
system("pause");
return 0;
}


※在%c前加空格,表示略過不可見字元,
包括Enter鍵、空白鍵、Tab鍵。

letter = getchar(); //傳回字元變數,與scanf類似
putchar(letter); //輸出字元變數,與printf類似

getchar(); //按下Enter鍵後送出(會跳到下一行)
getche(); //按下任一鍵就送出(不會跳到下一行)

\ escape character 跳脫字元
\n escape sequence 跳脫序列

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char letter='\a';
putchar(letter);
system("pause");
return 0;
}


\a:電腦蜂鳴器嗶聲
\t:同Tab鍵,跳8個字元
\":秀出「"」
\':秀出「'」
\\:秀出「\」

◎陣列:一連串相同型態的變數

資料型態 陣列名稱[長度];
例:
char letter[10];
putchar(letter[Index]);

在C語言中,字串視為字元陣列使用,\0為結束符號

char 字串變數名稱[長度];
例:
char letter[5] = "abcd\0";
printf("%s\n", letter);

%5s、%-5s、%05s 字串欄位控制,同%d用法
※中文字視為2個字元

試作出此圖形:
*
**
***
****
*****

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char a[2] = "*\0";
char b[3] = "**\0";
char c[4] = "***\0";
char d[5] = "****\0";
char e[6] = "*****\0";
printf("%s\n%s\n%s\n%s\n%s\n", a, b, c, d, e);
system("pause");
return 0;
}


2 則留言:

  1. system("pause"); 這行我覺得可以用一行或兩行(一行沒效就用兩行) getchar() 來代替,以避免編譯環境換成非 Windows system("pause")就無法使用。

    回覆刪除
  2. 咦,原來還有這個問題啊。
    可能是現在還在基礎班,所以老師就沒特別說明吧(笑)

    回覆刪除

◎感謝來訪,歡迎分享你的想法!
◎勾選「通知我」可以避免遺漏後續回覆的訊息
◎別忘了留下大名、連結等資料,我才有機會多認識你!