Download presentation
Presentation is loading. Please wait.
1
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung
2
什麼是程式語言? 程式語言 電腦語言 機器語言 翻譯軟體 編譯器
3
C++ 創始人 Bjarne Stroustrup
4
C++ 程式的撰寫流程 整合發展環境 設計階段 編寫 C++ 原始碼 前置處理器 編譯階段 解析檔頭(header file) 編譯器
編譯原始檔,產生目的碼 連結階段 連結程式 連結相關的目的碼, 產生執行檔 類別程式庫 執行階段 原生的執行碼(機器碼)
5
C++ 與 C 的關係 C++ 是 C 的超集合 Standard C++ 包含了 Standard C C++ C
6
Borland C++/ C++ Builder Microsoft Visual C++ (.Net)
標準 編譯器實作(產品) GNU GCC C++ Standard 1998.6 ANSI/ISO Borland C++/ C++ Builder Microsoft Visual C++ (.Net) 其他
7
The First Program 宣告將使用 C++ 標準程式庫的函式 每行命令結尾都需要「 ;」 // 前置處理器先處理宣告
#include <iostream> #include <stdlib.h> #include <cstdlib> /* 另一種註解方式,可以一次註解一個區塊 就像這樣子 */ using namespace std; // 程式的起始點 int main(int argc, char *argv[]) { cout << "Hello C++!" << endl; system("PAUSE"); return 0; } 宣告將使用 C++ 標準程式庫的函式 每行命令結尾都需要「 ;」
8
你要記得的事 除了 C++ 自己定義的東西外,其他所有的東西都需要事先宣告。 每道敘述結束前需要用「;」結尾
事先宣告就是使用前要做告知的動作! 每道敘述結束前需要用「;」結尾 C++ 看似簡單,但實際有點點難!學會了 C++,其他程式語言應該會覺得簡單。 還有比 C++ 程式語言更重要的事 語法有學完的一天,但解決問題的方法卻永遠學不完!
9
I / O 輸入 輸出
10
基本輸出輸入 C ++ 的方式 C 的方式 cin cout cout << “Hello C++!”;
cin >> n; C 的方式 printf(“Hello C!” ); scanf(“%d”, &n); 變數 cin cout 輸入串流 輸出串流 變數
11
printf 的格式字元 %c 顯示字元 %s 顯示字串 %d 顯示10進位整數 %e 顯示科學記號數字 %f 顯示浮點數
%o 顯示8進位數字 %x 顯示16進位數字 %p 顯示記憶體位址
12
5 + 8 運算子 運算元 運算子 算術運算子 邏輯運算子 比較運算子 其他的運算子 + - * / % (取餘數) && (and)
* / % (取餘數) 邏輯運算子 && (and) || (or) ! (not) 比較運算子 > >= <= < != 不等於 == 等於 其他的運算子 ? : sizeof 運算元 5 + 8 運算子
13
常數與變數 www.cppreference.com 常數 變數 不會改變的值稱之,例如: 一個記憶體空間,其中存放的東西可以改變。
246 “Hello C++” 變數 一個記憶體空間,其中存放的東西可以改變。 char s; int s;
14
老師在講,你有沒有在聽? “c” = ‘c’ ? 記憶體空間的單位是什麼? 一些特別的名詞 Byte 位元組 整數 浮點數 字元 字串
就是數學老師說的 Z 浮點數 就是數學老師說的 R 字元 就是英文老師說的英文字母或數字 ‘A’ .. ‘Z’ , ‘a’ .. ‘z’, ‘0’ .. ‘9’ 還記得電腦老師說的 ASCII 嗎? 字串 字元的集合 “JohnAxer”, “老師” 啥…. 不知道! 我就說嘛! 老師在講,你都沒在聽! “c” = ‘c’ ?
15
常見的跳脫字元 \n 換行 \t 字元 tab \\ 字元 ‘\’ \r 歸位字元 \” 字元” \b 倒退字元
16
常見的變數型態 整數 int, long 浮點數 float, double 字元 char 布林 bool
17
C++ 的 string 型別 宣告方式 string 型別提供有一些成員方法 提取個別元素的方式 s1[4] = ‘o’;
string s1(“Hello C++!”); string s2 = “Yes, you can do this”; string s3; s3 = s1; // now we can do this string 型別提供有一些成員方法 提取個別元素的方式 s1[4] = ‘o’;
18
變數的名稱 請自己取! 可不可以亂取? 當然不可以!你的名字可以亂取嗎? 數字不可以作為開頭 有些怪符號不可以用,例如:&、*、\
C++ 的關鍵字也不可用 為什麼?因為 c++ 已經用掉了嘛! Examples i、x1、john、y12k 9、8i、&uuu wrong!
19
結論:C++ 語法規則 每行敘述都需要 “;” 作結尾。 變數與函數使用前都需要宣告。 指令都是循序執行。
20
整數的表示範圍 int 若配置 4 Bytes 的空間儲存 可儲存範圍 -231 ~ 231-1 1 Byte = 8 bits
最大可表示之數 231 = 10n log231 = log10n n= 31 * log2 = 31 * = 9.331 大約是 1010 以下,
21
練習一 讓使用者輸入平面上座標點P 求原點到P的距離 假設使用者輸入的都是整數,且 x>=0, y>=0 平方根的求法
#include <cmath> sqrt(2);
22
角度 * π 徑度 = 180 練習二 徑度(弧度)與角度換算 90 == PI/2 180 == PI 270 == 3*PI/2
23
練習三 給定1~999的數,請印出各位數的總和。 例如 給數 89,印出 = 17 給數 123,印出 = 6
Similar presentations