前言



第一章 程式設計概念



第二章 C語言基本架構與程式開發環境



/*  HELLO.C -- Hello, world  */

 #include "stdio.h"

 main()
 {
    printf("Hello, world.\n");
 }



←─ 註解行

←─ 引入標頭檔(函式/常數的宣告)

←─ ※ 主程式(一個程式只能有一個主程式)
←─ ※ 程式函式/定義 開始
←─ ※ 程式函式的內容
←─ ※ 程式函式/定義 結束

※ 為一個程式必備的部分!


 #include "stdio.h"
 main()
 {
    clrscr();
    printf("我的第一個程式 !\n");
    sound(523);  delay(3000);
    sound(659);  delay(3000);
    sound(784);  delay(6000);
    nosound();
 }




←─ clrscr() 可以將螢幕清空,使游標回到左上角
←─ printf() 可以將文字/常數/變數輸出到螢幕上
←─ sound() 可以使 PC 喇叭以指定的頻率發出聲音
←─ delay() 可以使程式延遲一段時間

←─ sound() 可以使 PC 喇叭停止發出聲音



第三章 資料型態、變數觀念與運算式



 #include "stdio.h"
 main()
 {
    float r,area;

    clrscr();
    printf("練習題:計算圓的面積\n");
    r = 10;
    area = 3.14159 * r * r ;

    printf("半徑= %f \n", r    );
    printf("面積= %f \n", area );
 }




←─ 宣告 r 及 area 為兩個浮點數的變數

←─ clrscr() 可以將螢幕清空,使游標回到左上角
←─ 用 printf() 秀出程式說明
←─ 將 10 指定給變數 r
←─ 將 3.14159 * r * r 指定給變數 area

←─ 秀出半徑 r    的數值
←─ 秀出面積 area 的數值



 #include "stdio.h"
 main()
 {
    float d1,d2,h,area;

    clrscr();
    printf("練習題:計算梯形面積\n");
    d1 = 5;
    d2 = 7;
    h  = 9;
    area = ( d1 + d2 ) * h / 2 ;

    printf("上底= %f \n", d1   );
    printf("下底= %f \n", d2   );
    printf(" 高 = %f \n", h    );
    printf("面積= %f \n", area );
 }




←─ 宣告 d1,d2,h 及 area 為浮點變數

←─ clrscr() 可以將螢幕清空,使游標回到左上角
←─ 用 printf() 秀出程式說明
←─ 將 5 指定給變數 d1
←─ 將 7 指定給變數 d2
←─ 將 9 指定給變數 h
←─ 將 ( d1 + d2 ) * h / 2 指定給變數 area

←─ 秀出上底 d1   的數值
←─ 秀出下底 d2   的數值
←─ 秀出 高  h    的數值
←─ 秀出面積 area 的數值



第四章 基本輸出敘述



 #include "stdio.h"
 main()
 {
    int a,b;

    clrscr();

    a = 7;
    b = 6;

    printf("a = %d\n"    , a     );
    printf("b = %d\n"    , b     );
    printf("a + b = %d\n", a + b );
    printf("a - b = %d\n", a - b );
    printf("a * b = %d\n", a * b );
    printf("a / b = %d\n", a / b );
    printf("a %% b = %d\n", a % b );

    getch();
 }





←─ 宣告兩個整數變數 a 與 b



←─ 指定變數 a 的數值為 7
←─ 指定變數 b 的數值為 6

←─ 印出 a 的數值
←─ 印出 b 的數值
←─ 印出 a + b 的數值
←─ 印出 a - b 的數值
←─ 印出 a * b 的數值
←─ 印出 a / b 的數值
←─ 印出 a % b 的數值

←─ getch() 可以讀取使用者按鍵。
     在此 getch() 可以避免程式執行完,
     直接回到 TC 整合環境


 #include "stdio.h"
 main()
 {
   static int f[ ]={ 784, 659, 659, 698, 587, 587, 523, 587, 659, 698, 784,
                     784, 784, 784, 659, 659, 698, 587, 587, 523, 659, 784,
                     784, 659, 587, 587, 587, 587, 587, 659, 698,
                     659, 659, 659, 659, 659, 698, 784, 784, 659,
                     659, 698, 587, 587, 523, 659, 784, 784, 523};
   static int t[ ]={1,1,2,1,1,2,1,1,1,1,1,1,2,1,1,2,1,1,2,
                    1,1,1,1,4,1,1,1,1,1,1,2,1,1,1,1,1,1,2,
                    1,1,2,1,1,2,1,1,1,1,4};
   int i;
   clrscr();
   printf("小蜜蜂");
   for (i=0;i<49;i++)
   {
      sound(f[i]);
      delay(t[i]*8000);
      nosound();
   }
 }




