黑馬程序員C++2024版筆記 第0章 C++入門

1.C++代碼的基礎結構

以hello_world代碼為例:

預處理指令

#include<iostream>
using namespace std;

代碼前2行是預處理指令,即代碼編譯前的準備工作。(編譯是將源代碼轉化為可執行程序.exe文件的過程)

主函數

主函數是程序入口,即程序執行的開始。

其中的代碼是邏輯代碼/功能代碼,每一行以分號;結尾。

int main()
{cout << "Hello World!" <<endl;return 0;
}

2.單工程多main函數設置

Clion是以工程管理代碼,一般情況下,一個過程代指一個具體的程序開發任務。即,

  • 每個程序開發都有各自對應的工程
  • 由于main函數是工程的入口,所以每個工程僅允許1個main函數。

在學習過程中,每個知識點都創建一個文件夾不方便,一個比較直觀的想法是,把每個文件下的main函數改成其他,比如main11,main22,但是這樣就太難受了。

另一個辦法:創建新文件時,把默認的“添加到目標”(add to target)取消勾選,即可正常運行。

3.手動編譯代碼并運行

使用Clion集成開發工具可以快捷的通過鼠標點擊直接運行代碼。但是作為開發人員,原始的代碼編譯并運行的方式也是需要了解的。

mingw工具可以實現在Windows、macos和Linux系統編譯。

3.1編譯器相關前置操作

MINGW下載

https://sourceforge.net/projects/mingw/

安裝

雙擊exe程序安裝,change可以改變安裝位置,點擊continue開始聯網下載。

下載完成后點擊continue就會彈出mingw 安裝管理器:

選擇mingw32和mingw32-gcc-g++,選中然后點擊“mark for installation”

選中后在左上角installation選擇apply changes,并在確認框點擊apply

安裝完成后關閉

檢查

打開mingw的安裝位置,選擇bin文件夾并打開找到g++

配置環境變量

在windows搜索框里搜索“高級系統設置”,點擊面板里的環境變量按鈕,找到系統變量中的path變量,點擊編輯。將bin文件夾所在路徑復制并添加進path中,點擊確定,環境變量就配置好了。

驗證

windows+r,輸入cmd,打開命令行。輸入

g++ -v

并回車。如果彈出gcc版本(例如我的是gcc version 6.3.0)說明配置成功。

3.2手動編譯代碼

新建一個文本文件,把任意代碼寫進去。寫完關閉并保存。

修改文件后綴為.cpp。代開命令行,使用cd命令切換到測試代碼所在的文件夾

在當前目錄下輸入

g++ 文件名.cpp -o 文件名.exe

并回車。?

當前目錄下除了test.cpp文件還生成了test.exe文件。直接輸入test.exe回車就能運行了。

以上就是編譯步驟。

這部分黑馬的曹老師總結了一個文檔方便大家記憶:手動編譯代碼并執行 · 語雀

4.[擴展]vscode環境配置

提示:配置vscode環境必須完成第三節的編譯環境準備。

老師將配置過程寫在這篇文檔里了,可以結合b站的課程聽一下。

C++入門-08_【擴展】VSCode環境配置_嗶哩嗶哩_bilibili

Visual Studio Code 配置 · 語雀

5.cout打印輸出

在clion中創建cout源文件。注意補藥勾選添加到目標。

單行輸出:endl有換行作用

#include <iostream>
using namespace std;int main() {cout << "1" << endl;cout << "2" << endl;return 0;
}

一行多個輸出:<<填充內容

#include <iostream>
using namespace std;int main() {cout << "1" << "+" << "1" << endl;return 0;
}

6.代碼注釋

單行注釋

以//開頭的行被視為注釋,編譯器不會對其進行處理。
// 所在行右側內容作為注釋存在
//和注釋內容建議相隔一個空格。

多行注釋

多行注釋以/*開頭,以*/結尾,中間全部內容為注釋。在/*和*/之間可以任意換行。

7.Clion設置

1.修改為中文->安裝Chinese插件

2.字體大小調整->設置搜索鼠標勾選”使用ctrl+鼠標更改字號“,選擇所有編輯器

3.更換主題->插件搜索主題

4.快捷鍵

shift+alt+鍵盤上/下控制當前行進行上/下移動
ctrl+d復制當前
home、end移動光標到行首、行尾
ctrl+鍵盤左/右光標左右跳單詞

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/81436.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/81436.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/81436.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

