C++

1 - 輸入輸出、變數、運算子

講師 陳曉璇

目錄 Index

在正式上課之前……

簡稱ZJ

有很多酷題目

↖我們今天要學會的東西

看得懂的還是聽一下啦拜託

#include<iostream>
using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    cout << a+b <<endl;
    return 0;
}

變數

Variable

變數是什麼?

處理資料之前要先告訴電腦有什麼資料,變數就是用來儲存資料的

#include<iostream>
using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    cout << a+b <<endl;
    return 0;
}
型別 變數名稱 = 值 ;
  • 整數 
  • 4 bytes / 32 bits
  • -2   ~ 2  -1 (10 位數)

int

  • 長整數
  • 8 bytes / 64 bits
  • -2  ~ 2  -1 (19 位數)

long long

31

31

63

63

型別

int a1 = 10;
cout << a1 << endl;
long long a2 = 100000000000000000;
cout << a2 << endl;
  • 浮點數
  • 4 bytes / 32 bits
  • 精準至約小數點後第七位

float

  • 倍精度浮點數 
  • 8 bytes / 64 bits
  • 精準至約小數點後第十五位

double

型別

double b2 = 0.0000000001;
cout << b2 << endl;
float b1 = 0.1;
cout << b1 << endl;
  • 字元
  • 1 bytes / 8 bits
  • 0~255 (ASCII)
  • '字元'

char

 

  • 字串 
  • "字串內容"

string

char[字串長度]

型別

string c3 = "ABCDEFGH";
cout << c3 <<endl;
char c2[6]="ABCDE"; //最尾端有'\0'(空字元)表示結束
cout << c2 << endl;
char c1 = '@';
cout << c1 << endl;
  • 布林 
  • 1 bytes / 8 bits
  • 0(flase)、1(true)

bool

補充

型別

short e = 2;
cout << e << endl;
bool d = 2>5;
cout << d << endl;
型別 變數名稱 = 值 ;
bool a ; //型別為布林 的 變數a
int b = 10 ; //型別為整數 值為10 的 變數b 
float c1,c2,d ; //型別為浮點數 的 三個變數c1 c2 d

宣告declare

變數名稱原則:

字母 可以(大小寫視為不同變數)
_ 可以
數字 不能在開頭
保留字 不可以
空格 不可以

例:int,char,cout

補充:型別轉換

顧名思義就是把某個型別轉換成另一個型別

  • 隱含的型別轉換
double d1 = 6.0;
int i1 = 4;
d1 = i1;
cout << d1/5 ;

0.8

cout << 3 / 2 << endl;
cout << 3 / 2.0 << endl; 

1

1.5

C++自動選擇 運算式中較大的型別去做運算

如果是使用指定運算子=,C++就會以指定運算子左邊的資料型別為準

int x = 3 / 2.0;
cout << x << endl;

1

補充:型別轉換

顧名思義就是把某個型別轉換成另一個型別

  • 強制的型別轉換
(轉換型別) 變數;
(轉換型別) 數值;
int x = 3;
cout << (double)x / 2 << endl; 
cout << (char)97 << endl; 

1.5

a

a在ASCII碼中的編號為97 →

輸入輸出

Input/Output

<iostream>?

input output stream 也就是輸入輸出函式庫

cin cout 都在裡面喔!

#include<iostream>
using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    cout << a+b <<endl;
    return 0;
}
cin >> 變數 ;
cout << 變數 ;

輸入input

int a1 ;
cin >> a1 ;
cin >> 變數 ;
int x,y,z ;
cin >> x >> y >> z ;

多項輸入時:各個輸入值之間用 空格換行 分開

輸出output

cout << "Hello world!" << endl;
cout << 變數 ;
char a2 = 'c';
cout << a2 ;

換行:endl'\n'

string a2 = "zsisc29" ;
cout << "Hello," << a2 << endl;

Hello,zsisc29

\:跳脫

\0:字串的結束

\t:相當於tab鍵  

\a: 發出提示音

補充:特殊控制符號

cout << "'\\n'" ;
cout << "ZSISC" << '\t' << "29";
cout << "ZSISC29" << '\a';

函式庫:<stdio.h>

輸入:scanf()

輸出:printf()

補充:C語言的輸入輸出

scanf(控制字串,參數)
printf(控制字串,參數)
  • cin.get()
  • cin.getline()
  • getline()
  • gets()

……

補充:其他輸入方式

運算子

Operator

+

運算子

和數學一樣都是先乘除後加減,括號內先計算

#include<iostream>
using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    cout << a+b <<endl;
    return 0;
}

指定運算子

int b;
b = 2;
b = b + 2;

4

=

先計算右邊

再將結果指定給左邊

運算子 意義
+
++ 遞增1
-
-- 遞減1
*
/
% 取餘數

算術運算子

int a = 5 ;
a = a/2;
cout << a <<endl;

float b = 5 ;
b = b/2;
cout << b <<endl;
int a = 5 ;
a = a%2;
cout << a <<endl;

2

2.5

1

算術運算子++/--

int a =1;
cout << a++ << endl;
cout << a << endl;
int a =1;
cout << ++a << endl;
cout << a << endl;
int a = 1;
a = a - 1;
cout << a <<endl;
int a =1;
cout << a-- << endl;
cout << a << endl;
int a =1;
cout << --a << endl;
cout << a << endl;
int a = 1;
a = a + 1;
cout << a <<endl;

2

1

2

2

2

0

1

0

0

0

簡寫

int a = 4;
a += 3;
cout << a <<endl;
int a = 4;
a = a + 3;
cout << a <<endl;

7

7

原始 簡寫
a=a+b a+=b
a=a-b a-=b
a=a*b a*=b
a=a/b a/=b
a=a%b a%=b

比較運算子

運算子 意義
> 大於
>= 大於等於
< 小於
<= 小於等於
== 等於
!= 不等於
bool d = 2>5;
cout << d << endl;

0

!注意!

等於是 ==

 = 是指定運算子!

邏輯運算子

運算子 意義
&& AND (且)
|| OR (或)
! NOT (否)
    bool A;
    A = 3>2 || 7>9 ;
    cout <<  A << endl;

1

換你們試試看!

~ 16:00

就是今天教的東東,不要複製貼上喔

#include<iostream>
using namespace std;

int main(){
    int a,b;
    cin >> a >> b;
    cout << a+b <<endl;
    return 0;
}

今天的作業!記得加入課程喔

試著打打看吧

 

執行結果會如何呢?

float a = 5 ;
a = a%2;
cout << a <<endl;
char c2[6]="ABCDEF";
cout << c2 << endl;
char c3[0];
cin >> c3 ;
cout << c3 << endl;
bool A;
A = 0 && 1 ;
cout <<  A << endl;

Kahoot!

來玩來玩,前三名有獎品ㄛ!

zsisc29th-1

By CHEN, SIAO SYUAN