- 定義一些資料
- 定義字喜歡用大寫, 但非必定
- 使用定義的方式 在編譯的時候就會產生效果, 而不是在執行的時候產生效果
- 方便日後修改程式的時候識別
- 用來修改常數很好用, 否則以後常數要修改會很麻煩
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//定義 PI 為3.14 在編譯的時候就產生效果
#define PI 3.14
int main()
{
//所以 以下 的 PI 已經都變成 3.14 了
float r,a,l;
printf("Enter circle radius:");
scanf("%f",&r);
a = PI*r*r;
l = 2*PI*r;
printf("Area=%f\nlength=%f\n",a,l);
return 0;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//定義 PI 為3.14 在編譯的時候就產生效果
#define PI 3.14
//宣告 函式 area
float area(float);
int main()
{
//所以 以下 的 PI 已經都變成 3.14 了
float r,a,l;
printf("Enter circle radius:");
scanf("%f",&r);
a = area(r);
l = 2*PI*r;
printf("Area=%f\nlength=%f\n",a,l);
return 0;
}
float area( float r)
{
return PI * r *r;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//定義 PI 為3.14 在編譯的時候就產生效果
#define PI 3.14
#define area(r) PI*r*r
#define len(r) 2*PI*r
int main()
{
//所以 以下 的 PI 已經都變成 3.14 了
float r,a,l;
printf("Enter circle radius:");
scanf("%f",&r);
a = area(r);
l = len(r);
printf("Area=%f\nlength=%f\n",a,l);
return 0;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//定義 PI 為3.14 在編譯的時候就產生效果
#define PI 3.14
//define 函數括號內的 值是用代換的(change),
//所以下面雖然寫的是 radius, 所以帶進來 area的時候
//area(r) 就會變成 area(radius) PI*radius*radius
#define area(r) PI*r*r
#define len(r) 2*PI*r
int main()
{
//所以 以下 的 PI 已經都變成 3.14 了
float radius,a,l;
printf("Enter circle radius:");
scanf("%f",&radius);
a = area(radius);
l = len(radius);
printf("Area=%f\nlength=%f\n",a,l);
return 0;
}
- 當符合條件時 傳回 值1
- 當不符合條件時, 則傳回值2
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
int main()
{
int n1,n2,n;
n1=10;
n2=20;
n=(n1>n2?n1:n2);
printf("n=%d\n",n);
return 0;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//使用三元運算的定義
#define max(n1,n2) (n1>n2?n1:n2)
int main()
{
int n1,n2,n;
n1=10;
n2=20;
n= max(n1,n2);
printf("n=%d\n",n);
return 0;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
#define sum(x,y) x+y
int main()
{
x=7;
y=6;
//因為在編譯的時候就會取代
//所以會變成 c = x+y*10
// c = 7 + 6 *10 先乘除後加減 c= 67
c = sum(x,y) *10;
printf("c=%d\n",c);
return 0;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//因為要使用 getch() 所以要#include "conio.h"
#include "conio.h"
int main()
{
char ch;
//除了按 ESC 以外都繼續執行 27 為 ESC
while((ch = getch()) != 27)
printf("%c\n",ch);
return 0;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//因為要使用 getch() 所以要#include "conio.h"
#include "conio.h"
int main()
{
char ch;
//除了按 ESC 以外都繼續執行 27 為 ESC
while((ch = getch()) != 27)
//使用 %d 列出整數 看鍵盤的內碼, 特殊按紐都是2個值
//例如 上下左右 遊標 控制鍵 第一碼都是 -32 F1 ~ F12 第一碼 都是 0
//所以可以利用這個原理判斷 使用者是不是輸入特殊按紐
printf("%d\n",ch);
return 0;
}
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//因為要使用 getch() 所以要#include "conio.h"
#include "conio.h"
int main()
{
//多一個 ch2
char ch,ch2;
//除了按 ESC 以外都繼續執行 27 為 ESC
while((ch = getch()) != 27)
//使用 %d 列出整數 看鍵盤的內碼, 特殊按紐都是2個值
//例如 上下左右 遊標 控制鍵 第一碼都是 -32 F1 ~ F12 第一碼 都是 0
//所以可以利用這個原理判斷 使用者是不是輸入特殊按紐
{
//利用特殊鍵 都會小於等於 0 來判斷是否為特殊鍵
if (ch <= 0)
{
ch2 = getch();
printf("ch2=%d\t",ch2);
}
printf("%d\n",ch);
}
return 0;
}
- 使用等於的方式來比對
// header .h 要放在程式的最前面
// 引入 stdio.h 及 stdlib.h
#include "stdio.h"
#include "stdlib.h"
//因為要使用 getch() 所以要#include "conio.h"
#include "conio.h"
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
int main()
{
char key;
char ch;
//如果沒有按 ESC 就繼續
while ((key=getch()) != 27)
{
//利用特殊鍵 都會小於等於 0 來判斷是否為特殊鍵
if(key <= 0)
{
key=getch();
switch(key)
{
//判斷上下左右的內碼 並定義 ch
case UP :ch=24;
break;
case DOWN :ch=25;
break;
case LEFT :ch=27;
break;
case RIGHT :ch=26;
break;
default : ch = 1;
}
//將傳的的內碼 也就是按的特殊鍵 列印出來
printf("%c\n",ch);
}
}
return 0;
}
沒有留言:
張貼留言