c 知識複習5 0

2021-07-23 09:24:31 字數 4000 閱讀 5042

4、變數的定義與初始化

看下面例子。

//#include

void main( ) }

程式輸出什麼結果?

答:將輸出97,98,…,122

在c++中,任何乙個變數在被引用之前必須被定義。c++中變數可以在程式中隨時定義,不必集中在程式之前。

定義格式:

〈型別〉〈變數名錶〉;

當有多個變數時,其間用逗號隔開。例如:

int i,j,k;

float x,y,z;

char c1,c2,c3;

注意:在同乙個記憶體塊中不允許定義同名變數,即不允許重複定義乙個變數。

變數在定義時可直接給變數乙個初始值,稱為變數初始化。變數初始化也可放在需要的時候進行。變數被初始化後其值將儲存到被改變為止。變數定義以後,如果沒有被初始化,並不意味著這個變數中沒值,該變數中要麼是預設值,要麼是無效值。在後面將要講到,對外部和靜態變數定義後其預設值對int型的為0,對浮點型的為0.0;對char型為空。而其他內部變數未初始化時其值是無效的,這是因為該變數所在位址中的內容是先前保留下來的無意義的值。

在定義變數時可一次初始化多個變數。例如:

float x,y=3.14,z=0.0;

char ch1=』a』; ch2=』/n』;

這裡,y,z,ch1,ch2在定義的同時就進行了初始化。而x只是做了變數說明並沒有賦初值。

2.6 typedef

typedef用來為已存在的型別名提供乙個同義詞。格式:

typedef ;

2.7 簡單i/o操作

在程式中經常需要將資料輸出到螢幕、印表機、儲存器等。也經常需要從鍵盤接受使用者輸入的資料,這種輸入輸出操作統稱為i/o操作。在這裡將簡單介紹鍵盤和螢幕操作。

在c++中把資料的i/o稱為資料流,並提供了強大的「流」處理功能,以控制資料從乙個位置流向另外乙個位置。相對於記憶體,當資料從記憶體流向螢幕、印表機或硬碟時稱為輸出;當資料從鍵盤、硬碟流向記憶體時稱為輸入。c++用兩個物件cin和cout實現標準的輸入輸出。

cin:它是istream類的物件,用來處理標準輸入,即鍵盤輸入。

cout:它是ostream類的物件,用來處理標準輸出,即螢幕輸出。

在c++中用istream類和ostream類的派生類iostream控制輸入輸出,並提供了輸入和輸出操作符。>稱為抽取操作符,其作用是從cin流中提取字元。

在此簡單介紹一下螢幕的輸入輸出方法。

1、使用提取符實現鍵盤輸入

格式如下:

cin >> >> …;

這裡抽取符可連續使用,後跟表示式,表示式通常是獲得輸入值的變數或物件。例如:int a,b;

cin >>a >>b;

要求從鍵盤上輸入兩個int型數。在鍵盤上輸入

43 20

這時,變數a獲取值為43,變數b獲取值20。

說明:從鍵盤上輸入數值時兩個值之間一般用空格分隔,也可以用tab鍵或換行符。

2、使用插入操作符和cout實現螢幕輸出

格式如下:

cout …;

與》一樣,插入操作符可連續使用,後跟表示式,在輸出時系統自動計算表示式的值並插入到資料流中。例如:

cout are you !」

看下面例子:

void main( )

執行該程式輸出如下結果:

the length of 「this is a string」 is : 16

the size of 「this is a string」 is : 17

3、控制輸出格式

許多情況下,都需要控制輸出結果的表現形式。如輸出寬度、輸出精度、輸出格式等。c++的iomanip.h中定義了許多控制符,這些控制符可以直接插入到流中,控制資料的輸出格式。控制符有兩種:控制常量和控制函式,控制常量定義在iostream.h中,控制函式定義在iomanip.h中。常用控制符見下表。

控制符

