《零基礎看得懂的C++入門教程 》——(2)什么是數據類型、變量?一看便會

一、學習目標

  1. 了解基本常用的數據類型
  2. 了解什么是變量

目錄

預備第一篇,使用軟件介紹在這一篇,C++與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》
想了解編譯原理和學習方法點這篇,學習方法和一些原理C++與C都是相同的《脫離學習誤區》

《零基礎看得懂的C++入門教程 》——(1)第一個C++程序就讓你知其所以然
《零基礎看得懂的C++入門教程 》——(2)什么是數據類型、變量?一看便會

推薦

1.《備受好評的看得懂的C語言入門教程》

歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~并且公眾號會更快更新喲。
在這里插入圖片描述

二、學習過程

2.1 了解字符串類型
在程序編寫中,我們會處理很多數據。例如玩游戲時取的昵稱,這個是字符串類型;在玩游戲時的血量可以簡單理解為整數類型。這些類型在編程中會有特定的存在形式,也是在編寫程序時需要了解的基礎內容。

我們在第一個程序中用雙引號標記的內容HelloWorld為字符串,很容易理解,這是一串字符,并不是單個。那什么是字符呢?我們可以簡單的理解字符就是單個符號,例如A、B、T、,、’、-、+、= 等,但是字符和字符串所標記的形式是不一致的。我們使用雙引號標記了HelloWorld,如下代碼:

cout<<"HelloWorld";

那我使用單引號標記可以嗎?

cout<<'HelloWorld';

完整代碼為:

#include<iostream>
using namespace std;
int main(){cout<<'HelloWorld';
}

運行結果如下:

為什么會顯示一串數字?為什么不會顯示HelloWorld?那是因為你是用了單引號去標記了一個字符串,這個時候就會出現未知的錯誤。所以我們 需要記住,單引號用于標記字符,而雙引號用于標記字符串。那單引號的字符如何進行編寫呢?不急,看下面的示例:

#include<iostream>
using namespace std;
int main(){cout<<'A';
}

以上示例在cout后,用單引號標記了一個A,A是字符,查看一下運行結果:

成功輸出了A,那使用雙引號去標記A是否會顯示呢?將輸出代碼中的單引號改變為雙引號:

cout<<"A";

運行結果如下:
在這里插入圖片描述

運行結果正確的顯示了A,但單引號引起來的A與雙引號引起來的A并不是同一個數據類型;在C++中規定,使用單引號標記就是字符,使用雙引號則表示字符串。為什么使用雙引號也能顯示字符A呢?那是因為字符串是由字符組成,我們可以理解成字符串包含了字符;可能有些同學并不是很理解為什么單引號表示字符,雙引號引起一個字符為什么又是字符串,我們接下來看完后相比會有更進一步的了解。

2.2 了解整數類型
接下來我們看一下整數類型。整數類型的數據如何顯示呢?在之前的內容說在cout后的引號中添加什么就會顯示什么,那我添加100,100是個整數那不就輸出了?是的,是這樣,那先看一下示例:

#include<iostream>
using namespace std;
int main(){cout<<"100";
}

結果為:

確實是顯示了100,但我在上一節說過,在C++只能夠雙引號表示的值是字符串,所以這一串是用字符串的類型輸出,這個100其實是字符串類型。可能有些同學覺得為什么那么麻煩?規定這規定那。這是因為一般情況下只有明確類型才能使語言更具靈活性,C++也是如此,我們只需要按照規定的形式去做那就可以了,其它的我們暫時不需要考慮,之后技術加深后必然會了解。

那如何以數字的形式顯示這個100呢?很簡單,我們將引號去掉就可以了:

#include<iostream>
using namespace std;
int main(){cout<<100;
}

結果如下:

可能你覺得這樣沒啥意義,那接下來繼續了解吧。

