C++入門指南及實戰 第二步 HelloWorld及擴展詳解

回顧

在上一節中,我們編寫了如下代碼,完成了 HelloWorld程序的編寫:

#include<iostream>
using namespace std;int main(){cout <<"Hello World";return 0;
}

本小節將會對該代碼進行講解,并且解釋一下專業名詞。
在這里插入圖片描述

釋義

#include<iostream>
以上代碼中,#include 表示引入一個頭文件,頭文件是一個“工具庫”。當我們在編寫代碼時,往往會使用到一些功能,這些功能在某些頭文件(工具庫)中,這時通過#include這一串代碼,就可以將指定的頭文件(工具庫)引入到當前編寫的代碼之中。
在 HelloWorld 程序中,需要完成的功能為在程序運行時,顯示 HelloWorld、顯示HelloWorld 需要使用的工具在 iostream 這個頭文件中。因為#include的語法(指使用方法)為 #include<頭文件名>,所以只需要將iostream 填寫在尖括號中即可,寫為 #include<iostream>

int main(){}
以上代碼中 int main() 表示一個程序的入口,我們主要看main,int之后會詳細說明。main函數整個程序只能存在一個,表示你這個程序的一個入口。計算機在執行你程序時,需要知道你程序時從哪開始的,這個main就表示你當前編寫的程序要從哪里開始。main后面緊跟著一對圓括號()之后再一對花括號{},花括號內編寫代碼。

cout <<"Hello World";
以上代碼是main入口括號中的第一句,cout表示輸出,換句話說cout是顯示的意思,之后兩個 << 符號,緊接著是雙引號加一串字符串"Hello World"。在C++中,a、b、c、d、?、【等單個字母或符號成為字符,組合在一起成為字符串,并且需要使用雙引號引起來。在這里cout是顯示字符串,語法為cout <<“你要顯示的字符串”,如果想顯示 Hello World 就寫為 cout <<"Hello World";

return 0;
此代碼之后將會講解。

using namespace std;
為了防止在不同的頭文件中有相同的“工具”名稱,使用 命名空間 來區分這些工具是哪個區域的。例如一個學校里面有3個人叫小明,分別是六年級一班有一個小明,六年級二班有一個小明,五年級一班也有一個小明。這些小明在操場上,校長點名,叫到小明時需要添加年級班別,不然三個小明都不知道叫誰,其中這個年就班別名就像命名空間,用這個區分是不同區域的同名角色。
以上 using namespace std;表示使用命名空間 std,語法為 using namespace 命名空間名。(之后命名空間將會詳細講解)這樣引入了這個命名空間則不需要使用如 std::cout 的方式使用這個個cout“工具”(我們把std當作一個區域名,cout表示這個工具)。我們可以刪除 引入命名空間代碼,然后使用 std::cout 方式輸出:

 #include<iostream>int main(){std::cout <<"Hello World";return 0;
}

以上代碼刪除了std的話會報錯,因為不知道你是要使用哪一個工具箱的cout輸出工具:
在這里插入圖片描述
如果想省略std::的話,在頭文件下引入一個命名空間即可:

#include<iostream>
using namespace std;int main(){cout <<"Hello World";return 0;
}

以上的代碼結構為最上部為引入頭文件,接著引入一個命名空間,下面是一個main入口,在入口的花括號中編寫你想要實現的代碼。這個結構并不是一個完整表示的結構,在接下來的學習中將會逐步了解這個過程。

簡單的來說,在編寫代碼時,一般皆是使用系統提供的一些“指令”,這些“指令”成為關鍵字,例如 cout、main、namespace等,這些關鍵字都有特定的作用。這些關鍵字的固定使用“格式”,我們稱之為語法。通過制定的語法進行代碼編寫,最終組成了程序,完成了我們的需求。

例如以上代碼,我想把 Hello World 更改為 Hello Xiaoming,只需要更換顯示內容即可。代碼如下:

#include<iostream>
using namespace std;int main(){cout <<"Hello Xiaoming";return 0;
}

最終是顯示出我替換的內容:
在這里插入圖片描述

編程提示

在C++的代碼編寫中,大多數語句的結尾需要使用分號表示結束。例如cout <<"Hello Xiaoming";以及 return 0;,這個是需要注意的。而且在編程中使用的特殊作用的標點符號必須是英文,很多初學者在這一步上會出現錯誤,遲遲得不到解決,這就是其中一個原因。并且在編寫代碼時,需要注意,程序要同一種風格形式進行對齊,這樣會使程序清晰、可讀性強,方便自己的排錯和解讀等。

