C++Day01
Day01
常量
作用:用於記錄程式中不可更改的資料
-
#define巨集常量
-
const修飾的變數
關鍵字
識別符號命名規則
- 不可以是關鍵字
- 由字母、數字、下劃線組成
- 第一個字元必須為字母或下劃線
- 區分大小寫
資料型別
存在的意義:給變數分配合適的記憶體空間
整型
short 短整型 2位元組
int 整型 4位元組
long 長整型 windows為4位元組、linux為4位元組(32位)、8位元組(64位)
long long 長長整型 8位元組
sizeof關鍵字
作用:利用sizeof可以統計資料型別佔用的記憶體大小
實型(浮點型)
作用:用於表示小數
分兩種:
單精度float 4位元組 7位有效數字
雙精度double 8位元組 15-16位有效數字
科學計數法
float f2 = 3e2; //3 * 10^2 結果為300
float d1 = 3e-2; //3 * 0.1^2 結果為0.03
字元型
作用:用於顯示單個字元
char ch = 'a';
只佔用1個位元組
字元型變數並不是把字元本身放到記憶體中儲存,而是將對應的ASCⅡ編碼放入到儲存單元
轉義字元
作用:用於表示一些不能顯示出來的ASCⅡ字元
字串型
用於表示一串字元
兩種風格:
C風格:char 變數名[] = "字串值"
C++風格:string 變數名 = "字串值"
需要包含標頭檔案#include <string>
布林型別bool
代表真或假的值
true 本質是1
false 本質是0
佔用1個位元組大小
資料的輸入
用於從鍵盤獲取資料
關鍵字:cin
語法:cin >> 變數
運演算法
用於執行程式碼的運算
算術運算子
用於處理四則運算
前置遞增 ++ a2 = 10;b2 = ++a2 * 10; a2=11,b2=110
先讓變數+1,然後進行運算
後置遞增 ++ a2 = 10;b2 = a2++ * 10; a2=11,b2=100
先進行表示式運算,後讓變數+1
前置遞減 – a2 = 10;b2 = --a2 * 10; a2=9,b2=90
後置遞減 – a2 = 10;b2 = a2-- * 10; a2=9,b2=100
賦值運算子
用於將表示式的值賦給變數
比較運算子
用於表示式的比較,並返回一個真值或者假值
邏輯運算子
用於根據表示式的值返回真值或假值
程式流程結構
支援最基本的三種程式執行結構:順序結構、選擇結構、迴圈結構
選擇結構
if語句
三目運算子
實現簡單的判斷
語法:表示式1 ? 表示式2 : 表示式3
返回的變數,可以繼續賦值
switch語句
執行多條件分支語句
if和switch的區別
switch缺點:判斷的時候只能是整型或者字元型,不可以是一個區間
switch優點:結構清晰,執行效率高
迴圈結構
while迴圈語句
語法:while(迴圈條件){ 迴圈語句 }
do…while迴圈語句
for循壞語句
巢狀循壞
跳轉語句
break語句
用於跳出選擇結構或者迴圈結構
continue語句
在迴圈語句中,跳過本次迴圈中餘下尚未執行的語句,繼續執行下一次的迴圈
break和continue區別
continue並沒有使整個迴圈終止,而break會跳出迴圈
goto語句(瞭解)
可以無條件跳轉語句(不推薦使用)
案例:水仙花數
案例:敲桌子
案例:乘法口訣表
陣列
概述
就是一個集合,裡面存放了相同型別的資料元素
特點1:陣列中的每個資料元素都是相同的資料型別
特點2:陣列是由連續的記憶體位置組成的
一維陣列
一維陣列定義的三種方式:
資料型別 陣列名[ 陣列長度 ];
資料型別 陣列名[ 陣列長度 ] = {值1,值2...};
資料型別 陣列名[ ] = {值1,值2...};
一維陣列名稱的用途:
- 可以統計整個陣列在記憶體中的長度
- 可以獲取陣列在記憶體中的首地址
陣列名是常量,不可以進行賦值操作
二維陣列
二維陣列就是在一維陣列上,多加一個維度
有四種定義方式:
建議使用:陣列型別 陣列名[行數][列數] ={{資料1,資料2},{資料3,資料4}}
更加直觀,提高程式碼的可讀性
二維陣列名稱的用途:
- 檢視二維陣列所佔記憶體空間
- 可以獲取二維陣列首地址
案例:氣泡排序
函式
將一段經常使用的程式碼封裝起來,減少重複程式碼
一個較大的程式,一般分為若干個程式塊,每個模組實現特定的功能
函式的定義
一般有五個步驟:
- 返回值型別
- 函式名
- 引數列表
- 函式體語句
- return表示式
語法:
返回值型別 函式名(引數列表) //引數列表中的引數只是一個形參
{ //如果函式不需要返回值,宣告時可以寫void
函式體語句
return表示式 //返回值不需要的時候,可以不寫return
}
函式的呼叫
值傳遞
- 就是函式呼叫時實參將數值傳入給形參
- 值傳遞時,如果形參發生,並不會影響實參
函式的常見樣式
四種:
- 無參無返
- 有參無返
- 無參有返
- 有參有返
函式的宣告
告訴編譯器函式名稱以及如何呼叫函式。函式的實際主體可以單獨定義
利用函式宣告能提前告訴編譯器函式的存在
- 函式的宣告可以多次,但是函式的定義只能有一次
函式的分檔案編寫
讓程式碼結構更加清晰
四個步驟:
- 建立字尾名為.h的標頭檔案
- 建立字尾名為.cpp的原始檔
- 在標頭檔案中寫函式的宣告
- 在原始檔中寫函式的定義