1. 程式人生 > 其它 >C++-3-變數及資料型別

C++-3-變數及資料型別

技術標籤:C++c++

變數

定義:變數是計算機中一塊特定的記憶體空間,由一個或多個連續的位元組組成。

通過變數名可以簡單快速的找到記憶體中儲存的資料。

可以用namespace避免重名(後面講)

命名規則:

  • 首字母只能是"_"和字母

  • 其他字母可以是"_"、字母和數字

  • 不能是關鍵字

  • 不能用關鍵字(不用背,編輯器會有提示(變顏色了就是保留字))

注意:

  • 不要使用拼音

  • 儘量不要使用單個英文單詞

  • 提倡使用有正式含義的英文單詞

常識:8 bit 位元= 1byte位元組

例如:網速20M bps (bit per second),需換算成位元組除以8,則是真實的我們理解的網速。

C++常用資料型別

資料型別型別說明符位數取值範圍
整型int32-2147483648~+2147483647
短整型short int16-32768~+32767
長整型long int32-2147483648~+2147483647
單精度浮點型float32-3.4E-38~+3.4E+38
雙精度浮點型double64-1.7E-308~+1.7E+308
字元型char8-128~+127

注:

  • ​ long和int是一樣的

  • ​ 再長一點是longlong ,c++11的標準,64位,取值範圍-9223372036854775808~+9223372036854775807可以表示1970年1月1日到現在的毫秒數

  • ​ 浮點數儘量使用double型別

  • ​ 字元型屬於整型

  • ​ bool型別類似java中的boolean,0是false,非0是true.屬於整型

資料型別總結

  • 整型:char、char16_t、char32_t、int、short、long、bool、long long

  • 浮點型:float、double、long double

  • 非數值型:string

  • ​ 其他常用數值型別:size_t型別、列舉型別、自定義型別、指標型別、空型別等。

typedef:用於自定義資料型別

用法:

typedef string wode_string;

wode_string name = "我定義的資料型別";

cout << name << endl;

return 0;

float

  • ​ 位數:32位

  • ​ 空間:2個位元組

  • ​ 取值範圍:

  • ​ 6~7位有效數字

宣告及初始化

  • ​ float ball = 100.0

  • ​ float apple;

​ apple = 2.5f

注:

  1. float型別變數賦值時建議在數值的末尾加上f。
  2. cmath標頭檔案定義了c++中的庫函式,其中c表示函式是來自c標準庫的函式,math為數學常用庫函式。

程式碼示例:

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
    //已知圓柱體的半徑和高,球圓柱體的體積
    //半徑
    float radius = 2.5f;
    //高
    float height = 4.0f;
    //圓柱體體積 = 底面積 * 高
    float volume = 3.14 * pow(radius, 2) * height;
    cout << "圓柱體體積為:" << volume << endl;
}

double

  • ​ 位數:64位

  • ​ 空間:8個位元組

  • ​ 取值範圍:

  • ​ 15位有效數字

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main()
{
    //控制cout的顯示精度
    //1.強制以下小數的方式顯示
    cout << fixed;
    //2.控制顯示精度
    cout << setprecision(2);
    //輸出double型別的資料
    double doubleNum = 100.0/3.0;
    cout << doubleNum * 10000000<< endl;
    // 3.setw()控制它後面的緊挨著的內容的寬度
    cout << "|" << setw(8) << 2.5f * 3.0f << "|" << endl;
    //4.sizeof用來測量資料型別的長度
    cout << sizeof(double) << endl;
}

char

  • 位數:8位

  • 空間:1個位元組

  • 取值範圍:-128~+127

    8個二進位制表示一個char型別

宣告及初始化

  • char apple = ‘A’;

注:

  • 有符號signed char,取值範圍-128~127
  • 無符號unsigned

補充:

  • C++是C的升級版,C++具有面向物件

  • C++11新增型別 :long long、char16_t 、char32_t

  • 引入頭windows.h檔案

     #include <windows.h>
    

    設定windows彈框title

    SetConsoleTitleA("windows彈框title");
    

    效果如圖:

cout、cin

cout

用於列印輸出內容

左對齊:

cout<< left;

同理右對齊left改為right,後面的內容則左對齊;

列印三句話設定每句話寬度10個位元組並且左對齊:

cout<< left;
cout << setw(10) << "第一句話" << "," << "\n";
cout << setw(10) << "第二句話" << ","  << "\n";
cout << setw(10) << "第三句話" << "."  << endl;

如果同樣設定列印英文的4個位元組:

cout << setw(10) << "aaaa" << "," << "\n";

則發現列印結果是:

在這裡插入圖片描述

長度:一箇中文字元 = 兩個英文字元

並且如果cout設定的左對齊,會一直生效,直到設定為別的樣式為止。

cin

用於獲取輸入內容

用法:

int num;
char ch;
//輸入內容賦值給num
cin >> num;
cin >> ch;
//如果輸入1234abcd
//則自動擷取1234賦值給num,擷取第一個字元a賦值給ch。

還可以:

int num;
num = cin.get();

O-1609060574265)]

長度:一箇中文字元 = 兩個英文字元

並且如果cout設定的左對齊,會一直生效,直到設定為別的樣式為止。

cin

用於獲取輸入內容

用法:

int num;
char ch;
//輸入內容賦值給num
cin >> num;
cin >> ch;
//如果輸入1234abcd
//則自動擷取1234賦值給num,擷取第一個字元a賦值給ch。

還可以:

int num;
num = cin.get();