數據 常量 變量 變量輸出及printf函數用法 變量的初始化

數據

一、是什么?

數據就是數值.數據有很多種,最簡單的就是數字.數據也可以是 文字,圖像,聲音等

二、有什么用?

保存我們的記錄,用于以后使用

三、怎么用?

由0和1組成,用設備存儲

四、什么時候用?

當你需要對數據進行操作使用時

五、有什么特點?

1.分為靜態數據和動態數據(內存)

2.只由0和1組成

3.最小單位是bit

1byte字節=8bit

常量

一、是什么?

是一些固定的數據,有四大類型;整型 ?浮點型(單行度和雙精度) ?字符型 ? 字符串型

二、有什么用?

表示一些固定不變的數據

三、怎么用?

字面常量.

比如: 1 //整型字面常量 ?1.0f //單精度字面常量

'a' //字符字面常量(只能是一個非中文字符) ?"hello world"字符串字面常量


字符串常量與字符常量不同的地方是,字符串常量是用""把字符串括起來,所以'a'和"a"是不一 樣的,而且系統會在字符串常量的末尾自動加一個字符串結束標志('\0')。

符號常量(也叫常變量):即用一個標識符來表示常量,一般用const來指明

如 :constint ?MAX_SIZE = 365;//定義一個符號常量MAX_SIZE.

也可以使用宏定義,通過預處理指令來替換符號常量

如:上面的MAX_SIZE可以寫成#define MAX_SIZE ?365

四、什么時候用?

當需要給變量賦值或者定義一個不變的數據

五、有什么特點?

數據不會被改變!

變量

一、是什么?

變量來源于數學,是計算機語言中能存儲計算結果或 者能表示 值抽象概念

變量是內存的一塊兒存儲單元用來存儲經常變化的數據

變量由兩要素構成:變量名與變量類型。

變量類型+變量名 = 變量

二、有什么用?

用來表示一個需要改變或者不確定的數據

變量分為全局變量,局部變量。全局變量定義在函數外部,程序開始到結束都一直在,而局部 變量定義在函數內部,只能供函數使用,在函數內部有效

三、怎么用?

變量類型+變量名 ?如;int num;

賦值: ?num = 1; 修改 num = 2;

四、什么時候用?

需要定義一個經常改變或者不確定的數據

五、有什么特點?

1.創建一個變量相當于在內存中占用了一塊空間

2.這個空間的大小是固定的,但是里面的數據可以改變

3.同一個作用域內不能有相同的變量名

4.初始化時創建,在函數作用域執行完后失效,且內存空間釋放

變量輸出及printf函數用法

一、是什么?

C語言下的printf()函數是樣式化輸出函數,由C語言自帶的庫提供

二、有什么用?

在控制臺上按照你需要的格式輸出你定義的數據

三、怎么用?

1.#include//引入頭文件,表示在這個文件里要用到里面的printf()函數

2.printf("<格式化字符串>",<參量表>)

3.格式化規定字符,以%開始 ?后面跟一個或幾個規定的字符

常用%d整數, %f浮點數 %c單個字符 ?%s字符串%p指針的值

四、什么時候用?

當你想輸出結果的時候

五、有什么特點?

1.可以單個輸出,也可以加批量輸出,以逗號分割

2.格式化是%開始. ?%前面可以加任意的字符串,會按原樣輸出.

printf的格式控制的完整格式:

% - 0 m.n l或h 格式字符

下面對組成格式說明的各項加以說明:

1%:表示格式說明的起始符號,不可缺少。

2-:有-表示左對齊輸出(右側補空格),如省略表示右對齊輸出(左側補空格)。

30:有0表示指定空位填0,如省略表示指定空位不填。

4m.n:m指域寬,即對應的輸出項在輸出設備上所占的字符數。N指精度。用于說明輸出的實型 數的小數位數。對數值型的來說,未指定n時,隱含的精度為n=6位。

5l或h:l對整型指long型,對實型指double型。h用于將整型的格式字符修正為short型。

格式字符 格式字符用以指定輸出項的數據類型和輸出格式。1d格式:用來輸出十進制整數。有以下幾種用法:%ld:輸出長整型數據。

2o格式:以無符號八進制形式輸出整數。對長整型可以用"%lo"格式輸出。同樣也可以指定字段寬 度用“%mo”格式輸出。

例:

main()

{ int a = -1; printf("%d, %o", a, a);

}

運行結果:-1,177777程序解析:-1在內存單元中(以補碼形式存放)為(1111111111111111)2,轉換為八進制數為 (177777)8。

3x格式:以無符號十六進制形式輸出整數。對長整型可以用"%lx"格式輸出。同樣也可以指定字段 寬度用"%mx"格式輸出。

4u格式:以無符號十進制形式輸出整數。對長整型可以用"%lu"格式輸出。同樣也可以指定字段寬 度用“%mu”格式輸出。

5c格式:輸出一個字符。

6s格式:用來輸出一個串。有幾中用法

