文章目錄:
一.數(shù)據(jù)類型
二.常量
三.變量
四. 整型數(shù)據(jù)
五.浮點(diǎn)型數(shù)據(jù)
六.字符型數(shù)據(jù)
七.字符串常量
一.數(shù)據(jù)類型
數(shù)據(jù)類型分為四大類:
- 基本類型
- 整型
- 浮點(diǎn)
- 字符型
- 構(gòu)造類型
- 數(shù)組
- 結(jié)構(gòu)體
- 指針類型
- 空類型
二.常量
常量是指在程序運(yùn)行過(guò)程中,其值不發(fā)生變化的量。常量又可分為整型、實(shí)型(也稱浮點(diǎn)型)、字符型和字符串型。
整型常量、實(shí)型常量、字符型常量是在編譯時(shí)可以直接編入代碼段的常量;例如,在字符串"你好"中,雙引號(hào)中間的漢字就是字符串型常量,無(wú)論雙引號(hào)中間的內(nèi)容是ASCII碼字符,還是漢字或其他國(guó)家的文字等,都是字符串型常量(考研不會(huì)考漢字的字符串常量,無(wú)需掌握)。
三.變量
變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,世用來(lái)存放數(shù)據(jù),即變量的值。這些值在程序的執(zhí)行過(guò)程中是可以改變的。
變量名實(shí)際上以一個(gè)名字代表一個(gè)對(duì)應(yīng)的存儲(chǔ)單元地址。編譯、鏈接程序時(shí),由編譯系統(tǒng)為每個(gè)變量名分配對(duì)應(yīng)的內(nèi)存地址(就是空間)。從變量中取值實(shí)際上是通過(guò)變量名找到內(nèi)存中存儲(chǔ)單元的地址,并從該存儲(chǔ)單元中讀取數(shù)據(jù)。
變量的命名規(guī)定如下:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線
三種字符組成,并且第一個(gè)字符必須為字母或下畫(huà)線
。例如,
sum,_total,Student_name
編譯系統(tǒng)認(rèn)為大寫(xiě)字母和小寫(xiě)字母是不同的字符,因此C語(yǔ)言要求對(duì)所有用到的變量做強(qiáng)制定義,即“先定義,后使用”。同時(shí)在選擇變量名和其他標(biāo)識(shí)符時(shí),應(yīng)盡量做到“見(jiàn)名知意”,即選擇具有含義的英文單詞(或其縮寫(xiě))作為標(biāo)識(shí)符。注意,變量名不能與關(guān)鍵字同名!
四. 整型數(shù)據(jù)
4.1 符號(hào)常量
define + 關(guān)鍵字+值
來(lái)看一個(gè)實(shí)際的例子:
#include <stdio.h>
#define PI 3+2
int main() {
int i=PI*2;
printf("i=%d\n",i);
return 0;
}
注意輸出是7,而不是10
4.2 整型變量
int i ;
i=10;
printf("%d",sizeof(i));
五.浮點(diǎn)型數(shù)據(jù)
5.1 浮點(diǎn)型常量
表示浮點(diǎn)型常量的形式有兩種,如下表所示,其中e代表10的冪次,冪次可正可負(fù)。
注意:字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù)。
正確示例:le3、1.8e-3、-123e-6、-.le-3。
錯(cuò)誤示例:e3、2.le3.5、.e3、e。
5.2 浮點(diǎn)型變量
通過(guò)float f來(lái)定義浮點(diǎn)變量,f占用4個(gè)字節(jié)的空間
六.字符型數(shù)據(jù)
6.1 字符型常量
用單引號(hào)括起來(lái)的一個(gè)字符是字符型常量,且只能包含一個(gè)字符!例如,‘a(chǎn)’、‘A’、‘1’、’ ‘是正確的字符型常量,而’abc’、“a”、""是錯(cuò)誤的字符型常量。下表中給出了各種轉(zhuǎn)義字符及其作用。以“\”開(kāi)頭的特殊字符稱為轉(zhuǎn)義字符,轉(zhuǎn)義字符用來(lái)表示回車(chē)、退格等功能鍵。
6.2 字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法
字符型變量使用關(guān)鍵字char進(jìn)行定義,一個(gè)字符型變量占用1字節(jié)大小的空間。一個(gè)字符常量存放到一個(gè)字符型變量中時(shí),實(shí)際上并不是把該字符的字型放到內(nèi)存中,而是把該字符的ASCII 碼值放到存儲(chǔ)單元中。打印字符型變量時(shí),如果以字符形式打印,那么計(jì)算機(jī)會(huì)到ASCI碼表中查找字符型變量的ASCII碼值,查到對(duì)應(yīng)的字符后會(huì)顯示對(duì)應(yīng)的字符,如下圖所示。
這樣,字符型數(shù)據(jù)和整型數(shù)據(jù)之間就可以通用。字符型數(shù)據(jù)既可以以字符形式輸出,又可以以整數(shù)形式輸出,還可以通過(guò)運(yùn)算獲取想要的各種字符,請(qǐng)看下面例子。
#include<stdio.h>
int main()
{
char c='A';
printf("%c\n",c+32);
printf("%d\n",c);
}
對(duì)于字符型變量,無(wú)論是賦ASCII碼值還是賦字符,使用%c打印輸出時(shí)得到的都是字符,使用%d打印輸出時(shí)得到的都是ASCII碼值.將小寫(xiě)字母轉(zhuǎn)換為大寫(xiě)字母時(shí),由課件最后的ASCI碼表發(fā)現(xiàn)小寫(xiě)字母與大寫(xiě)字母的差值為32,因此將c減去32就可以得到大寫(xiě)字母A,文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-793911.html
七.字符串常量
字符串型常量是由一對(duì)雙引號(hào)括起來(lái)的字符序列。例如,“How do you do.”、“CHINA”、“a"和”$123.45"是合法的字符串型常量,我們可用語(yǔ)句printf (“How do you do.”)輸出一個(gè)字符串。但要注意的是,‘a(chǎn)’是字符型常量,而"a"是字符串型常量,二者是不同的。
例如,如果先用語(yǔ)句char c定義字符型變量c,后令 c="a"或c="CHINA ,那么這樣的賦值都是非法的,原因是不可以將字符串型常量賦值給字符型變量。C語(yǔ)言中沒(méi)有定義字符串型變量的關(guān)鍵字,介紹字符數(shù)組時(shí)我們將詳細(xì)講解如何存放字符串。
C語(yǔ)言規(guī)定,在每個(gè)字符串型常量的結(jié)尾加一個(gè)字符串結(jié)束標(biāo)志,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。C語(yǔ)言規(guī)定以字符’\0’作為字符串結(jié)束標(biāo)志。
例如,字符串型常量"CHINA"在內(nèi)存中的存儲(chǔ)結(jié)果如下圖所示,它占用的內(nèi)存單元不是5個(gè)字符,而是6個(gè)字符,即大小為6字節(jié),最后一個(gè)字符為’\O’。然而,在輸出時(shí)不輸出’\0’,因?yàn)椤痋0’無(wú)法顯示。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-793911.html
到了這里,關(guān)于【C語(yǔ)言基礎(chǔ)考研向】02 數(shù)據(jù)類型-常量-變量的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!