1.a += 5;//a = a + 5;
其他的計算相近,這裡有的人說區分不開放在前面和放在後面的意義,其實這個單純地看做乙個符號是最好的。和+無關,和=無關,和兩者的組合有關。
2.判斷語句if
if (word)
else
如果僅為一條結果語句也可以省略花括號
if (word) std::cout
<< "it is a word.\n";
但是不推薦這樣進行處理,因為這樣會造成後期**檢錯和**修改的不便。
3.三元操作符
w = ( (word % 2) == 0) ? 'y' : 'n'
;//偶數y,奇數n
這裡把值賦給了w,這裡也可以直接輸出
std::cout
<< ( (word % 2) == 0) ? 'y' : 'n';
這裡需要注意的是 == 和 = 的區別。
4.判斷語句,switch
switch (year)
注意,這裡的break是直接跳出該迴圈。
switch的限制是:它只能使用整數和char資料型別。
5.++,–
int a = 5;
a++;// 6
6.sizeof返回變數或者變數型別在該系統中的記憶體占用空間
std::cout
<< "size of float"
<< sizeof(float) << " byte(s).\n";
float w = 0.3;
std::cout
<< "size of w"
<< sizeof w << " byte(s).\n";
7.while只用當條件滿足時才停止。
while (multiplier <= num)
8.do while和while的區別在於,前者至少會執行一次迴圈體,後者可以一次都不執行。
9.我們儲存的資料能無限儲存麼?不能
我們在定義變數時都會提前宣告型別,也就是給分配記憶體,8位二進位制,16位二進位制,64位二進位制等等。
比如分配的空間範圍為0~65535,那麼65535+1=0,0-2=65534
10.for (宣告變數賦值變數;判斷是否滿足條件;在判斷之前執行該項一次)
for (int i =5, int j =8; (i+j) <= w; ++i,++j)
11.switch不區分大小寫的分支(因為使用者輸入大小寫都是有可能的)
case
'y':
case
'y':
std::cout
<< "ok!";
break;
12.輸入cin,輸出cout都是來自於iostream
因此需要在前面加上引入iostream
13.在switch的情況沒有滿足的case,那麼定義乙個default作為switch的結尾。
default:
std::cout
<< "nothing!\n";
break;
}
14.當使用者輸入資料時不會被一邊輸入一邊寫入,只會在回車鍵按下後,一次性傳送到c++程式中。
在多項輸入時,緩衝區的資料會對其他項造成影響。
std:
:cin
::ignore(5);
這裡是丟棄緩衝區的5個字元。
std:
:cin
::ignore(10, '\n');
這裡是丟棄10個字元或者直到遇到另乙個換行符。
std::cin::ignore(std::cin.gcount()+1);
刪除整個緩衝區
15.一次輸入兩個字串,中間使用空格分開的
16.讀入一整行文字
std::string input;
std::cout
<< "input something: ";
std::getline(std::cin, input);
直到換行符出現,輸入結束。
17.cin輸入的問題:
1.無法把乙個值賦值給乙個變數,程式仍然繼續執行。鍵盤輸入資料與獲得的變數不匹配,程式給出乙個錯誤的結果;
2.cin接收到資料才能執行,只是一直按回車鍵,程式將一直等在那裡。
if (std::cin.eof()) //到達檔案末尾,返回true;
if (std::cin.fail()) //cin無法工作,返回true;
if (std::cin.bad()) //遇到較為嚴重的原因,無法工作,返回true;
if (std::cin.good()) //上面情況沒發生,返回true;
18.當使用者輸入錯誤時,需要程式刪除一些緩衝資料,重新等待使用者鍵入。
int
age;
std::cout
<< "enter
your
age: ";
while (!(std
::cin >> age))
增加輸入的提示資訊
std::cout
<< "enter a number: [##.#] ";
19.字串轉換為數值型別
strtol(); //字串——長整數
strtod(); //字串——double浮點數
strtold()
: //字串——long double浮點數
20.資料輸出到檔案——fstream庫
#include
std::ofstream fileoutput("filename"); //將fileoutput與檔案進行關聯。
filname的檔案格式:
絕對路徑:d:\\mylife\\filename.ext或/mylife/filename.ext
;相對路徑:../filename.ext或mylife\\filename.ext
;
檔案呼叫時不需要原檔案存在,可以直接生成。
fileoutput.close();//關閉檔案流
std:
:ofstream fileoutput("name.txt", std:
:ios::
:ios
:
if (fileoutput.is_open())在檔案開啟時,可以先建立ofstream型別的變數,在呼叫open()函式
std::ofstream fileoutput;
fileoutput.open("/mylife/filename.ext");
ios:
:nocreate; //如果不存在,就不建立
ios:
:noreplace; //如果存在,不要開啟
fileoutput("name.txt",(std:
:ios
:ios
::nocreate)); //同時使用多個標誌
21.
../ 代表當前目錄的父目錄;
./ 代表當前目錄。
22.
std::string line;
while (std::getline(flieinput, line, '|') ) //getline()會一直讀到"|"(預設為:換行符),存入line
std::string entirefile, line;
while (std::getline(flieinput, line) )
23.定義自己的函式
void
max(); //void定義函式沒有返回值
intmax(); //定義乙個簡單的型別,這裡的空白()表示沒有輸入
函式原型定義在main()之前
#include statements
void
max();
int main()
void
max()
24.建立帶輸入引數的函式
void
max (int num, int power); //每個引數都要宣告
void
max (int num, int power = 5); //可以直接賦值,但是賦值項必須在可選引數之前
storm從入門到精通 第二節 基礎知識講解
topologies streams spouts bolts stream groupings reliability tasks workers configuration storm集群架構 nimbus和supervisor的關係就是傳統的主從關係,它們單獨都可以做成集群模式。zookeep...
PCL入門第二節2020 02 13
pcd v.7 point cloud data file format version 7 指定pcd的檔案版本 fields x y zrgb 指定點可以有的維度和字段的名稱。例如 fileds x y z xyz data size 444 4 指定每個維度的位元組大小 unsigned ch...
第二節 2 委託入門筆記
委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞。事件是一種特殊的委託。一丶委託的宣告 1 delegate delegate我們常用到的一種宣告 delegate至少0個引數,至多32個引數,可以無返回值,也可以指定返回值型別。例 public delegate in...