二、認識C++ 1、項目創建 1)創建項目 ①控制台應用 ②創建項目及解決方法 ③項目創建成功頁面 2、內容輸出 #include <iostream> int main() { std::cout << "認識C++\n"; //可以理解為把雙引號中的字元串,通過<<流入到了屏幕上 } "\n"表 ...
二、認識C++
1、項目創建
1)創建項目
①控制台應用
②創建項目及解決方法
③項目創建成功頁面
2、內容輸出
#include <iostream>
int main()
{
std::cout << "認識C++\n"; //可以理解為把雙引號中的字元串,通過<<流入到了屏幕上
}
"\n"表示換行,若要輸入\n,需要輸出"\n"
3、換行
①使用\n進行換行
#include <iostream>
int main()
{
std::cout << "認識C++\\n";
}
②使用std::endl進行換行
#include <iostream>
int main()
{
std::cout << "認識C++" << std::endl; //一個語句結束後必須要有英文分號
}
總結:
文字要放在雙引號內 | "認識C++" |
---|---|
換行 | "\n" |
換行 | std::endl |
顯示 | std::cout |
反斜杠規則 | 兩個頂一個 |
符號字母要用英文模式 | "" |
4、練習:導彈控制
1)需求:你負責為火星反抗軍設計一套導彈控制系統,要求你在控制臺上設計出它的界面,按照司令部的要求,界面是這個樣子的:
火星反抗軍第一司令部導彈控制系統1.0
\1\載入導彈
\2\發射導彈至冥王星
\3\發射導彈至白馬星座X20行星
輸入\\\\和對於功能編號發射導彈\(例如:\\\\3)
2)代碼如下
#include <iostream>
int main()
{
std::cout << "火星反抗軍第一司令部導彈控制系統1.0\n";
std::cout << "\n";
std::cout << "\\1\\載入導彈" << std::endl;
std::cout << "\\2\\發射導彈至冥王星" << std::endl;
std::cout << "\\3\\發射導彈至白馬星座X20行星" << std::endl;
std::cout << std::endl;
std::cout << "輸入\\\\\\\\和對於功能編號發射導彈\\(例如:\\\\\\\\3)\n";
}
5、C/C++語法解析
//兩個正斜杠代表註釋,用於註釋代碼,便於閱讀方便,不執行C/C++語法
#include <iostream> //預處理指令,告訴編譯器調用iostream文件
int main() //main函數,控制台程式都是從main()函數開始執行,範圍為{}
{
std::cout << "火星反抗軍第一司令部導彈控制系統1.0\n"; //把內容輸出至屏幕
std::cout << "\n"
; //每一個語句必須以分號結束,不是以回車結束,一個分號算一個語句
std::cout << "\\1\\載入導彈" << std::endl;
std::cout << "\\2\\發射導彈至冥王星" << std::endl;
std::cout << "\\3\\發射導彈至白馬星座X20行星" << std::endl;
std::cout << std::endl;
std::cout << "輸入\\\\\\\\和對於功能編號發射導彈\\(例如:\\\\\\\\3)\n";
} //大括弧成對出現,第二個大括弧表示程式結束
/*這也表示註釋
可以進行換行*/
//C++中大小寫敏感,如std:cout Std:cout std:COUT互相不相同
總結
每一條語句以;結束 | std::cout << std::endl; |
---|---|
大小寫敏感 | std:cout Std:cout std:COUT互相不相同 |
文字(字元串)放在雙引號內 | "這是文字" |
//表示註釋,//後面的字元並不執行 | //這是註釋 |
/*和*\內的內容是註釋 | /*這是註釋*/ |
控制台程式是由main函數開始的 | int mian() {} |
#include程式是一條預處理指令 | "#include"用於載入頭文件,就相當於說明書 |
關鍵字是C++中含有特殊意義的保留字元 | 如int,main |
6、C/C++常用基礎指令
1)常見基礎指令
函數(指令名) | 功能功能 | 示例 |
---|---|---|
printf | 屏幕上顯示文字 | printf("要顯示的文字"); |
system | 執行系統命令 | system("pause"); //暫停 |
①printf函數
#include <iostream>
int main()
{
printf("這是一個測試,關於print\n");
std::cout << "這是一個測試,關於print\n";
}
//std:cout本質是一個類,用於C++的字元輸出,printf是一個函數
②system函數:輸入的命令在操作系統中有才能執行
#include <iostream>
int main()
{
system("pause"); //暫停
system("cls"); //清屏 clean screen
system("mode con cols=100 lines=80"); //設置控制臺大小,cols=寬 lines=高
system("color 02"); //設置控制台顏色,用兩個16進位的數表示
system("C:\\Users\\Administrator\\Pictures\\shell.jpg"); //打開某個文件
}
2)特殊字元顯示:特殊字元輸出使用轉義字元反斜杠\
字元 | 顯示結果 |
---|---|
"\" | \ |
"\"" | '' |
"'" | '' |
"\n" | 換行 |
7、"麟江湖"界面設計
#include <iostream>
int main()
{
system("color 84"); //黑色背景為color 04
std::cout << "===========================================\n";
std::cout << " 麟江湖“控制台”版v1.0 \n";
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << " 正在載入游戲... \n";
std::cout << " 進度[8/100] \n";
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << " 官方網站http://www.ljh.com \n";
std::cout << "===========================================\n";
system("pause");
}
8、電腦基礎知識
1)電腦主要元器件
CPU | 運算 | 中央處理器,擅長整數加減乘除,GPU擅長小數計算 |
---|---|---|
記憶體 | 內部儲存器 | 離cpu近,讀寫速度快,斷電後數據丟失 |
硬碟 | 外部存儲器 | 離cpu遠,讀寫速度快,斷電後數據不丟失 |
鍵盤/滑鼠 | 輸入設備 | |
顯示器 | 刪除設置 |
2)記憶體模擬
記憶體就是一個一個的小格,用於存儲電流的高低電平,小格越多,則儲存器的容量越大,8個小格稱為一個位元組,8個1表示255,即2^8=256-1=255
3)CPU和記憶體關係(計算250+450)
①記憶體中的第0個小格放置250,第1個小格放置450,第3個小格放置+號,第四個小格放置結果
②CPU會先向記憶體獲取數據,首先CPU通過控制匯流排告訴記憶體是讀操作還是寫操作,讀就是讓記憶體給予CPU數據
③CPU通過地址匯流排告訴記憶體要第幾格裡的數據,例如CPU向記憶體獲取第0格中的數據250
④記憶體將第0格中的數據250,通過數據匯流排傳輸給CPU
⑤依次迴圈,CPU獲取到需要的記憶體中所有數據,
⑥CPU完成運算後,通過控制匯流排告訴記憶體,進行寫操作,同時告訴記憶體將運算後的數據放置在哪個格
4)CPU設計
匯流排傳輸的數據,有線的數量決定
32位CPU有32條匯流排,CPU從記憶體獲取數據,一次最多傳輸2^32=4GB的數據
64位CPU有64條匯流排,CPU從記憶體獲取數據,一次最多傳輸2^64的數據
9、進位(萬物皆數字)
255和-1在記憶體中的存放形式都是一樣的,都是11111111,只是編碼方式不同
在電腦中,萬物皆數字,即所有的視頻、文字、音頻在電腦中都是以0、1二進位數表示
十進位 | 99,10'250 |
---|---|
二進位 | 0b11,0B11111111 |
八進位 | 011 |
十六進位 | 0xF1,0xFE |
#include <iostream>
int main()
{
std::cout << 123456 << std::endl;; //輸出數字123456,不需要加雙引號
std::cout << 123456 + 1 << std::endl;; //數字可以進行加法
std::cout << 123'456'789 << std::endl; //對於大數字可以使用單引號分開,方便閱讀,含義不變
std::cout << 0b11<<std::endl; //二進位數在開始位置使用0b表示(0b大小寫不分)
std::cout << 011 << std::endl; //八進位數表示在開始位置使用0表示
std::cout << 0x10 << std::endl; //十六進位表示在開始位置使用0x表示
}