%s:例如:printf("%s", "CHINA")輸出"CHINA"字符串(不包括雙引號)。%ms:輸出的字符串占m列,如字符串本身長度大于m,則突破獲m的限制,將字符串全部輸出。若串 長小于m,則左補空格。

%-ms:如果串長小于m,則在m列范圍內,字符串向左靠,右補空格。%m.ns:輸出占m列,但只取字符串中左端n個字符。這n個字符輸出在m列的右側,左補空格,注 意:如果n未指定,默認為0。%-m.ns:其中m、n含義同上,n個字符輸出在m列范圍的左側,右補空格。如果n>m,則自動取n 值,即保證n個字符正常輸出,注意:如果n未指定,默認為0。

如果是sprintf(desc, "%m.ns", sour); 如果desc空間夠的話,會在%m.ns 串 的結尾自動補null 字符,不同于strncpy。

例如 :sprintf(desc, "%.3s", "123456");desc如果空間>=4字節的話,第4個字節將是null字 符。


%f輸出精度: 7個有效數字,小數點后8位.


變量的初始化

int a; //不會報錯,a里面存的內容:

1)隨機數

2)上次程序分配的存儲空間,存數一些 內容,“垃圾”

3)系統正在用的一些數據

1)定義的同時進行初始化

int a = 10;

int a,b=10; //部分初始化

int a=4,b=2;

2)先定義,后初始化

int a;

a = 10;

3)使用一個變量進行初始化

int a;

int b = 10;

a = b; //使用b去初始化a

4)還可以批量的進行初始化

int a,b,c;

a = b =c =0;

注意: 變量的第一次賦值被成為稱為初始化,以后再賦值相當于覆蓋了上一次的值

變量的使用:

注意:

(1)賦值的時候,= 號的左側必須是變量(10=b,錯)

(2)規范:習慣將 = 的兩側 各加上一個 空格

變量作用域:

C語言中所有變量都有自己的作用域,申明變量的類型不同,其作用域也不同。C語言中的變 量,按照作用域的范圍可分為兩種, 即局部變量和全局變量。

局部變量

關于局部變量的作用域還要說明以下幾點:

(1)主函數中定義的變量也只能在主函數中使用,不能在其它函數中使用。同時,主函數中 也不能使用其它函數中定義的變量。因為主函數也是一個函數,它與其它函數是平行關系。

(2)形參變量是屬于被調函數的局部變量,實參變量是屬于主調函數的局部變量。

(3)允許在不同的函數中使用相同的變量名,它們代表不同的對象,分配不同的單元,互不 干擾,也不會發生混淆。雖然允許在不同的函數中使用相同的變量名,但是為了使程序明了易 懂,不 提倡在不同的函數中使用相同的變量名

全局變量

全局變量也稱為外部變量,它是在函數外部定義的變量。

全局變量的說明符號為 extern

對于全局變量還有以下幾點說明:1.對于局部變量的定義和說明,可以不加區分。而對于外部變量則不然,外部變量的定義和外部變量的說明并不是一回事。外部變量定義必須在所有的函數之外,且只能定義一次。其一般形式為: [extern] 類型說明符 變量名,變量名... 其中方括號內的extern可以省去不寫。

例如: int a,b;等效于:extern int a,b;

2.而外部變量說明出現在要使用該外部變量的各個函數內,在整個程序內,可能出現多次,外部變量說明的一般形式為: extern 類型說明符 變量名,變量名,...; 外部變量在定義時就已分配了內存單元,外部變量定義可作初始賦值,外部變量說明不能再賦初始值, 只是表明在函數內要使用某外部變量。

3.外部變量可加強函數模塊之間的數據聯系,但是又使函數要依賴這些變量,因而使得函數的

獨立性降低。從模塊化程序設計的觀點來看這是不利的, 因此在不必要時盡量不要使用全局變量。

4.在同一源文件中,允許全局變量和局部變量同名。在局部變量的作用域內,全局變量不起作用(就近原則).

為了合理的使用內存空間,所以變量一定要區分類型

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,001評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,786評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,986評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,204評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,964評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,354評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,410評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,554評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,106評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,918評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,093評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,648評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,342評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,755評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,009評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,839評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,107評論 2 375

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,726評論 18 399
  • 你看到我的軀體被瓜分 血漿緩緩流動 鋒利的骨頭掛在海棠花的枝蔓 找不到眼睛和牙齒 我成了一個爛橘子 酸臭腐爛 你不...
    三勢閱讀 201評論 0 1
  • 關于作者 野中郁次郎,在管理學界是赫赫有名的“知識創造理論之父”。憑借《創造知識的企業》,野中于2008年被《華爾...
    蔚成閱讀 866評論 1 1
  • 今天凌晨看完《黎明之前》,有感于顧曄佳和劉新杰惜別的那段戲。故有此同人作。貽笑大方。 3日清晨,病房。 顧曄佳從一...
    sH2nxy閱讀 1,418評論 0 7
  • 前幾天跟一個朋友在討論怎樣的一天是幸福的一天,我說如果所有的事情都能按照約定完成,做的都是自己喜歡的事情,看見自己...
    我是瑞雪閱讀 934評論 4 45