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關主

關主C說



去找D關主

關主D說



去找E關主

關主E說



你可以回去了

關主D說



你可以回去了

關主C說



你可以回去了

關主B說



你可以回去了

關主A說



你可以回去了

你說



乾! 這PPT灌水阿O_____o

So...?




a-->b-->c-->d-->e    詢問

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!

Made with Slides.com