C++Day01

蘇明生Louis發表於2020-10-16

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...};
  3. 資料型別 陣列名[ ] = {值1,值2...};

一維陣列名稱的用途:

  1. 可以統計整個陣列在記憶體中的長度
  2. 可以獲取陣列在記憶體中的首地址

陣列名是常量,不可以進行賦值操作

二維陣列

二維陣列就是在一維陣列上,多加一個維度

有四種定義方式:

建議使用:陣列型別 陣列名[行數][列數] ={{資料1,資料2},{資料3,資料4}}

更加直觀,提高程式碼的可讀性

二維陣列名稱的用途:

  1. 檢視二維陣列所佔記憶體空間
  2. 可以獲取二維陣列首地址

案例:氣泡排序

函式

將一段經常使用的程式碼封裝起來,減少重複程式碼

一個較大的程式,一般分為若干個程式塊,每個模組實現特定的功能

函式的定義

一般有五個步驟:

  1. 返回值型別
  2. 函式名
  3. 引數列表
  4. 函式體語句
  5. return表示式

語法:

返回值型別 函式名(引數列表)		//引數列表中的引數只是一個形參
{							//如果函式不需要返回值,宣告時可以寫void
    函式體語句
        
    return表示式		//返回值不需要的時候,可以不寫return
}

函式的呼叫

值傳遞

  • 就是函式呼叫時實參將數值傳入給形參
  • 值傳遞時,如果形參發生,並不會影響實參

函式的常見樣式

四種:

  1. 無參無返
  2. 有參無返
  3. 無參有返
  4. 有參有返

函式的宣告

告訴編譯器函式名稱以及如何呼叫函式。函式的實際主體可以單獨定義

利用函式宣告能提前告訴編譯器函式的存在

  • 函式的宣告可以多次,但是函式的定義只能有一次

函式的分檔案編寫

讓程式碼結構更加清晰

四個步驟:

  1. 建立字尾名為.h的標頭檔案
  2. 建立字尾名為.cpp的原始檔
  3. 在標頭檔案中寫函式的宣告
  4. 在原始檔中寫函式的定義