2.3 了解變量
變量是在各種編程中的一個基礎概念。我們可以將變量當成一個容器,這個容器可以存放各種類型的內容,這個內容我們在編程中稱為值。不同類型的變量需要不同的特殊標記去修飾,整數類型的變量(容器)我們用來修飾的標記是int,字符串類型的標記是string。一個容器的創建需要通過一個標記加一個這個容器的名稱。

2.4 了解字符串變量
字符串變量使用的修飾符是string,在string后加這個變量的名稱就可以完成這個變量的創建:

string a

以上代碼少了必要的一點,那就是缺少結束符逗號,添加后修正為:

string a;

但是以上代碼并不是符合規范的代碼,必須給予一個內容,存儲到這個名稱為a的容器中:

string a="HelloWorld";

這樣就創建了一個名稱為a的字符串容器,我們稱為字符串變量,里面存儲的內容是HelloWorld,值使用雙引號引起來,并且使用等于號,將值存儲到字符串變量a中。等于號的作用是將等于號右邊的內容存儲到等于號左邊的變量a中。完整代碼如下:

#include<iostream>
using namespace std;
int main(){string a="HelloWorld";cout<<a;
}

在以上代碼中,使用cout將變量a輸出。為什么不在a外側加雙引號?那是因為如果添加了雙引號則會顯示a,并不會將變量a的內容顯示。在輸出顯示時,如果我們一個變量,或者一些式子(之后會講到)并不需要使用雙引號引上;因為這些變量和式子最終會有一個結果。變量中有一個值那么就會輸出變量的內容,如果是一個式子1+1則會顯示1+1的值;我們首先看變量輸出的結果:

若代碼為以下情況呢:

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

這個式子1+1則會顯示出他們計算的結果:

變量并不是只能創建一個,可以創建多個,也能同時顯示多個:

#include<iostream>
using namespace std;
int main(){string a="HelloWorld";string b="C++";cout<<a<<b;
}

以上代碼中創建了a和b兩個字符串變量,并且使用cout將兩個變量給顯示出來。使用cout將多個變量顯示只需要使用<<將不同變量隔開即可。結果如下:

以上代碼也可以同時創建同一個類型的變量:

#include<iostream>
using namespace std;
int main(){string a="HelloWorld",b="C++";cout<<a<<b;
}

以上代碼使用string 同時修飾了變量a與變量b,他們之間使用逗號進行間隔。

2.5 了解整數型變量
整數型變量使用int進行修飾,我們使用int創建一個整數變量為:

int a

注意一定要加分號,并且給予一個值:

int a=10;

變量的創建知一則其他的變量也是很容易創建,因為語法格式都是極其相似的。現在查看一個程序,完整的對一個整數類型變量進行輸出:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a;
}

以上代碼輸出10。
結果為:

創建多個同類型變量跟字符串類型相似:

#include<iostream>
using namespace std;
int main(){int a=10,b=80;cout<<a<<b;
}

結果為:

但是我們發現1080黏在一起了怎么辦?在C++中,有一個特定標記叫做endl,直接輸出endl將會讓我們之后的內容跳到下一行顯示。這種特定標記,包括int、string都成為關鍵字,關鍵字意思為當前在C++中已經有特殊作用的一些字符串標記。例如int表示整數。代碼如下:

#include<iostream>
using namespace std;
int main(){int a=10,b=80;cout<<a<<endl<<b;
}

結果為:

同時創建字符串類型與整數類型都是ok的:

#include<iostream>
using namespace std;
int main(){int a=10,b=80;string t="Hello";cout<<a<<endl<<b<<endl<<t;
}

結果為:

2.6 其它類型變量

C++中還存在其它變量類型,例如字符型、浮點型(小數);浮點數又分為單精度與雙精度浮點數,在此只講解一般的浮點數,也就是我們常規下理解的小數。

字符型使用char進行修飾、浮點數使用float進行修飾。創建一個變量這個過程我們稱為聲明,如:

char a;

