C++|變數
前言
在C++編程中,需要用到很多種變數
本文將詳談幾種常見變數
如有錯誤,歡迎指出
零、變數格式
- 定義并賦值
資料型別 變數名=值;
- 定義
資料型別 變數名;
- 賦值
變數名=值;
- 輸入
cin>>變數名;
- 輸出
cout<<變數名;
一、數字資料型別
-
如圖所示,雖然 C++ 提供了許多資料型別,但在最廣泛的意義上只有兩個:數字和字符,數字資料型別可直接比較,分為兩類:整數和浮點數,

-
為數字變數選擇最佳資料型別的主要考慮因素如下:
- 變數是需要保存整數還是浮點數值;
- 變數需要存盤的最大數和最小數;
- 變數是需要保存符號(正數和負數)還是只需要保存無符號(只有 0 和正數)數字;
- 存盤在變數中的值所需的小數位數精度;
1.整型資料型別
- 如圖2所示,C++ 有 8 種不同的資料型別用于存盤整數,它們擁有的存盤資料的記憶體位元組和可以存盤的數值范圍是不一樣的,資料型別可以容納的位元組數稱為其大小,一般來說,資料型別的大小越大,那么它可以容納的值的范圍越大,

這里我們挑選最常用的 int 和 long long 講
1、int
取值范圍
C++中,int占用4位元組,32位元,資料范圍為-2147483648~2147483647
簡單來說,就是十位以下的整數用int型別
2、long long
對于小點的數字,int足夠了,
但萬一數大了呢?
像1,145,141,919,810這樣的數字,int很顯然是不夠的
這時候,就需要long long 型別了
取值范圍
C++中,long long占用64位元,資料范圍為-9223372036854775808~9223372036854775807
簡單來說,就是十位以上的整數用long long型別
注:long long消耗的記憶體是int的2倍,long long的運算速度比int慢得多,所以能用int解決能滿足有效輸出時,盡量不要使用long long,
3、高精度
在一些題目中,往往會出現一些天文數字,
比如114514114514114514114514114514114514
這時候,就需要使用高精度了,
高精度演算法:屬于處理大數字的數學計算方法,是用計算機對于超大資料的一種模擬加,減,乘,除等運算,對于非常龐大的數字無法在計算機中正常存盤,于是,將這個數字拆開,拆成一位一位的存盤到一個陣列中, 用一個陣列去表示一個數字,這樣這個數字就被稱為是高精度數,
高精度數是通過字符陣列(char[ ])或 字串(string), 將一個大數字拆分為若干位從而儲存的,
由于網上教程很多,不多敘述
推薦
2.浮點型資料型別
- C++中有三種浮點型別
- 按照精度的不同劃分如下:
(1)float: 單精度型別 7位數
(2)double: 雙精度型別 15位數
(3)long double: 長雙精度型別 19位數
在使用這一類資料型別時,記住“越小越好”,能用float就用,最好不用long double
二、字符資料型別
C++不但可以處理數字型別的值,也可以處理字符
字符指的是英文字母及各種符號、數字,通過ASCII碼存盤
常見的字符型別有char與string,
1.ASCII碼

ASCII碼是基于拉丁字母的一套電腦編碼系統,
計算機根據輸入的字符(圖形)以對應的ASCII碼值存盤在電腦中,
- 因為ASCII碼值(整數)與字符(字)掛鉤,
所以將字符(非數字)賦值給整數型別(如int),
默認為將對應的ASCII碼值賦值給整數型別,
例如
int a='A';
== //因為A的ASCII碼為65
int a=65;
2.char
char代表一個單獨的字符,
由于是以輸入的字符(圖形)以對應的ASCII碼值存盤在電腦中的,
在比較大小時是以ASCII碼值比較,
- 例如
- 'a' < 'b' 回傳1,因為a的ASCII碼是97,b的ASCII碼是98
- 'a' < 'A' 回傳0,因為a的ASCII碼是97,A的ASCII碼是65
注:1與0在此為布爾型,下文會講,
3.string
string是字串型別,相當于由n個char型字符組成,
與字符陣列(char[ ])類似,但不需要知道字符個數,不必 擔心記憶體是否足夠,
因此,常用于存盤一些天文數字(高精度),
使用時需要頭檔案<string>,并配備一系列函式,
string常用函式用法總結
三、布爾型(bool)
這是一種特殊的資料型別,只有兩個值:1(真)和 0(假)
例如
//輸入x,判斷x是否為素數,若是,則輸出真(1),否則輸出假(0),
int x;
cin>>x;//輸入
bool a=1;//默認為是
for (int j = 2; j <= sqrt(x); j++)
{
if (x % j == 0)
{
a=0;//有因數則不是,為假,
}
}
cout<<a<<endl;//輸出
制作不易,給個推薦吧!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/542039.html
標籤:其他
下一篇:面向物件編程(OOP)