日語學習-日語知識點小記-構建基礎-JLPT-N4階段(22):復習

日語學習-日語知識點小記-構建基礎-JLPT-N4階段(22):復習 1、前言(1)情況說明(2)工程師的信仰2、知識點(1)復習(2)復習3、單詞(1)日語(2)日語片假名單詞4、對話練習5、單詞辨析記錄6、總結1、前言 (1)情況說明 自己在今年,在日本留學中,目前在語言學校,…

Docker配置SRS服務器 ,ffmpeg使用rtmp協議推流+vlc拉流

目錄 演示視頻 前期配置 Docker配置 ffmpeg配置 vlc配置 下載并運行 SRS 服務 推拉流流程實現 演示視頻 2025-05-18 21-48-01 前期配置 Docker配置 運行 SRS 建議使用 Docker 配置 Docker 請移步&#xff1a; 一篇就夠&#xff01;Windows上Docker Desktop安裝 漢化完整指…

Redis——緩存雪崩、擊穿、穿透

緩存雪崩 大量緩存數據在同一時間過期或者Redis故障宕機時&#xff0c;若此時有大量請求&#xff0c;都會直接訪問到數據庫&#xff0c;導致數據庫壓力倍增甚至宕機。 大量數據同時過期解決方案&#xff1a; 1、均勻設置過期時間&#xff1a; 設置過期時間的時候可以追加一…

開源GPU架構RISC-V VCIX的深度學習潛力測試:從RTL仿真到MNIST實戰

點擊 “AladdinEdu&#xff0c;同學們用得起的【H卡】算力平臺”&#xff0c;H卡級別算力&#xff0c;按量計費&#xff0c;靈活彈性&#xff0c;頂級配置&#xff0c;學生專屬優惠。 一、開篇&#xff1a;AI芯片架構演變的三重挑戰 &#xff08;引述TPUv4采用RISC-V的行業案…

字符串相乘(43)

43. 字符串相乘 - 力扣&#xff08;LeetCode&#xff09; 解法&#xff1a; class Solution { public:string multiply(string num1, string num2) {string res "0";for (int i 0; i < num2.size(); i) {string str multiplyOneNum(num1, num2[num2.size() -…

mathematics-2024《Graph Convolutional Network for Image Restoration: A Survey》

推薦深藍學院的《深度神經網絡加速&#xff1a;cuDNN 與 TensorRT》&#xff0c;課程面向就業&#xff0c;細致講解CUDA運算的理論支撐與實踐&#xff0c;學完可以系統化掌握CUDA基礎編程知識以及TensorRT實戰&#xff0c;并且能夠利用GPU開發高性能、高并發的軟件系統&#xf…

[LevelDB]LevelDB版本管理的黑魔法-為什么能在不鎖表的情況下管理數據?

文章摘要 LevelDB的日志管理系統是怎么通過雙鏈表來進行數據管理為什么LevelDB能夠在不鎖表的情況下進行日志新增 適用人群: 對版本管理機制有開發訴求&#xff0c;并且希望參考LevelDB的版本開發機制。數據庫相關從業者的專業人士。計算機狂熱愛好者&#xff0c;對計算機的…

【C++進階篇】C++容器完全指南:掌握set和map的使用,提升編碼效率

C容器的實踐與應用&#xff1a;輕松掌握set、map與multimap的區別與用法 一. 序列式容器與關聯式容器1.1 序列式容器 (Sequential Containers)1.2 關聯式容器 (Associative Containers) 二. set系列使用2.1 set的構造和迭代器2.2 set的增刪查2.2.1 插入2.2.2 查找2.2.3 刪除 2.…

2_Spring【IOC容器中獲取組件Bean】

Spring中IOC容器中獲取組件Bean 實體類 //接口 public interface TestDemo {public void doSomething(); } // 實現類 public class HappyComponent implements TestDemo {public void doSomething() {System.out.println("HappyComponent is doing something...")…

安卓開飯-ScrollView內嵌套了多個RecyclerView,只想與其中一個RecyclerView有聯動

在 Android 開發中&#xff0c;將 RecyclerView 嵌套在 ScrollView 內通常會導致性能問題和滾動沖突&#xff0c;應盡量避免這種設計。以下是原因和替代方案&#xff1a; 為什么不推薦 RecyclerView ScrollView&#xff1f;?? 性能損耗? RecyclerView 本身已自帶高效回收復…

HTTP 請求中 Content-Type 頭部

