04Blockly Game

Blockly Game網址:https://blockly-games.appspot.com/

1.Blockly Games 發展與規劃(5min)

2.Blockly Games 拼圖與迷宮解說(2min)

3.操作拼圖與迷宮(20min)

4.拼圖遊戲內涵,對照和式設計物件屬性(5min)

5.迷宮遊戲使用到到資料結構概念(13min)

 

 

 

 

 

常數與變數:Constants and Variables

變數與常數:變數是一個「容器」,可以在程式進行中把不同的數值放進去,而常數是一個固定的值,不能被改變。

       

 

變數宣告之後,還必須給值,如上圖所示。如果程式中沒有指令將數值存入該變數空間,則可能是任何數(跟當時電腦的狀況有關,你永遠也不知道會是什麼)。

練習:以下的程式碼會輸出什麼結果?

#include <stdio.h>



 

int main(void)

{

   int x;

   printf("x=%d\n",x);

   return 0;

}

在宣告變數時可以順便給初值,例如:「int x;」、「x=5;」可以合併為一行:「int x=5;」。


 

變數必須宣告:先向電腦系統「預約」一塊記憶體,因為不同的資料型態所需的記憶體大小不一樣,因此必須先告訴電腦變數的型態,電腦才知道這個變數需要幾個位元組。

資料型別

例如:

int x=5;

double y=1.0;

char a='A';


變數的命名:變數可以為任何字母(含底線_)或數字而且字母與數字可以混合使用但是不可單使用數字或者用數字當變數的第一個字元;也不可使用字母或數字以外的文字如中文。「合法的」的變數名稱:a, ab, a123, a_, _1;不合法的變數名稱:1abc, 123, 變數一號。除了以上的規則以外,還有一些「保留字」不可以作為變數的名稱(這些是用來作為「指令」用),以下為保留字:auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typeof, union, unsigned, void, volatile, while 。除了「合法」與「不合法」以外,變數的名稱最好以容易記憶其意義為原則,例如若有一變數為某人的年齡可取名為「age」、收入可取名為「income」等等。

注意:C語言中大小寫有別,所以「A」與「a」是不同的兩個變數!

常用常數的定義方式:必須放在程式開頭,以「#define」來定義,放在主函式「main」之前,習慣上以大寫來定義常數,以與變數區別。

#include <stdio.h>

#define VALUE 123

int main(void)

{

   int x; /* declare x as an integer */

   double y; /* declare y as an integer */

   y=2*VALUE+99; /* calculate 2*x+99 and assign this value to y */

   printf("Answer=%f\n",y); /* print the answer on the screen */

   return 0; /* end of the program */

}

這個例子中,編譯器會自動將VALUE轉為數字123。結果跟前一個例子是完全一樣的(除了y改為倍精度實數的型態),需注意的是,用「#define」定義了常數以後,其值是不可更動的,例如在本例中,如果程式中有「VALUE=234」這類的敘述,就是不合法的,編譯時會出現錯誤。

 

------------------------------------

作業:以下是一個計算半徑為5的圓形面積的程式,但有一些錯誤,請將它改為一個正確的程式。

#include <stdio.h>

#define PI 3.14159



 

int main(void)

{

    double radius=5.0

    PI=3.14

    area=PI*radius*radius

    double area

    print("Area of the circle = %d\n", area)

    return 0;

}