描述 備註

dec

hex

oct按10進製輸出

按16進製制輸出

按8進製輸出

常量控制符

在iostream.h中

setfill(c)

setprecision(n)

setw(n)

setiosflags(ios::fixed)

setiosflags(ios::scientific)

setiosflags(ios::left)

setiosflags(ios::right)

setiosflags(ios::skipws)

setiosflags(ios::uppercase)

setiosflags(ios::lowercase)

設填充字元為c

設定顯示小數精度為n位

設域寬為n個子符

小數方式表示

指數表示

左對齊

右對齊

忽略前導空白(用於輸入)

16進製制數大寫輸出

16進製制數小寫輸出

函式控制符

在iomainip.h中

注意:除了setw(n)控制符之外,其他控制符對後面的所有輸出起控制作用,直到改變輸出格式為止。

例1、輸出8進製和16進製制數

常量dec、hex和oct用來控制必須按10進製、16進製制或8進製形式輸出。

void main( )

結果為:

decimal:1234

hexadecimal:4d2 173c44

octal:2322 5636104

注意:由於這三個識別符號已經被定義為系統常量,注意不能在定義為其他變數使用。

例2、設定值的輸出寬度

函式setw(n)用來控制輸出寬度,如果資料實際寬度大於設定寬度,將按實際寬讀輸出;如果設定寬度大於實際輸出寬度,資料輸出時將在前面補相應數量的空格。另外,該控制符只對一次輸出起作用。

//#include

//#include

void main( )

輸出結果為:

1234_ _ _1522756

例3、設定填充字元

setfill(c)函式用來設定填充的字元,預設情況下為空格。

//#include

//#include

void main( )

輸出$$1234$1522756

例4、設定對齊格式

函式setiosflags(ios::left)和setiosflags(ios::right)用來控制輸出左右對齊格式。當資料實際寬度小於輸出寬度時該控制才起作用。預設情況下資料輸出是右對齊。

//#include

//#include

void main( )

輸出1234$$1522756$

例5、控制浮點數顯示

函式setprecision(n)可用來控制輸出流顯示浮點數的數字個數(整數部分加小數部分)。c++預設的流輸出數值的有效位是6。當小數截短顯示時,進行四捨五入處理。

函式setflags(ios::fixed)用來控制符點數是按純小數方式顯示,函式setflags(ios::scientific)用來控制符點數是按科學記數法方式顯示。系統預設為純小數方式輸出。

函式setiosflags(ios::showpoint) 用來強制顯示小數點和符號。

//#include

//#include

void main( )

輸出結果為:

2.85714 (預設6位,整數部分加小數部分)

2.857143e+000 (預設6位,指小數部分)

2.857142857142857e+000 (double型最多15位)

2.85714285714286 (double型有效位最多15位,整數部分加小數部分)

3 ( 無小數字)

3 (預設0不輸出)

3.00000 (強制輸出0)

C語言知識複習

printf的格式控制符 d 十進位制有符號整數 ld 長整形 u 十進位制無符號整數 f 浮點數 s 字串 c 單個字元 p 指標的值 e 指數形式的浮點數 x,x 無符號以十六進製制表示的整數 0 無符號以八進位制表示的整數 g 自動選擇合適的表示法 1 可以在 和字母之間插進數字表示最大場寬,...

c 小知識點5 0

61.delete表示式只能應用在 用new表示式產生的指標上,如上例.62.例如.需要的時候才分配乙個字串,但又不知道該字串長度時才分配與釋放的物件被稱為動態分配物件.動態分配的物件被分配在程式的空閒儲存區的可用記憶體池中.程式設計師用new來建立動態分配物件,用delete來結束時物件的生命週期...

C 知識點複習

static static變數只能初始化一次 include include using namespace std void fun int i int main 輸出為 0 00因為static變數只初始化一次,static int value i這句話只執行一次,也就是fun 0 的時候執行。...