日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ Primer 5th笔记(2)chapter 2变量和基本类型

發布時間:2025/3/21 c/c++ 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ Primer 5th笔记(2)chapter 2变量和基本类型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. c++標準規定的算術類型的尺寸

類型名稱類型定義類型長度
wchat_t寬字符16
char16_tunicode字符16
char32_tunicode字符32
short短整型 16
int整型16
long長整型32
long long長整型64
float單精度6位有效數字
double雙精度 10位
long double擴展精度10位

我這里有一個疑問,等待去解決:. 書上說浮點數盡量用double而不用float?理由是float通常精度不夠而且double和float的計算代價差不多。

2. 類型轉換

Question1 : int 轉為double 會四舍五入不?

Question2 : 假設char 占8位,
unsigned char c = -1; //c的值為多少?
signed char c = 256; //c的值未定義

Question3 :unsigned u1=42, u2 = 10;// u2 -u1 為多少?

代碼解決:

void testVariable() {float f1 = 4.4f;float f2 = 4.5f;int n1 = int(f1);int n2 = int(f2);unsigned char c = -1; //c的值為255(該值對256取模后所得的余數)//signed char c = 256; //c的值未定義)unsigned u1 = 42, u2 = 10;bool b = (c != 255);std::cout << n1 << ";" << n2 << ";" << b << ";" << u2 - u1 << std::endl; }

測試結果為:
4;4;0;4294967264

3. 轉義字符

常用的幾個:
\r
\n
\t
\"
\’
或者后面緊跟不超過3個8進制數字,字母x假設1個16進制數。
eg.

void testChar() {std::cout << "\tHi!\n"; // prints a tab followd by "Hi!" and a newlinestd::cout << "Hi \x4dO\115!\n"; // prints Hi MOM! followed by a newlinestd::cout << '\115' << '\n'; // prints M followed by a newline }

大寫字母M 的asii值如下:
2進制:0100 1101
8進制:0115
10進制:77
16進制:0x4D

輸出結果為:

4. 指定字面值的類型

分為前綴和后綴
前綴:u U L u8
后綴:u U l L ll LL

eg.
L’a’ //寬字符型字面值,類型是wchar_t
u8"hi" //utf-8字符串字面值(utf-8用8位編碼一個Unicode字符)
42ULL //無符號整型字面值,類型為unsigned long long
1E-3F //單精度浮點型字面值,類型為float
3.14159L //擴展精度浮點型字面值,類型為long double

參考

[1]: 代碼 https://github.com/thefistlei/cplusprimer/tree/main/cprimer

總結

以上是生活随笔為你收集整理的C++ Primer 5th笔记(2)chapter 2变量和基本类型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。