在創建時給予一個值叫做初始化,或者第一次給予一個值也稱為初始化,不過一般在創建時就給予值:

char a='A';

示例代碼:

#include<iostream>
using namespace std;
int main(){char a='C';float g=1.23;cout<<a<<endl<<g;
}

結果為:

三、總結

  1. 了解基本常用的數據類型整形int、字符型string、浮點型float、字符型char
  2. 了解了一個用來存儲值的容器就是變量

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

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

相關文章

pycharm 快捷鍵介紹

CtrlN (Navigate | Class) 打開輸入框輸入要查找的類名 Ctrl空格 代碼自動補全 Ctrl空格&#xff08;按兩次&#xff09;對于沒有導入的類自動完成導入代碼并自動補全 AltF7 查找方法變量在工程中的所有應用 CtrlQ (View | Quick Documentation). 快速查看文檔 …

【遙感數字圖像處理】實驗:遙感圖像分析方法大全(Erdas版)

一.實驗目的: 掌握遙感數字圖像分析的機理與方法,理解遙感數字圖像分析在遙感圖像計算機自動解譯中的重要作用。 二.實驗平臺:ERDAS IMAGINE 9.1 三.實驗要求:掌握遙感數字圖像的鄰域分析;查找分析;指標分析;疊加分析;歸納分析;坡度、坡向提取;高程分帶和地形陰…

db2和mysql語句區別_db2和mysql語法的區別是什么

MySQL默認使用大小寫敏感的數據庫名、表名和列名(可以通過lower_case_table_names參數控制是否大小寫敏感)&#xff0c;DB2數據庫對大小寫不敏感。雖然MySQL與DB2都遵循并符合SQL92標準且大多數SQL相互兼容&#xff0c;但是在一些細節的實現上有一些不同的地方。比如&#xff1…

查缺補漏系統學習 EF Core 6 - 數據查詢

這是 EF Core 系列的第四篇文章&#xff0c;上一篇文章講述了 EF Core 中的實體遷移與數據播種。這篇文章盤點一下 EF Core 的幾種數據查詢方式&#xff0c;內容較多分上下兩篇。點擊上方或后方藍字&#xff0c;閱讀 EF Core 系列合集。簡單查詢在 EF Core 中&#xff0c;每個查…

Android Studio之導入別人的module后config.gradle配置文件沒有生效

1 問題 導入了別人項目的module,但是在別人項目里面的根目錄有config.gradle文件&#xff0c;里面有些版本信息&#xff0c;其他module的build.gradle文件用到了這里面的配置&#xff0c;如下&#xff0c;我把module導入我的項目&#xff0c;怎么讓這個文件生效呢&#xff1f;…

《零基礎看得懂的C++入門教程 》——(3)表達式花樣挺多鴨

一、學習目標 了解變量之間的計算了解什么是表達式了解什么是自增、自減 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原理和學習方法點這篇&#xff0c;學習方法和一些…

php 設計模式 - 單例

概述&#xff1a; 作為對象的創建模式&#xff0c;單例確保某一個內在系統中只存在一個實例&#xff0c;它不可以創建副本。 克隆函數&#xff08;__clone &#xff09;以及構造函數(__construct )必須聲明為私用&#xff0c; 防止外部程序 創建一個新類 &#xff0c;而失去…

prometheus python client

為什么80%的碼農都做不了架構師&#xff1f;>>> 當我剛開始準備使用Python寫一個promethues的client的時候&#xff0c;并沒有想到過程這么麻煩。github上的大佬們也沒興趣幫我解決這些細節的問題。以下是我在使用prometheus_client遇到的一些問題&#xff0c;僅供…

php之無限極分類

http://blog.csdn.net/kankan231/article/details/8462349/轉載于:https://www.cnblogs.com/jeremyjs/p/4798169.html

【遙感數字圖像處理】實驗:遙感影像分類(監督、非監督分類)完整流程(Erdas版)

