Syntax
in C++
Variable & Array
變數宣告
運算子
陣列
宣告
型態 變數名 ;
int a;
long long b;
double c;
char a;
int
integer(n.) 整數
Range -2147483648 ~ 2147483647
會被裱到天荒地老。
Interger
a=10
printf("=%d=", a);
%d -> [10]
%3d -> [ 10] (有個空白喔><)
%03d -> [010]
Double
double a = 2.3334;
printf("%lf", a);
printf("%.3lf", a);
%lf (很多位小數)
%.3lf (三位小數)
don't use float!
long long
大約
-10^18 ~ 10^18
實際上
-2^63 ~ (2^63-1)
long long long is too long
long long a = 1;
long long b = 1;
long long c = 1;
long long d = 1;
long long long long long long long long
long long long long long long long long
long long
typedef long long LL;
LL a=1;
char
char a = 'A';
printf("%c", a);
printf("%d", a); --> askii code
a = getchar();
char
a~z --> 1~26
char ch = getchar();
printf("%d", ch - 'a');
運算
+ - * / %
bit運算
& | >> <<
ARRAY
int a[10];
a[0], a[1], a[2], ... a[9]
Question
宣告int a[10][10];
請問花了多少記憶體空間
Answer
100個 int
10個point
喔 離題了 這不是重點
Caution
初始化
Range of int, long long
誤差 of double
Range of array!
space of RAM!
Input & Output
Input
scanf("格式化內容", 變數們);
int hr, min, sec;
scanf("%d:%d:%d", &hr, &min, &sec);
input -> "13:16:10"
hr <- 13
min <-16
sec <- 10
字元
scanf("%c", &a);
a = getchar()
Caution!
會讀到空白、換行等字元
重複讀入
while(~scanf("%d", &a))
他會讀到沒東西(EOF (End of File) )
輸出
puts("XD"); (puts自帶換行)
printf("XD\n"); (我們自己寫換行)
遞迴
想像你在RPG...
關主A說
去找B關主
關主B說
關主C說
關主D說
關主E說
你可以回去了
關主D說
你可以回去了
關主C說
你可以回去了
關主B說
你可以回去了
關主A說
你可以回去了
你說
乾! 這PPT灌水阿O_____o
So...?
a-->b-->c-->d-->e 詢問
函式
回傳值 函數名稱{
你想做的事
return 回傳的東西
}
回傳值可為void (不回傳)
費氏數列
int F(int x){
if(x==1 || x==2) return 1;
return F(x-1) + F(x-2);
}
Struct
struct 名稱{
東西;
東西;
}; <--記得分號
Struct
struct Grade{
int chinese;
int math;
int english;
}; <--記得分號
Struct
Grade a;
a.english = 59;
a.math = 39;
Why Struct?
SORT it!
Syntax
By rilak1328
Syntax
- 827