1. 程式人生 > >重溫c++(二)

重溫c++(二)

TP for 循環 定義 CI 如果 精度 print con 字節

---恢復內容開始---

數組---恢復內容開始---

格式控制符:

%x:以16進制的形式輸出或者讀入;

%u:已無符號形式輸出或讀入

技術分享圖片

cin cout 與scanf printf,一個程序不要兩者混用;

運算符:賦值運算符,算術運算符,關系運算符,邏輯運算符;

賦值運算符:=,+=,-=,*=,/=,%=

算數運算符:+,-,*,/,%,++,-- 進行算數運算時,如果存在溢出,則把溢出的部分拿掉(浮點型的難以預測),如 int i=0xffffffff,j;j=i+3; j=0x100000002;j為int型,4字節,j=2;計算時註意計算結果可能不溢出,但計算中間存在溢出,如計算printf("%d",(a+b)/2);如果a+b計算的結果c超出了int範圍,則計算會出錯,除法計算的類型與操作數中精度高的類型保持一致.

關系運算符:== != > < >= <= 返回結果為bool型,

邏輯運算符:&& || ! 短路計算,即計算到結果可以預知則不往後計算;

運算順序:技術分享圖片一般可用()來使得優先運算

條件結構:if else, 存在多個相鄰的if else ,else與最近的if 匹配,

if else 過多時,根據情況可選擇switch 語句,

switch(表達式){ //表達式返回類型只能為整數類型 int, char(char類型實際就是ASCII碼值)

  case 常量表達式1:

      break;

  case 常量表達式2

    break;

     ....

}

循環結構:for循環,for(表達式1;表達式2;表達式3){  語句組;  }

技術分享圖片

for 循環中的表達式1,2,3都可以不寫,但是";"要保留.

do{循環體;} while(條件)循環,先循環在判斷條件

break:跳出最近的循環體;

continue:到循環的頭部,後面的語句不在執行,若為for循環,for(int i=0;i<n;i++),表達式3 :i++會執行

數組:


定義:類型名 數組名[元素個數],元素個數必須是常量或常量表達式;數組在內存中是連續存放的

T a[N]占用的空間是N*sizeof(T),字節,數組名a指的是數組所存儲的首地址,假設為p,則a[N]所存儲的地址為p+N*sizeof(int),

篩法求素數:技術分享圖片

技術分享圖片

數組的初始化 int arr[10]={1,2,3,4}未賦予初始值的默認為二進制0,

技術分享圖片

數組下標越界編譯不報錯,運行可能會出錯,因為操作系統可能不允許越界區域內存的寫入.

二維數組:

二維數組在內存中也是連續存放技術分享圖片二維數組初始化 int a[2[3]={(1,2,3),(4,5,6)}

如果對每行都進行了初始化,可以不寫行數 int a[][3]={(1,2,3),(4,5,6)}

重溫c++(二)