一.實驗目的: 理解計算機圖像分類的基本原理,掌握數字圖像非監督分類以及監督分類的具體方法和過程,以及兩種分類方法的區別。 二.實驗平臺:ERDAS IMAGINE 9.1 三.實驗要求:掌握非監督分類;非監督分類結果評價;監督分類;監督分類結果評價;分類后處理。 四.實驗…

mysql5.7.16安裝版_mysql數據庫5.7.16安裝版怎么安裝圖解

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云數據庫專家保駕護航&#xff0c;為用戶…

重大跨越!Windows 11 23H2 25115 推送:2023 年更新測試開啟,水印回歸

面向 Dev 頻道的 Windows 預覽體驗成員&#xff0c;微軟現已發布 Windows 11 預覽版 Build 25115。主要變化1.微軟宣布從 Dev 頻道切換到 Beta 頻道的選項正式關閉&#xff0c;Beta 頻道將繼續測試 Windows 11 版本 22H2&#xff0c;而 Dev 頻道將開啟 2023 年更新 Windows 11 …

團隊第二次沖刺第三天

已經明白自己犯錯誤的地方&#xff0c;經過今天的改正&#xff0c;成功調用數據庫儲存用戶名和密碼。 明天對于數據庫更加完善。轉載于:https://www.cnblogs.com/dotacai/p/5521506.html

Android Studio編譯提示如下attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layou

1 問題 Android Studio編譯提示錯誤如下 AAPT: error: attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layout_constraintBottom_toBottomOf) not found.2 解決辦法 在app的build.gradle文件里面添加依賴如下 implementation androidx.const…

《零基礎看得懂的C++入門教程 》——(4)條件判斷原來如此

一、學習目標 了解什么是條件判斷了解多個條件判斷了解輸入了解什么是邏輯與、邏輯或 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原理和學習方法點這篇&#xff0c;學…

Django學習筆記(4)

為什么80%的碼農都做不了架構師&#xff1f;>>> 首先提一個問題&#xff1a;在Django中如何處理CRSF(Cross-site request forgery)? 先看一下CSRF原理。 其實就是惡意網站利用正常網站的cookie去非法請求。 ##Java處理方式## 一般做法需要后臺和前端配合采取策略去…

MySQL復制--slave設置讀取binlog的位置

change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info ->mi->rli->rli_init_info()->初始化./relay-bin.000001,4如果relay-log.info不存在的話&#xff0c;否則讀取//初始化mas…

【遙感數字圖像處理】實驗:遙感專題地圖制作經典流程(Erdas版)

實驗目的:掌握計算機輔助下遙感專題地圖的制作。實驗平臺:ERDAS 9.1實驗要求:掌握專題地圖的編輯;制圖文件路徑的編輯;系列地圖編輯工具的使用。實驗步驟:1 專題地圖的編輯 1.1 準備專題制圖數據 (1) 在視窗菜單條中點擊 File,選擇Open (2) 點擊 Raster Layer,打開S…

.NET版OCR緊隨PP-OCRv3重磅發布

.net版OCR地址PaddleOCRSharp&#xff1a;https://gitee.com/raoyutian/paddle-ocrsharpPaddleOCRSharp是一個基于PaddleOCR的C代碼修改并封裝的.NET的工具類庫。包含文本識別、文本檢測、基于文本檢測結果的統計分析的表格識別功能&#xff0c;同時針對小圖識別不準的情況下&a…

mysql導出二進制日志_使用mysqlbinlog提取二進制日志

MySQL binlog日志記錄了MySQL數據庫從啟用日志以來所有對當前數據庫的變更。binlog日志屬于二進制文件&#xff0c;我們可以從binlog提取出來生成可閱讀的SQL語句來重建當前數據庫以及根據需要實現時點恢復或不完全恢復。本文主要描述了如果提取binlog日志&#xff0c;并給出相…