←─ static 指的是「靜態」的意思。
     在宣告變數時,在資料型別前面加上 static ,
     表示所宣告的變數為「靜態變數」。
     「靜態變數」通常用在副函式中,
     每次叫用副函式「靜態變數」會維持前一次執行的結果。
←─ 在 f 及 t 後面的中括號 [ ] ,
     表示說 f 與 t 不是一般的變數,
     而是一個陣列,有關陣列請參考第八章。



←─ 這是一個迴圈的敘述,有關迴圈請參考第七章。
←─ 這一個左大括號表示迴圈開始
←──  以 f 陣列第 i 個元素的頻率發聲
←──  延遲 t 陣列第 i 個元素*8000 的時間
←──  停止發出聲音
←─ 這一個右大括號表示迴圈結束



第五章 基本輸入敘述



 #include "stdio.h"
 main()
 {
    int a,b;

    clrscr();

    printf("Please input an integer  a = ");
    scanf("%d",&a);

    printf("Please input an integer  b = ");
    scanf("%d",&b);


    printf("\n\n");

    printf("a = %d\n"    , a     );
    printf("b = %d\n"    , b     );
    printf("a + b = %d\n", a + b );
    printf("a - b = %d\n", a - b );
    printf("a * b = %d\n", a * b );
    printf("a / b = %d\n", a / b );
    printf("a %% b = %d\n", a % b );

    getch();
 }








←─ 用 printf() 秀出提示輸入字串
←─ 用 scanf() 將使用者輸入資料存入 a 變數中

←─ 用 printf() 秀出提示輸入字串
←─ 用 scanf() 將使用者輸入資料存入 b 變數中















第六章 條件判斷



 #include "stdio.h"
 main()
 {
   int a,b;
   printf("Play Music 1.0      Nov,1998  (c)   by Lee Dong-Liang\n\n");
   printf("Input Data format:   Sound_Frequency    Delay_Second\n\n");

   printf("Start Playing Music ......\n");
   while(1)
   {
      scanf("%d%d",&a,&b);
      sound(a);
      delay(b*2000);
      nosound();
      if(a==0)break;
   }
   printf("\nMusic Stop !\n");
 }

上面程式用的資料格式檔。(小蜜蜂的音樂檔)

 784    1
 659    1
 659    2
 698    1
 587    1
 587    2
 523    1
 587    1
 659    1
 698    1
 784    1
 784    1
 784    2
 784    1
 659    1
 659    2
 698    1
 587    1
 587    2
 523    1
 659    1
 784    1
 784    1
 659    4
 587    1
 587    1
 587    1
 587    1
 587    1
 659    1
 698    2
 659    1
 659    1
 659    1
 659    1
 659    1
 698    1
 784    2
 784    1
 659    1
 659    2
 698    1
 587    1
 587    2
 523    1
 659    1
 784    1
 784    1
 523    4
   0    0



 #include "stdio.h"
 main()
 {
   char c;
   printf("Play Keyboard version 1.0  Dec,1998    (c)   by Lee Dong-Liang\n\n");
   printf("Keyboard      S D    G H J     \n");
   printf("Position     Z X C  V B N M  , \n\n");
   printf("Press Q to Quit...\n");

   while(1)
   {
      switch(c=getch())
      {
         case 'Z': case 'z':  sound(523); break;
         case 'S': case 's':  sound(554); break;
         case 'X': case 'x':  sound(587); break;
         case 'D': case 'd':  sound(622); break;
         case 'C': case 'c':  sound(659); break;
         case 'V': case 'v':  sound(698); break;
         case 'G': case 'g':  sound(740); break;
         case 'B': case 'b':  sound(784); break;
         case 'H': case 'h':  sound(831); break;
         case 'N': case 'n':  sound(880); break;
         case 'J': case 'j':  sound(932); break;
         case 'M': case 'm':  sound(988); break;
         case '<': case ',':  sound(1047); break;
         case 'Q': case 'q':  exit();
         default: break;
      }
      delay(1800);
      nosound();
   }
 }


第七章 迴圈



第八章 陣列與字串



第九章 進階程式設計技巧



對於本網頁有任何建議,請留言或來信至 [email protected]

Hosted by www.Geocities.ws

1