資訊社社課-C++
講師:王政凱
講師介紹
- 227王政凱
- ck_platypus
- 建中資訊 學術兼外交
- 地科讀書會講師
- 我不會資訊
- FB:王政凱
- IG:@kennywang2017
C++簡介
關於C++
- 1979年由比雅尼·史特勞斯特魯普發明
- 改良自C
- 1998年發布第一個C++標準:C++98
- 之後還有C++03、C++11、C++14、C++17等各種版本的標準
- 目前最新版是2020發布的C++20
關於C++
- 編譯式語言
- 執行速度快
- 標準函式庫
- 物件導向
編譯器
你們電腦裡都有
常見的C++編輯器
- Code::Blocks
- Dev C++
- Visual Studio Code
- Visual Studio
- Vim
- Sublime Text
裝不了的替代方案
線上編輯器:repl.it
Hello World
#include<iostream>
using namespace std;
int main(){
cout << "Hello World" << endl;
return 0;
}
變數
#include<iostream>
using namespace std;
int main(){
int a=1;
cout << a << endl;
return 0;
}
整數
資料型態 | 佔用空間(bytes) | 值域 |
---|---|---|
short | 2 | -32768~32767 |
int | 4 | -2147483648~2147483647 |
unsigned int | 4 | 0~4294967295 |
long long | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
unsigned long long | 8 | 0~18,446,744,073,709,551,615 |
浮點數
資料型態 | 佔用空間(bytes) | 值域 | 精度 |
---|---|---|---|
float | 4 | 3.4 E +-38 | 7位數 |
double | 8 | 1.7 E +- 308 | 15位數 |
字元與字串
- char可以存一個字元
- 占用1 byte
- 值域-128~127
- 以ASCII編碼儲存
- string可以存字串
- 空間視長度而定
- 可以想成是char的陣列
布林值
- bool
- 佔用空間:1byte
- 值域:0~1
- True/False
變數命名規則
- 命名可以是英文字母、底線、數字
- 不能以數字開始
- 大小寫都可以,但大小寫視為不同
- 保留字不允許用
- 盡量用有意義的名字命名
輸入
#include<iostream>
using namespace std;
int main(){
int a;
cin >> a;
cout << a << endl;
return 0;
}
運算子
#include<iostream>
using namespace std;
int main(){
int a=1;
a=a+2;
a*=2;
cout << a << endl;
return 0;
}
指定運算子
- a=3
- 把=左邊的變數設定成右邊的值
- 左邊必須是變數
算術運算子
- +
- -
- *
- /
- %
- 前後要是同型態的變數才可以運算
- 常見的型態C++會幫你轉換
- 一般會轉換成比較大的資料型態
- 除不盡會 向0取整
- 負數取餘數是負數
- 浮點數不能取餘數
算術指定運算子
- +=
- -=
- *=
- /=
- %=
- 算術+指定
- a+=b
- a=a+b
- 特性大致上和算術差不多
遞增遞減運算子
- ++
- --
- 就是把值+1或-1
關係運算子
- >
- >=
- <
- <=
- ==
- !=
- 比較兩個變數的大小關係
- 回傳一個布林值(True/False)
邏輯運算子
- &&
- ||
- !
簡易加法
兩光法師占卜術
a + b problem
條件判斷
#include<iostream>
using namespace std;
int main(){
int a=1;
if(a==1){
a=2;
}
cout << a << endl;
return 0;
}
迴圈
#include<iostream>
using namespace std;
int main(){
int a=1;
while(a<10){
a++;
}
cout << a << endl;
return 0;
}
#include<iostream>
using namespace std;
int main(){
int a=1;
for(int i=0;i<10;i++){
a++;
}
cout << a << endl;
return 0;
}
陣列
#include<iostream>
using namespace std;
int main(){
int arr[5]={1,2,3,4,5};
arr[0]++;
arr[3]-=2;
cout << arr[2] << endl;
return 0;
}
迫於時間壓力,我僅把C++最簡單的語法部分交給大家,若有人聽完這堂課尚有興致繼續學習,可參加建中的資訊讀書會持續精進自己的C++能力,資訊社的C++放學社課也會更全面地帶大家學習程式語言。
deck
By ck_platypus
deck
- 517