1 資料型別

2021-10-07 10:26:21 字數 3819 閱讀 7760

1、資料型別

顧名思義,格式控制符就是對識別符號或表示式的格式進行控制,它決定了識別符號或表示式的輸出形式(長度、對齊方式、小數字數等),它也是c語言中非常重要的乙個概念。本人實際工作中雖然經常用到格式控制符,但用的最多的無非是%d、%c、%s這些,但是在本篇中我將盡可能全面的介紹格式控制符,這其中必然會涉及到好多我沒用到的識別符號,當然我會盡量在程式中加以驗證,同時如有不足之處望不吝賜教,拜謝。

1.格式控制符形式

% [o] 《格式控制符》

其中,中括號裡的內容是可選的,<>裡的內容是必須的。以下對各個標誌的含義簡要介紹:

%:表示格式控制的起始符號,必不可少。–格式控制起始位置

+/-:表示對齊標誌,+表示右對齊,-表示左對其,預設情況下為右對齊。–對齊標誌

o:表示當實際長度沒有格式控制的長度大時,用「o」補全。–補全內容

m/m.n:其中,m表示輸出所佔位寬,n表示實際取識別符號的多少位輸出–佔位長度

l/h:l對整型指long型,對實型指double型;h用於將整型字元修正為short型

<>:格式控制符

1.1格式控制符

%d:用於輸出整型數(整型指本質為整型的數,如int、short、char等)

%c:用於輸出乙個字元

%s:用於輸出乙個字串

%o:以無符號八進位制形式輸出整數值

%x:以無符號十六進製制形式輸出整數值

%u:以無符號形式輸出十進位制數

%f:用來輸出浮點數(float),精度為6位小數,第七位四捨五入。

%p:指標的值 位址

1.2佔位長度與格式控制符搭配輸出

1.2.1 佔位長度與%d搭配

%md:m為指定的輸出資料的位寬。如果資料的位數小於m,則左端補以空格(因為預設右對齊,所以左補用以佔位);如果資料的位數大於m,則以資料的實際位數輸出。示例如下:

1.2.2 佔位長度與%c搭配

一般無此搭配方式。

1.2.3 佔位長度與%s搭配

%ms:m為指定的輸出字串的寬度。如果字串的位數小於m,則左端補空格;如果字串的位數大於m,則以實際的字串長度輸出。例項如下:

%m.ns:意為從左向右擷取字串的n位輸出到佔位m的位置,左補空。設字串實際長度為len,則具體表現形式如下:

1.若nn:則輸出m個字元,左補空

2.若n>len

取字串的實際(長度len)字元,然後做如下判斷:

若mlen:則輸出m個字元,左補空格

1.2.4 佔位長度與%f搭配

%m.nf:m為佔位寬度,n為小數點右邊的位數,浮點數的規則較字串比起來更為複雜些,你不但要關注浮點數的總佔位寬,還要關注小數的佔位寬。小數部分的精度為lendot,下面分整數字數與小數字數簡要分析下:

1.2.4.1小數部分:

由於浮點數float的精度為6(即lendot=6)。算小數部分原則:

(1)首先根據浮點數的實際精度得出近似值,原則為:

若浮點數的實際小數字長大於6,則擷取6位,第七位四捨五入;若浮點數的實際小數字數小於6,則後補0。如1.23轉換成1.230000;1.23456789轉換成1.234568

(2)根據上步中的結果值,從中擷取n位長。注意:n一般小於或等於6,因為超過6位的資料不真實。

1.2.4.2整數部分:

整數部分完整輸出,唯一要注意的是:

當m>(整數字寬+小數點位寬+n)時,左補空。

1.2.4.3示例如下:

1.2.4.4建議

一般不對浮點數float輸出大於6位的小數,因為大於6位後的資料已經在浮點精度之外了,是不正確的資料。

1.3補全內容與佔位長度、控制符的搭配輸出

當識別符號的佔位長度大於實際的長度時,在多出的位置處用補全內容填充。補全內容預設為空,可以顯式指定補全內容為0。例項如下:

1.4對齊標誌

對齊標誌有兩種:+和-,其中預設為+。+表示右對齊,-表示左對齊。對齊標誌要相對簡單、更好理解,所以不細講,直接舉例驗證,如下:

左對齊:

右對齊:

三、第乙個c語言程式

1.include

標頭檔案包含

<> 引用標準庫的標頭檔案

「」 自定標頭檔案

2.main

主函式,c語言的程式入口(有且只有乙個入口函式)

main函式的引數:

int argc:呼叫程式的時候,給程式傳入的引數個數

char const *ar**:將這些傳入的引數以字串的格式傳遞給main函式

()括號裡面是引數列表

3.int和return

int代表函式返回值型別為整型

return 關鍵字表示退出當前函式(當return放在main函式裡面的時候,表示程式退出)

return後面的值是返回給函式呼叫者的值

4.{}

裡面是函式體

5.printf函式

是乙個標準c的函式,將字串輸出給標準輸出檔案

6.注釋

/**/ 按塊注釋

// 按行注釋

7.定義與宣告

int a;

int表示變數型別

a表示變數名

;語句結束

定義並初始化

int a = 100;

=表示c語言的賦值語句

100是乙個常量

四、關鍵字

c語言總共有32個關鍵字

intdouble

float

char

long

void

short

sizeof

static

extern

break 跳出迴圈

continue 跳出本次迴圈

enum

union

struct

return

ifelse

while

switch

case

default

forunsigned

dogoto 跳轉函式

volatile 防止編譯器對**進行優化

auto

const 宣告可讀變數

register

signed

typedef 給型別取別名

五、識別符號

定義變數的時候,給變數起的名字,(非c語言關鍵字),就是識別符號

(函式名、變數名、結構體名、巨集名)

要求:1.數字、字母、下劃線組成

2.不能以數字開頭

3.不能與c語言關鍵字一樣

(建議不要定義成函式名)

六、常量與變數

整型常量和浮點型常量

整型: 123,0123,0x123ff

浮點型: 3.14,3.14e3,3.14e-2

字元型常量和字串型常量

字元』a』,』\0』,』\n』,』\027』,』\x1ff』;

字串」a」,」hello world!」

表示不可見字元有三種方法:

1:使用ascii碼,例如:char beep = 7;

2:使用轉義序列,例如:char beep = 『\a』;

3:使用轉義字元,例如:char beep = 『\007』; //或char beep = 『\x07』

#define 宣告巨集常量

const 修飾唯讀變數

七、ascii碼

九、printf函式

1.至少有乙個引數

2.在第乙個引數裡面的格式控制符的數量和型別和後面引數要保持一致

3.後面的引數,可以是常量、變數、表示式、函式呼叫

十、資料長度

十一、型別轉換

隱式轉換:低精度向高精度預設轉換

強制型別轉換: (型別)表示式

1 資料型別

1.整型 語法 資料型別 變數名 變數初始值 資料型別存在的意義 給變數分配合適的記憶體空間。2.sizeof關鍵字 作用 可以統計資料型別所佔空間大小 語法 sizeof 資料型別 變數 整型大小比較 short int long long long cout int占用記憶體空間為 sizeof...

資料型別1

資料型別 1 基本資料型別 關鍵字 記憶體占用 取值範圍 整數型 byte 位元組型 1個位元組 128 127 位元組是資料的最小單位,8位是乙個位元組 short 短整型 2 int 整型 4 21個億 21個億 long 長整型 8 最大2的63次方 1 浮點型 單精度浮點數 float 4 ...

Python資料型別(1)數字資料型別

python語言是物件導向的一門程式語言。python中的資料型別其實就是python的內建基本物件。內建物件主要包括簡單型別和容器型別。簡單型別主要是數值型資料,容器型別是可以包含其他物件的集體,如序列,元組,對映,集合等。python中的資料型別也是物件,資料型別像其他物件一樣也有屬性 attr...