C 新知識點筆記

2021-10-04 21:03:14 字數 3091 閱讀 7382

定義了 cin、cout、cerr 和 clog 物件,分別對應於標準輸入流、標準輸出流、非緩衝標準錯誤流和緩衝標準錯誤流。

cout << "value of str is : " << str << endl;

cin >> name;

signed、unsigned

在計算機中,可以區分正負型別的數,成為「有符號數」(signed);無正負型別的數(只有整數型別),成為「無符號數」(unsigned)。簡明的說,無符號說就是其所有的位數都用來表示數值的大小,有符號數除最高位來表示數值的正負外(0表示正數;1表示負數),其餘各位用來表示數值的大小。舉個例子說明一下:

十機制數 正數255 二進位制表達形式:1111 1111

十機制數 負數-1 二進位制表達形式:1111 1111

可見-1的二進位制的最高位為紅色的1,可是為什麼其表達形式為1111 1111而不是1000 0001呢?這就關於任何數在計算機內是以補碼形式儲存問題。

無符號版本和自有符號版本的區別就是無符號型別能儲存2倍於有符號型別的資料(正數),比如16位系統中乙個int能儲存的資料的範圍為-32768-32767,而unsigned能儲存的資料範圍則是0-65535。在一些不可能取值為負數的時候,可以定義zhidao為unsigned,在一些底層的嵌入式程式設計的資料一般都是無符號的。

同型別轉換中無符號數由短變長使用零擴充套件,使用0來填充多出來的高位元組。

有符號數一般使用補碼表示,有符號數的由短變長的轉換使用符號擴充套件,即較短的數的二進位制表示的最高位是0則用零擴充套件,同無符號數的零擴充套件,而如果是1,則用1來補充缺少的位。

有符號數和無符號數在一起進行運算時,要首先將有符號數轉換為無符號數,再進行運算

字串1 strcpy(s1, s2);

複製字串 s2 到字串 s1。

2 strcat(s1, s2);

連線字串 s2 到字串 s1 的末尾。

3 strlen(s1);

返回字串 s1 的長度。

4 strcmp(s1, s2);

如果 s1 和 s2 是相同的,則返回 0;如果 s1s2 則返回值大於 0。

5 strchr(s1, ch);

返回乙個指標,指向字串 s1 中字元 ch 的第一次出現的位置。

6 strstr(s1, s2);

返回乙個指標,指向字串 s1 中字串 s2 的第一次出現的位置。

日期和時間

標頭檔案有四個與時間相關的型別:clock_t、time_t、size_t 和 tm。型別 clock_t、size_t 和 time_t 能夠把系統時間和日期表示為某種整數。結構型別 tm 把日期和時間以 c 結構的形式儲存,tm 結構的定義如下:

struct tm
1 time_t time(time_t *time);

該函式返回系統的當前日曆時間,自 1970 年 1 月 1 日以來經過的秒數。如果系統沒有時間,則返回 .1。

2 char *ctime(const time_t *time);

該返回乙個表示當地時間的字串指標,字串形式 day month year hours:minutes:seconds year\n\0。

3 struct tm *localtime(const time_t *time);

該函式返回乙個指向表示本地時間的 tm 結構的指標。

4 clock_t clock(void);

該函式返回程式執行起(一般為程式的開頭),處理器時鐘所使用的時間。如果時間不可用,則返回 .1。

5 char * asctime ( const struct tm * time );

該函式返回乙個指向字串的指標,字串包含了 time 所指向結構中儲存的資訊,返回形式為:day month date hours:minutes:seconds year\n\0。

6 struct tm *gmtime(const time_t *time);

該函式返回乙個指向 time 的指標,time 為 tm 結構,用協調世界時(utc)也被稱為格林尼治標準時間(gmt)表示。

7 time_t mktime(struct tm *time);

該函式返回日曆時間,相當於 time 所指向結構中儲存的時間。

8 double difftime ( time_t time2, time_t time1 );

該函式返回 time1 和 time2 之間相差的秒數。

9 size_t strftime();

該函式可用於格式化日期和時間為指定的格式。

引用變數是乙個別名,也就是說,它是某個已存在變數的另乙個名字。一旦把引用初始化為某個變數,就可以使用該引用名稱或變數名稱來指向變數。

引用很容易與指標混淆,它們之間有三個主要的不同:

不存在空引用。引用必須連線到一塊合法的記憶體。

一旦引用被初始化為乙個物件,就不能被指向到另乙個物件。指標可以在任何時候指向到另乙個物件。

引用必須在建立時被初始化。指標可以在任何時間被初始化。

// 宣告簡單的變數

int i;

double d;

// 宣告引用變數

int& r = i;

double& s = d;

把引用作為引數傳遞指標給函式

// 引用

void swap(int& x, int& y)

指標void getseconds(unsigned long *par)

把引用作為返回值與從函式返回指標

double vals = ;

double&setvalues( int i )

//指標

// 要生成和返回隨機數的函式

int * getrandom( )

return r;}例題

using namespace std;

void

main()

輸出為36

c++ int型和double型運算

HTML5新知識點

html5 中的新標籤 標籤描述 定義注釋。定義文件型別。定義錨。定義縮寫。定義只取首字母的縮寫。定義文件作者或擁有者的聯絡資訊。定義影象對映內部的區域。定義文章。定義頁面內容之外的內容。定義聲音內容。定義粗體字。定義頁面中所有鏈結的預設位址或缺省目標。不贊成使用。定義頁面中文字的預設字型 顏色或尺...

TipeMessage專案用到的新知識點

1.仿qq托盤訊息閃動 原理 當有訊息來的時候,托盤圖示以彩色圖示和透明圖示來回切換表現閃動效果。system.media.soundplayer player new system.media.soundplayer player.play 3.呼叫chrome開啟指定 process proce...

ES6的新知識點

原有變數 var的缺點 新增變數 let 不能重複宣告,變數 可以修改,塊級作用域 const 不能重複宣告,變數 不可以修改,塊級作用域 原函式 var func function args 只有乙個return 所以上述函式還可以寫為 var func args alert abc functi...