HTTP 請求中 Content-Type 頭部可以設置的各種不同的傳輸格式。multipart/form-data 只是其中一種,主要用于傳輸包含文件的數據。 以下是一些常見的 HTTP 請求體的 Content-Type 及其用途: 常見的數據傳輸格式 (Content-Type) 列表: application/json: 描述: 用于傳輸 JSO…

【U-boot 命令使用】

文章目錄 1 查詢有哪些命令2 信息查詢命令dbinfo - 查看板子信息printenv- 輸出環境變量信息version - 輸出uboot版本信息 3 環境變量操作命令修改環境變量新建環境變量刪除環境變量 4 內存操作命令md命令nm命令mm命令mv命令cp命令cmp命令 5 網絡操作命令與網絡有關的環境變量p…

初學者如何用 Python 寫第一個爬蟲?

初學者如何用 Python 寫第一個爬蟲&#xff1f; 一、爬蟲的基本概念 &#xff08;一&#xff09;爬蟲的定義 爬蟲&#xff0c;英文名為 Web Crawler&#xff0c;也被叫做網絡蜘蛛、網絡機器人。想象一下&#xff0c;有一個勤勞的小蜘蛛&#xff0c;在互聯網這個巨大的蜘蛛網中…

IDE/IoT/搭建物聯網(LiteOS)集成開發環境,基于 VSCode + IoT Link 插件

文章目錄 概述IDE安裝安裝舊版本VSCode安裝插件安裝問題和解決手動安裝SDK包手動下載依賴工具 IoTLink配置IoTLink Home用戶設置-工具鏈-編譯器用戶設置-工具鏈-構建器用戶設置-工具鏈-燒錄器用戶設置-SDK管理工程設置-SDK配置工程設置-編譯器工程設置-調試器 創建工程Demo 源碼…

深度剖析:Dify+Sanic+Vue+ECharts 搭建 Text2SQL 項目 sanic-web 的 Debug 實戰

目錄 項目背景介紹sanic-web Dify\_service handle\_think\_tag報錯NoneType問題描述debug Dify調用不成功&#xff0c;一直轉圈圈問題描述debug 前端markdown格式只顯示前5頁問題描述debug1. 修改代碼2.重新構建1.1.3鏡像3.更新sanic-web/docker/docker-compose.yaml4. 重新部…

理想AI Talk第二季-重點信息總結

一、TL&#xff1b;DR 理想為什么要做自己的基模&#xff1a;座艙家庭等特殊VLM場景&#xff0c;deepseek/openai沒有解決理想的基模參數量&#xff1a;服務端-300B&#xff0c;VLencoder-32B/3.6B&#xff0c;日常工作使用-300B&#xff0c;VLA-4B為什么自動駕駛可以達成&…

TensorRT

TensorRT 下載 TensorRT 7.1.3.4 TAR壓縮包&#xff0c;解壓到安裝目錄&#xff1a; tar xzvf TensorRT-7.1.3.4.Ubuntu-16.04.x86_64-gnu.cuda-11.0.cudnn8.0.tar.gz 添加 TensorRT lib 到環境變量&#xff1a; gedit ~/.bashrc # 添加 export LD_LIBRARY_PATH$LD_LIBRARY_PAT…

【NGINX】 -9 nginx + tomcat實現的多級反向代理

文章目錄 1、tomcat的安裝 (centos版本)1.1 安裝Java依賴環境1.2 安裝tomcat 2、tomcat的虛擬主機的配置2.1 配置多級目錄 3、利用nginx的反向代理實現將轉發指向一個虛擬機3.1 nginx服務器的配置3.2 客戶端配置 4、 反向多級代理代理服務器操作nginx 1 服務器nginx 2 服務器to…

基于requests_html的python爬蟲

前言&#xff1a;今天介紹一個相對性能更高的爬蟲庫requests_html&#xff0c;會不會感覺和requests有點聯系&#xff1f;是的。為什么開始不直接介紹呢&#xff1f;因為我覺得requests是最基本入門的東西&#xff0c;并且在學習過程中也能學到很多東西。我的python老師在介紹這…

【架構篇】架構類型解釋

架構設計的本質&#xff1a;從模糊概念到系統化思維 摘要 “架構”是系統設計的靈魂&#xff0c;但許多人對它的理解仍停留在抽象層面。本文系統解析架構的8大核心維度&#xff0c;結合設計原則、案例與誤區分析&#xff0c;幫助開發者建立從戰略到落地的完整認知框架。 一、架…