知識點須知

本篇學習完后須了解以下知識點:
1.什么是頭文件及頭文件使用方式
2.命名空間及使用命名空間內的“工具”
3.什么是main?程序入口指什么
4.如何顯示數據
5.大多數語句結束后使用什么表示結束
6.入口程序寫在什么括號內

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

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

相關文章

2560x1600分辨率高嗎_做設計還弄不清分辨率和像素之間的關系,來了解下他們是怎么換算...

許多同學都在問我關于像素的問題&#xff0c;為什么印刷時要300分辨率以上&#xff1f;網頁為什么72就夠了&#xff1f;做戶外噴繪30&#xff0c;甚至巨幅畫面20就上了。關于這些還是很多人不知道的&#xff0c;要不也不會被賣手機的忽悠&#xff0c;各大手機推銷員拿著手機大聲…

使用 fixture 機制重構 appium_helloworld

一、前置說明 在 pytest 基礎講解 章節,介紹了 pytest 的特性和基本用法,現在我們可以使用 pytest 的一些機制,來重構 appium_helloworld 。 appium_helloworld 鏈接: 編寫第一個APP自動化腳本 appium_helloworld ,將腳本跑起來 代碼目錄結構: pytest.ini 設置: [pyt…

linux程序調試命令strace

strace命令用法詳解: strace常用來跟蹤進程執行時的系統調用和所接收的信號。 在Linux世界&#xff0c;進程不能直接訪問硬件設備&#xff0c;當進程需要訪問硬件設備(比如讀取磁盤文件&#xff0c;接收網絡數據等等)時&#xff0c;必須由用戶態模式切換至內核態模式&#xff0…

Tomcat相關 -- 內存設置

java內存溢出詳解 一、常見的java內存溢出 1、java.lang.OutOfMemmoryError : Java heap space -- JVM Heap &#xff08;jvm 堆溢出&#xff09; JVM啟動時自動設置JVM Heap的值&#xff0c;其初始空間(即 -Xms)是物理內存的1/64&#xff0c;最大空間(-Xms)不可超過物理內存。…

CoreWCF 1.0 正式發布,支持 .NET Core 和 .NET 5+ 的 WCF

CoreWCF 項目組正式發布 1.0 版本的 CoreWCF, 這是面向 .NET Core 平臺的 WCF 移植版本。它支持 SOAP、NetTCP 和 WSDL 的相同實現。在代碼中的使用方式于 WCF 相同&#xff0c;但是升級到使用 ASP.NET Core 作為服務宿主&#xff0c;并工作在 .NET Core 平臺上。這是該項目的第…

【經典回放】多種語言系列數據結構算法:快速排序

快速排序(Quicksort)是對冒泡排序的一種改進。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通過一趟排序將要排序的數據分割成獨立的兩部分,其中一部分的所有數據都比另外一部分的所有數據都要小,然后再按此方法對這兩部分數據分別進行快速排序,整個排序過…

表頭合并_多個Excel表格合并數據麻煩?試試Power Query輕松幫你解決

Hi!大家好&#xff01;歡迎來到小龍自修室&#xff01;又到了小龍分享時間&#xff01;(今天的內容有點多&#xff0c;希望各位看官一定要看到最后&#xff01;有驚喜)上一篇文字小龍和大家一起制作了一個限定數據內容錄入的電子表格&#xff0c;我的表格我做主&#xff01;表格…

C++入門指南及實戰 第三步 基本變量

在C編程中&#xff0c;內置了一些基本數據類型用來存儲一些不同類型的值。有字符類型 char 用以存儲字符&#xff0c;如a、b、c、d、-、、1、2、4、3、>、?等&#xff1b;有整形 int 用以存儲整數類型&#xff0c;如1、2、3、4、5、11、111、2311等&#xff1b;有浮點類型 …

OPCServer Modbus使用和配置

一&#xff0c;安裝KEPware.Enhanced.OPC.DDE.KEPServer。(PLC數據傳送給KEPServer,開發的程序用OPCServer讀KEPServer) 設置ip地址后面是指的plc站號&#xff0c;此處必須和plc上站號對應。否則無法接收數據。 打開quick client 查看傳值情況 二.C#程序代碼 引用opcdaauto.dll…

C# 創建命名管道服務器

通過創建 NamedPipeServerStream 的一個新實例&#xff0c;來創建服務器。NamedPipeServerStream 派生自基類 PipeStream&#xff0c;PipeStream 派生自 Stream 基類&#xff0c;因此可以使用流的所有功能&#xff0c;例如&#xff0c;可以創建CryptoStream 或 GZipStream&…

在香蕉派 Banana Pi BPI-M1上使用 開源 OxOffice Impress

2019獨角獸企業重金招聘Python工程師標準>>> 在香蕉派 Banana Pi BPI-M1上使用 開源 OxOffice Impress 在Banana Pi BPI-M1上使用OxOffice Impress&#xff0c;該簡報大小約26MB&#xff0c;採用自動播放機制。 OxOffice提供 arm linux的版本&#xff0c;可佈署在ar…

免殺新姿勢:利用線程將惡意代碼注入到內存中

本文講的是免殺新姿勢&#xff1a;利用線程將惡意代碼注入到內存中&#xff0c;產生存放遠程攻擊線程的進程在這篇文章中我不想一步一步解釋我編寫的C#代碼&#xff0c;但是我會展示下它能夠繞過殺毒軟件&#xff0c;并且操作非常簡單&#xff0c;而且實用。 首先說明一下&…

【經典回放】多種語言系列數據結構算法:希爾排序

【希爾排序原理】每隔sp(整數)個數即取數并判斷大小,交換,先構造局部有序序列,直到sp為1,構造完整的有序序列。 給出一組數據,如下: 0 1 2 3

Java之解決散列表的沖突用開放定址法和鏈表法

1 問題 理想狀態下&#xff0c;散列表就是一個包含關鍵字的固定大小的數組&#xff0c;通過使用散列函數&#xff0c;將關鍵字映射到數組的不同位置&#xff0c;哈希函數可以將關鍵字均勻的分散到數組的不同位置&#xff0c;不會出現兩個關鍵字散列值相同&#xff08;假設關鍵…

python 手把手教你基于搜索引擎實現文章查重

前言 文章抄襲在互聯網中普遍存在&#xff0c;很多博主都收受其煩。近幾年隨著互聯網的發展&#xff0c;抄襲等不道德行為在互聯網上愈演愈烈&#xff0c;甚至復制、黏貼后發布標原創屢見不鮮&#xff0c;部分抄襲后的文章甚至標記了一些聯系方式從而使讀者獲取源碼等資料。這…

lru算法實現 redis_使用數組與雙向鏈表實現一個簡單的LRU算法

什么是LRU算法&#xff1f;redis大家都玩過吧&#xff0c;你們好奇redis內存數據存滿之后會發生什么嗎&#xff1f;拋出異常&#xff1f;禁止使用&#xff1f;還是刪除數據&#xff1f;其實redis設計了一種內潤淘汰機制。noeviction(默認策略)&#xff1a;屏蔽寫操作&#xff0…

【經典回放】多種語言系列數據結構算法:歸并排序

目錄 干貨1:C#語言實現歸并排序! 干貨2:C語言實現歸并排序! 干貨1:C#語言實現歸并排序! 一、算法 1、思想基礎

Java對象和類

轉自原文&#xff1a;http://www.yiibai.com/java/java_object_classes.html java是一種面向對象的語言。由于具有面向對象特性的語言&#xff0c;Java支持以下基本概念&#xff1a; 多態性繼承封裝抽象化類對象實例方法消息解析在本章中&#xff0c;我們將探討類和對象這些概念…

bzoj3224 Tyvj 1728 普通平衡樹題解--Treap

題面&#xff1a; Description您需要寫一種數據結構&#xff08;可參考題目標題&#xff09;&#xff0c;來維護一些數&#xff0c;其中需要提供以下操作&#xff1a; 1. 插入x數 2. 刪除x數(若有多個相同的數&#xff0c;因只刪除一個) 3. 查詢x數的排名(若有多個相同的數&…

Blazor University (18)使用 RenderFragments 模板化組件 —— 創建 TabControl

原文鏈接&#xff1a;https://blazor-university.com/templating-components-with-renderfragements/creating-a-tabcontrol/創建一個 TabControl 組件源代碼[1]接下來我們將創建一個 TabControl 組件。這將教您如何實現以下目標&#xff1a;將數據傳遞到 RenderFragment 以為其…