1樓:
第2章 資料型別、運算子與表示式
本章主要介紹c語言的各種資料型別、運算子和表示式。
2.1 c語言的資料型別
c語言的資料型別具體分類如下:
基本型別:分為整型、實型(又稱浮點型)、字元型和列舉型四種。
構造型別:分為陣列型別、結構型別和共用型別三種。
指標型別
空型別
2.2 常量和變數
2.2.1 常量
1、常量的概念:在程式執行過程中,其值不能被改變的量稱為常量
2、 常量的分類:
整型常量
實型常量
字元常量
符號常量
3、常量的型別,可通過書寫形式來判別。
2.2.2 變數
1、變數的概念:在程式執行過程中,其值可以被改變的量稱為變數
2、變數名:每個變數都必須有乙個名字——變數名,變數命名遵循識別符號命名規則
3、變數值:在程式執行過程中,變數值儲存在記憶體中。在程式中,通過變數名來引用變數的值
4、識別符號命名規則:
只能由字母、數字和下劃線組成,且以字母或下劃線開頭
有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被捨棄
c語言的關鍵字不能用作變數名
注意:c語言對英文本母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字元。
習慣上,變數名和函式名中的英文本母用小寫,以增加可讀性。
5、變數的定義與初始化
在c語言中,要求對所有用到的變數,必須先定義、後使用;且稱在定義變數的同時進行賦初值的操作為變數初始化。
(1)變數定義的一般格式
資料型別 變數名[, 變數名2……];
例如,float radius, length, area;
(2)變數初始化的一般格式
資料型別 變數名[=初值][, 變數名2[=初值2]……];
例如,float radius=2.5, length, area;
2.3 整型資料
2.3.1 整型變數
1、分類
根據占用記憶體位元組數的不同,整型變數又分為4類:
(1)基本整型(型別關鍵字為int)。
(2)短整型(型別關鍵字為short [int])。
(3)長整型(型別關鍵字為long [int])。
(4)無符號整型。無符號型又分為無符號基本整型(unsigned [int])、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來儲存無符號整數。
2、占用記憶體位元組數與值域
上述各型別整型變數占用的記憶體位元組數,隨系統而異。在16位作業系統中,一般用2位元組表示乙個int型變數,且long型(4位元組)≥int型(2位元組)≥short型(2位元組)。
顯然,不同型別的整型變數,其值域不同。占用記憶體位元組數為n的(有符號)整型變數,其值域為:-2n*8-1~(2n*8-1-1);無符號整型變數的值域為:0~(2n*8-1)。
例如,pc機中的乙個int型變數,其值域為-22*8-1~(22*8-1-1),即-32768~32767;乙個unsigned型變數的值域為:0~(22*8-1),即0~65535。
第2章 資料型別、運算子與表示式
本章主要介紹c語言的各種資料型別、運算子和表示式。
2.1 c語言的資料型別
c語言的資料型別具體分類如下:
基本型別:分為整型、實型(又稱浮點型)、字元型和列舉型四種。
構造型別:分為陣列型別、結構型別和共用型別三種。
指標型別
空型別
2.2 常量和變數
2.2.1 常量
1、常量的概念:在程式執行過程中,其值不能被改變的量稱為常量
2、 常量的分類:
整型常量
實型常量
字元常量
符號常量
3、常量的型別,可通過書寫形式來判別。
2.2.2 變數
1、變數的概念:在程式執行過程中,其值可以被改變的量稱為變數
2、變數名:每個變數都必須有乙個名字——變數名,變數命名遵循識別符號命名規則
3、變數值:在程式執行過程中,變數值儲存在記憶體中。在程式中,通過變數名來引用變數的值
4、識別符號命名規則:
只能由字母、數字和下劃線組成,且以字母或下劃線開頭
有效長度:隨系統而異,但至少前8個字元有效。如果超長,則超長部分被捨棄
c語言的關鍵字不能用作變數名
注意:c語言對英文本母的大小敏感,即同一字母的大小寫,被認為是兩個不同的字元。
習慣上,變數名和函式名中的英文本母用小寫,以增加可讀性。
5、變數的定義與初始化
在c語言中,要求對所有用到的變數,必須先定義、後使用;且稱在定義變數的同時進行賦初值的操作為變數初始化。
(1)變數定義的一般格式
資料型別 變數名[, 變數名2……];
例如,float radius, length, area;
(2)變數初始化的一般格式
資料型別 變數名[=初值][, 變數名2[=初值2]……];
例如,float radius=2.5, length, area;
2.3 整型資料
2.3.1 整型變數
1、分類
根據占用記憶體位元組數的不同,整型變數又分為4類:
(1)基本整型(型別關鍵字為int)。
(2)短整型(型別關鍵字為short [int])。
(3)長整型(型別關鍵字為long [int])。
(4)無符號整型。無符號型又分為無符號基本整型(unsigned [int])、無符號短整型(unsigned short)和無符號長整型(unsigned long)三種,只能用來儲存無符號整數。
2、占用記憶體位元組數與值域
上述各型別整型變數占用的記憶體位元組數,隨系統而異。在16位作業系統中,一般用2位元組表示乙個int型變數,且long型(4位元組)≥int型(2位元組)≥short型(2位元組)。
顯然,不同型別的整型變數,其值域不同。占用記憶體位元組數為n的(有符號)整型變數,其值域為:-2n*8-1~(2n*8-1-1);無符號整型變數的值域為:0~(2n*8-1)。
例如,pc機中的乙個int型變數,其值域為-22*8-1~(22*8-1-1),即-32768~32767;乙個unsigned型變數的值域為:0~(22*8-1),即0~65535。
實型資料
2.4.1 實型變數
c語言的實型變數,分為兩種:
(1)單精度型:型別關鍵字為float,一般佔4位元組(32位)、提供7位有效數字。
(2)雙精度型:型別關鍵字為double,一般佔8個位元組、提供15~16位有效數字。
2.4.2 實型常量
1、表示形式
實型常量即實數,在c語言中又稱浮點數,其值有兩種表達形式:
(1)十進位制形式:例如3.14、9.8。
(2)指數形式:《尾數》e(e)《整型指數》。例如3.0e+5等。
2、關於型別
實型常量不分float型和double型。乙個實型常量,可以賦給乙個實型變數(float型或double型)。
2.5 字元型資料
2.5.1 字元常量
1、字元常量的定義
用一對單引號括起來的單個字元,稱為字元常量。
例如,『a』、『1』、『+』等。
2、轉義字元
c語言還允許使用一種特殊形式的字元常量,就是以反斜槓「\ 」開頭的轉義字元。
注意:如果反斜槓或單引號本身作為字元常量,必須使用轉義字元:『\\』、『\』『。
[案例2.1] 用轉義字元輸出可列印字元和不可列印字元。
main()
程式執行結果如下:
ok!2.5.2 字元變數
字元變數的型別關鍵字為char,一般占用1位元組記憶體單元。
1.變數值的儲存
字元變數用來儲存字元常量。將乙個字元常量儲存到乙個字元變數中,實際上是將該字元的ascii碼值(無符號整數)儲存到記憶體單元中。
例如,char ch1, ch2; /*定義兩個字元變數:ch1,ch2*/
ch1=』a』; ch2=』b』; /*給字元變數賦值*/
2.特性
字元資料在記憶體中儲存的是字元的ascii碼—— 乙個無符號整數,其形式與整數的儲存形式一樣,所以c語言允許字元型資料與整型資料之間通用。
(1)乙個字元型資料,既可以字元形式輸出,也可以整數形式輸出。
[案例2.2] 字元變數的字元形式輸出和整數形式輸出。
main()
程式執行結果:
ch1=a,ch2=b
ch1=97,ch2=98
(2)允許對字元資料進行算術運算,此時就是對它們的ascii碼值進行算術運算。
[案例2.3] 字元資料的算術運算。
main()
程式執行結果:
ch1=a,ch2=b
ch1+200=297
ch1+200=)
ch1+256=353
ch1+256=a
2樓:匿名使用者
看你需要什麼型別的變數,就定義成什麼型別的比如你需要乙個整數,當然用int型別了
如果需要乙個小數,就用float或double,要看你需要的小數的精度有多大,前者是4個位元組的,所以精度相對沒那麼高,後者是8個位元組的,精度肯定高一點
如果你需要乙個字元,那麼就用char吧,char是乙個位元組的
3樓:
像這些問題應該到書中去找答案,那樣是最準確,最方便的,給你推薦兩本經典教材精讀完這兩本書,你應經算是c語言高手了。
c語言當中int,float,double,char這四個有什麼區別?
4樓:加百列
區別在以下bai方面:
du一、定義方面:
1、int為整數型,zhi用於定義整dao數型別的資料 。
2、float為單
內精度浮點型,能準確到容小數點後六位 。
3、double為雙精度浮點型,能準確到小數點都十二位 。
4、char為字元型,用於定義字元型別的資料。
二、記憶體佔據:
1、int 的記憶體大小是4 個byte。
2、float 記憶體大小是4 個byte。
3、double 的記憶體大小是8 個byte。
4、char 的記憶體大小是1 個byte。
基本資料型別表如下:
三、表示的資料範圍:
1、int:數的範圍為-(2的31次方-1)到(2的31次方-1),數字為-2 147 483 647~2 147 483 647。
2、double:表示的範圍為+1.111111111111111111111*2^1023(1.後面52個1)為1.7*10^308。負數亦然。
3、float:整數極限為3.4*10^38,負數亦然。
4、char:-128- 127。
C語言中,什麼時候用float,什麼時候用double?麻煩順便舉個例子,謝謝
堅涵蕾老霖 一般用float就可以滿足要求,float和double都用來定義浮點數,也就是小數,兩者就是有效位數不同,float為7 8位,double是15 16位,看你需要什麼精確度的數了 再不清楚的話,就隨便找個數,分別以float和double格式輸出,看看輸出的數有什麼區別就懂了 要看數...
c語言中什麼時候用到 include《stdlib》 頭文
風若遠去何人留 是引用stdlib.h標頭檔案,即 include 這裡的.h是不可缺少的。stdlib.h中,包含了c語言的一些常用庫函式。如動態記憶體相關的malloc,realloc,zalloc,calloc,free等。隨機數相關的rand,srand等。系統相關的system,geten...
C語言什麼時候要用到strcat
對,說的好,你的方法會更簡單。strcat的用法就是可以多次拼接字串,這個和printf就有區別,printf是一次性的,如果你要在字串後面再加一段列印,那你就不得不將之前寫過的 再寫一便,但是用strcat之後,就不用一次次地規定要以什麼格式列印字串了 總之,各有各的好處,做了專案之後就知道了 還...