C 處理資料

2022-08-24 23:00:17 字數 3693 閱讀 7791

1 簡單變數

c++內建型別:

基本型別/算術型別:整型(bool、char、wchar_t、符號整型(signed char、 short、 int、long、long long)、無符號整型(unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long)、char16_t,char32_t)、浮點型(float、double、long double)

復合型別:陣列、字串、指標和結構

標識資料的方法:

使用&運算子檢索變數名的記憶體位址。

使用指標標識。

變數名:

區分大小寫

乙個下劃線開頭的名稱被保留給實現,用作全域性識別符號

變數命名和函式命名一樣

整型:

最小長度:

char 8位;  short 16位;  int 16位;  long 32位;  long long 64位;

有無符號;

sizeof返回型別或者變數的長度,單位為位元組

標頭檔案climits中包含了整數限制的資訊:最大取值,位元組位數

預處理編譯命令:#define 和 #include 一樣

為提高可移植性,int可用long

climits中的符號常量

無符號型別:

short:[0,65535]

預設是有符號

signed max_short + 1 = signed min_short

unsigned min_short - 1 = unsigned max_short

整數溢位

整型字面值:

十進位制八進位制

注意:endl為控制符;其他控制符:dec、hex、oct;識別符號hex位於命名空間std中;

防止溢位:使用long或者long long

char型別:

儲存字元

cout會自動識別資料型別,是智慧型物件的乙個例子。

成員函式cout.put():

類ostream;cout物件;put()成員函式;

轉義序列的編碼:

通用字元名的用法類似於轉義序列:

以\u(後接8個十六進製制位)或者\u(後接16個十六進製制位)開頭。

處理日文漢字系統:

1是編譯器廠商可以將char定義為乙個16位的位元組或更長的位元組。

2是wchar_t(寬字元型別)可以表示擴充套件字符集。

其中,wcin和wcout可以處理wchar_t流

c++11中新增:

char16_t:無符號,16位,字首u表示字元常量和字串常量

char32_t:無符號,32位,字首u表示常

都有底層型別-內建的整型。

bool型別:

bool型別可以轉換為int型別,也可以將數字值或者指標值轉換為bool值。

2 const限定符

名稱的首字母大寫,以提醒該名稱是常量;

另一種是以字母k開頭;

如果在宣告常量時沒有提供值,則該常量的值不確定,且無法修改。

#define建立常量時可以將整個名稱都大寫;const相對於#define的好處:可以指定型別,作用域可以為特定函式中。

3 浮點數

能夠表示帶小數部分的數字;提供的值範圍更大,可以表示整數之間的值;使用縮放因子移動小數點的位置;

浮點數的表示方法:

1是使用小數點。

2是使用e表示法。適合非常大和非常小的數。指數為負數時,除以10的乘方。

e表示法

浮點型別:

3種:float,double,long double;

至少有效位數要求:32位,  48位,  ==long double;

通常:32位,64位,80/96/128位;

指數範圍至少:[-37,37]

通常:cout會刪除結尾的零,而cout.setf()會覆蓋這種行為;

cout.setf()迫使輸出使用定點表示法,以便更好地了解精度,防止程式把較大的值切換為表示法,並使程式顯示到小數點後6位。

float型別只能表示數字中的前6位(四捨五入後的有效位,保證精度下的正確值)或者前7位,後面的數發生改變時不影響值。    

浮點常量:

系統預設將浮點數存為double型別,若使用float時,使用f或者f字尾;使用long double時,使用l或l字尾;

優缺點:

優點:表示整數之間的值;縮放因子可以使表示的範圍大得多;

缺點:運算速度通常整數運算慢,且精度降低;  

4 算術運算子

優先順序和結合性

除法:

各種除法

型別轉換:

潛在的數值轉換問題:

以{}初始化時轉化:

常用於給複雜的資料型別提供值列表,條件是編譯器知道目標變數能正確地儲存賦給它的值;

非常量不允許轉換;

表示式中轉換:

c++11的校驗表,編譯器將以此查閱該列表:

傳遞引數時轉換

強制型別轉換

通用格式:(typename) value;

typename(value):類似於函式呼叫

C 資料處理

時間限制 1 sec 記憶體限制 64 mb 提交 92 解決 22 標籤 提交統計 討論版 做完大學物理實驗後,wyl同學得到了很多比例形式的實驗結果。比如1498 902,337 124等等。不過,老師對這些比例很不滿意。因為比例的數值太大,難以一眼看出與理論值的關係。對於上面這個例子,如果把比...

C 處理JSON資料

第一種 右擊專案 新增 引用 這裡重點介紹第二種方式。第二種 使用nuget包,對沒錯,是json.net 需要引入的命名空間是 這種方式直接使用工具,不需要進行new。生成json檔案 對於序列化和反序列化的理解 反序列化 從外部 磁碟或者網路 讀入的檔案反序列化之後讀入記憶體。序列化 記憶體中的...

C 多執行緒處理資料

os centos 7 編譯環境 gcc 4.8 cpu 2顆 intel r xeon r cpu e5 2670 v3 2.30ghz,24核48執行緒。int pthread create pthread t thread,const pthread attr t restrict attr,...