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
zsisc29th-1
- 181