




已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第3章,數(shù)據(jù)類型基礎(chǔ),了解常量與變量的含義。 掌握基本數(shù)據(jù)類型的特點。 掌握基本輸入輸出函數(shù) 掌握運(yùn)算符與表達(dá)式,常量、變量和標(biāo)識符 基本數(shù)據(jù)類型 (整型、實型、字符型) 數(shù)據(jù)的輸入、輸出 運(yùn)算符與表達(dá)式,講課提綱,程序要對數(shù)據(jù)進(jìn)行操作處理: 處理的對象是數(shù)據(jù)(其在程序中要有合法的表現(xiàn)形式) 而數(shù)據(jù)又通過運(yùn)算符和表達(dá)式進(jìn)行操作,例:計算半徑為 5 cm的圓的面積。程序如下:,main( ) float r, area ; r=5 ; area=3.14*r*r; printf (“%fn “, area) ; ,輸出:78.500000,程序中用到的數(shù)據(jù):r、area、5、3.14 對數(shù)據(jù)進(jìn)行的運(yùn)算:* 、=,分析:,計算機(jī)操作處理時,要完成以下工作: 在內(nèi)存中給半徑 r 和運(yùn)算結(jié)果 area 開辟存儲空間,存放它們的值。應(yīng)該留多大的地方來存放它們的值? 數(shù)據(jù) 5 和 3.14 與 r 、area 不同,編程時給出確定值且運(yùn)算過程中不改變。這樣的數(shù)計算機(jī)怎么處理? 對整數(shù) 5 和小數(shù)3.14 ,計算機(jī)存放時是否有區(qū)別?,涉及數(shù)據(jù)類型 的基本知識,數(shù)據(jù)類型決定: 1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù) 2. 數(shù)據(jù)取值范圍 3. 其上可進(jìn)行的操作,數(shù)據(jù)往往都是以某種特定形式存在的, C語言提供的數(shù)據(jù)類型如下:,返回,3.2.1 常量,整型常量:10、28; 實型常量:3.14; 字符常量:a、A ;,程序運(yùn)行過程中,值不發(fā)生改變的量稱為常量 。 直接常量 直接常量(即常數(shù)):10、3.14等都是直接常量 。 常量分為:,常量可以直接用于輸入或賦給其他變量,整型常量 三種形式: 十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號表示.如 32、-8、0等 八進(jìn)制整數(shù):由數(shù)字0開頭(注意:不是字母o) ,后跟數(shù) 字07表示.如 012、011、016 十六進(jìn)制整數(shù):由0x(或0X)開頭,后跟09,af,AF表 示.如 0x123,0Xff,注意:八進(jìn)制數(shù)、十六進(jìn)制數(shù)的合法數(shù)字表 示,十六進(jìn)制數(shù)中字母大、小寫等同,0xaa等同于0xAA,3.2.1 常量,#include main() int a,b,c; a=100; b=0100; c=0x100; printf(“a=%d,b=%d,c=%dn“,a,b,c); ,輸出結(jié)果是: a=100,b=64,c=256,舉例:,3.2.1 常量,2.實型常量(浮點數(shù)) 即帶小數(shù)點的實數(shù)。 表示形式: 十進(jìn)制數(shù)形式:(必須有小數(shù)點) 如 0.1234、.1234、1234.、0.0 指數(shù)形式: 由尾數(shù)、字母e或E、指數(shù)三部分組成。 如3.85e4 或 3.85E4 均表示 3.85104,(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù)),例:判斷下列指數(shù)形式的合法性 13E6 3.5e4.5 .e3 1.23456e2 e,規(guī)范化的指數(shù)形式: 在字母e(或E)之前的尾數(shù)中,小數(shù)點左邊應(yīng)有一位(且只能有一位)非零的數(shù)字。例如: 3.478e2,3.2.1 常量,3.字符常量,字符常量區(qū)分大小寫,如 a、I、A、n,如 a、A是兩個不同的字符常量,字符常量的值:該字符的ASCII碼值,如 a在內(nèi)存的字節(jié)中存放的ASCII值是97,特殊的字符常量 :以一個“”開頭的字符序列。 (轉(zhuǎn)義字符),定義:用單引號括起來的單個普通字符或轉(zhuǎn)義字符.,3.2.1 常量,“轉(zhuǎn)義字符”:即 將反斜杠()后面的字符轉(zhuǎn)換成另外的意義。 如:n 中 的 “n” 不代表字母 n 而作為 “換行” 符。 (仍代表一個字符),以“”開頭的特殊字符,3.2.1 常量,main() printf(“%c,%cn“,a,A); printf(“%d,%dn“,a,A); printf(“%c,%cn“,a-32,A+1); ,程序輸出結(jié)果是: a,A 97,65 A,B,由于字符常量存放的是ASCII碼值,所以字符常量可以同數(shù)值常量一樣參加算術(shù)運(yùn)算。,字符常量與字符串常量不同,4.字符串常量 定義:用雙引號(“”)括起來的若干字符,簡稱:字符串 如”STRING” 存儲:每個字符串尾自動加一個 0 作為字符串結(jié)束標(biāo)志,3.2.1 常量,main() printf(“Computer“); printf(“nI am a boy!n“); printf(“%sn“,“STRING“); ,程序輸出結(jié)果是: Computer I am a boy! STRING,雙引號、單引號是字符常量和字符串常量的標(biāo)記,字符串和字符常量是兩個不同的概念。,3.2.1 常量,#define PI 3.14 main() float r,circle,area; r=2.4; circle=2*PI*r; area=PI*r*r; printf(“circle=%f,area=%fn“,circle,area); ,程序的運(yùn)行結(jié)果是: circle=15.072001,rea=18.086401,程序中用#define命令行定義PI代表常量3.14, 此后凡在本文件中出現(xiàn)的PI都代表3.14, 可以和常量一樣進(jìn)行運(yùn)算。,符號常量 C語言中特殊常量符號常量即給常量起一個名。,返回,3.2.1 常量,用來標(biāo)識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名、文件名的有效字符序列稱為標(biāo)識符。 規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,并且第一個字符必須為字母或下劃線。,例:判斷下列標(biāo)識符號合法性 area、sum、 a&b、$234、 _above、PI 、name、Name、class、CLASS,1.標(biāo)識符,3.2.2 變 量,C語言的標(biāo)識符中,將區(qū)分大小寫,name和Name、CLASS和class都是不同的標(biāo)識符。,標(biāo)識符,3.2.2 變 量,#define PI 3.14 main() float r,c,area; r=2.4; printf(“c=%f,area=%fn“,c,area);,r、c和area就是變量名 ,命名規(guī)則應(yīng)遵守標(biāo)識符命名規(guī)則,2. 變量的定義 程序運(yùn)行過程中,值可改變的量稱為變量。每一個變量都應(yīng)該有一個名字作為標(biāo)識。,變量定義的一般格式: 數(shù)據(jù)類型 變量1,變量2,變量n;,C語言所允許的任何數(shù)據(jù)類型,包括基本數(shù)據(jù)類型及構(gòu)造數(shù)據(jù)類型 等,合法標(biāo)識符,例: int i; float data;,變量必須遵從“先定義,后使用”的原則。,3.2.2 變 量,3.變量的賦值與初始化 賦值格式:變量名表達(dá)式 例:a=10; 可在定義變量時給變量賦初值,稱為變量初始化。 格式:類型符 變量1=值1, 變量2=值2; 例:int a=1;b=3;c=100;,3.2.2 變 量,1.整型數(shù)據(jù)在內(nèi)存中的存放形式: 數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的。,一個int整數(shù)VC環(huán)境下通常用4個字節(jié)存放:其中最高位用來存放整數(shù)的符號, 0表示正整數(shù), 1表示負(fù)整數(shù) 實際上,一個有符號整數(shù)在內(nèi)存中,是以補(bǔ)碼形式存放的。 若說明為無符號整數(shù),其中最高位不再用來存放整數(shù)的符號,二進(jìn)制位全部用來存放整數(shù)數(shù)值,因此無符號整數(shù)不可能是負(fù)數(shù),3.3.1 整型數(shù)據(jù),數(shù)值的表示方法原碼、反碼和補(bǔ)碼 原碼:最高位為符號位,其余各位為數(shù)值本身的絕對值 反碼: 正數(shù):反碼與原碼相同 負(fù)數(shù):符號位為1,其余位對原碼取反 補(bǔ)碼: 正數(shù):原碼、反碼、補(bǔ)碼相同 負(fù)數(shù):最高位為1,其余位為原碼取反,再對整個數(shù)加1,負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動,其余位取反末位加1,例 補(bǔ)碼:11111001 取反:10000110 末位加1:110000111=-7,2. 分類 : 歸納起來,可以用以下6種整型變量。即: 有符號基本整型 signed int 有符號短整型 signed short int 有符號長整型 signed long int 無符號基本整型 unsigned int 無符號短整型 unsigned short int 無符號長整型 unsigned long int,3.3.1整型數(shù)據(jù),1. 實型數(shù)據(jù)在內(nèi)存中的存放形式 一個實型數(shù)據(jù)在內(nèi)存中占4個字節(jié)(32位)。 2. 實型變量的分類(注意其有效位) C實型變量分為單精度(float型)、雙精度(double型)和長雙精度型(long double)三類。 實型變量也應(yīng)在使用前加以定義。如: float x,y; (指定x、y為單精度實數(shù)) double z; (指定z為雙精度實數(shù)),3.3.2 實型數(shù)據(jù),程序輸出結(jié)果是: s=78.500000,3.3.2 實型數(shù)據(jù),main( ) float r, area ; r=10 ; area=3.14*r*r; printf (“s=%fn “, area) ; ,1. 字符變量的定義 : 一個字符變量在內(nèi)存中占一個字節(jié) char c1,c2; c1=a;c2=b;/*對c1、c2賦值 */ 2. 字符數(shù)據(jù)在內(nèi)存中的存放及其使用方法 : 存放的是該字符相應(yīng)的ASCII碼。 例如: 字符a 的ASCII碼為97,b為98,3.3.3 字符型數(shù)據(jù),#include main( ) char ch1,ch2; ch1=a; ch2=ch1-32; printf (“ch1=%c , ch2=%c n“, ch1,ch2) ; printf (“ch1=%d , ch2=%d n“, ch1,ch2) ; ,程序輸出結(jié)果是: a,A 97,65,由于字符數(shù)據(jù)存放的是ASCII碼值,所以字符數(shù)據(jù)可以同數(shù)值數(shù)據(jù)一樣參加算術(shù)運(yùn)算。,3.3.3 字符型數(shù)據(jù),字符輸出函數(shù)putchar() 作用:向終端輸出一個字符。 基本格式:putchar(ch) 用法說明: 參數(shù)ch可以是除字符串常量之外的字符、整型、實型常量、變量或各種表達(dá)式 在程序中使用putchar()函數(shù)時,該程序的開頭必須用一條預(yù)編譯命令“#include ”。 putchar()函數(shù)可以輸出控制字符,如: putchar(n);,3.4.1 putchar函數(shù),例 在putchar函數(shù)中使用不同參數(shù)輸出字符A。 #include “stdio.h“ main() char ch=A; int i=65; putchar(ch); /*輸出字符變量所代表的字符,*/ putchar(i); /*輸出以整型變量i的值為ASC碼的字符,*/ putchar(A); /*直接輸出字符常量A,*/ putchar(65); /*輸出以十進(jìn)制整型常量65為ASC碼的字符,*/ putchar(n); /*輸出一個換行符*/ ,程序運(yùn)行結(jié)果: AAAA,字符輸入函數(shù)getchar() 作用:接收從終端(一般指鍵盤)輸入的一個字符。 基本格式: getchar() 沒有參數(shù),3.4.2 getchar函數(shù),例 輸入單個字符 #include “stdio.h“ main() char ch; ch=getchar(); /*從鍵盤上接收一個字符*/ putchar(ch); /*在屏幕上輸出該字符*/ ,例 輸入輸出字符練習(xí)。 #include main( ) char ch1,ch2,ch3; ch1=getchar( ); ch2=getchar( ); ch3=getchar( ); putchar(ch1); putchar(ch2); putchar(ch3); ,ABCDEFG ABC,A BC A B,返回,格式:printf(“格式控制串”,輸出項表) 功能:按指定格式向顯示器輸出數(shù)據(jù) 返值:正常,返回輸出字節(jié)數(shù);出錯,返回EOF(-1),3. 4. 3 printf 函數(shù),輸出表項:要輸出的數(shù)據(jù)(可以沒有,多個時以“,”分隔) 格式控制串:包含兩種信息 格式說明: %修飾符格式字符 用于指定輸出格式 普通字符或轉(zhuǎn)義序列:原樣輸出 格式字符,說明 格式字符要用小寫(除O、X可用大寫外) 格式字符與輸出項個數(shù)應(yīng)相同,按先后順序一一對應(yīng),例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); 輸出結(jié)果: 3 4 a=3, b=4,例 main() unsigned int u=65535; printf(”u=%dn“,u); 輸出結(jié)果:u=-1,附加格式說明符(修飾符),返回,3. 4. 4 scanf函數(shù),格式: scanf(“格式控制串”,地址表) 功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的 存儲單元中,并按回車鍵結(jié)束 返值:正常,返回輸入數(shù)據(jù)個數(shù),地址表:變量的地址,常用取地址運(yùn)算符& 格式字符:d,i,o,x,u,c,s,f,e,例 scanf(“%d”, 輸入:10 則 a=10,例 scanf(“%x”, 輸入:11 則 a=17,附加格式說明符(修飾符),例 scanf(“%4d%2d%2d”, 輸入 19991015 則1999yy, 10 mm, 15 dd,例 scanf(“%3d%*4d%f”, 輸入 12345678765.43 則123k, 8765.43f,例 scanf(“%2d%*3d%2d”, 輸入 1234567 則12a, 67b,例 scanf(“%3c%2c”, 輸入 abcde 則ac1, d c2,輸入分隔符的指定 一般以空格、TAB或回車鍵作為分隔符 其它字符做分隔符時,輸入時需原樣輸入。 (上機(jī)調(diào)程時尤其注意),例 scanf(“%d%o%x”, 輸入 123 123 123 輸出 a=123,b=83,c=291,例 scanf(“%d:%d:%d”, 輸入 12:30:45 則12 h, 30 m, 45 s,例 scanf(“%d,%d”,&a,&b) 輸入 3,4 則3a, 4 b,例 scanf(“a=%d,b=%d,c=%d”, 輸入 a=12,b=24,c=36 ,說明: 用“%c”格式符時,空格和轉(zhuǎn)義字符作為有效字符輸入,如 scanf(“%c%c%c”, 若輸入abc 則ac1, c2, b c3,輸入數(shù)據(jù)時,遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束: 遇空格、TAB、或回車 遇寬度結(jié)束 遇非法輸入,如 scanf(“%d%c%f”, 若輸入1234a123o.26 則 1234 a, a b, 123 c,例 int x; char ch; scanf(“%d”, 執(zhí)行:123 輸出:x=123,ch=10,例 int x; char ch; scanf(“%d”, 執(zhí)行:123 輸出:x=123,ch=10,例 int x; char ch; scanf(“%d”,返回,35 運(yùn)算符與表達(dá)式,一、運(yùn)算符和表達(dá)式簡介 表達(dá)式由運(yùn)算符(例如:+ * )、運(yùn)算對象(也稱操作數(shù),可以是常量、變量等等)和括號組成。表達(dá)式運(yùn)算所得到的結(jié)果值便是表達(dá)式的值。,例如: a+b xy,C語言的運(yùn)算符豐富,幾乎大部分操作都由運(yùn)算符來完成。歸納起來,C的運(yùn)算符有以下幾類:,35 運(yùn)算符與表達(dá)式,運(yùn)算符種類:,二元運(yùn)算符(或雙目運(yùn)算符):運(yùn)算符需要兩個操作數(shù)使用形式為: 操作數(shù)1 運(yùn)算符 操作數(shù)2 一元運(yùn)算符(或單目運(yùn)算符):運(yùn)算符需要一個操作數(shù) 優(yōu)先級:決定表達(dá)式的運(yùn)算順序。 結(jié)合性:是指當(dāng)一個操作數(shù)左右兩邊的運(yùn)算符優(yōu)先 級相同時,按什么樣的順序進(jìn)行運(yùn)算。包含自左向 右,自右向左兩種順序。,35 運(yùn)算符與表達(dá)式,二、算術(shù)運(yùn)算符與算術(shù)表達(dá)式,基本算術(shù)運(yùn)算符和表達(dá)式 基本算術(shù)運(yùn)算符:+ - (正負(fù)) * / % + -(加減) 結(jié)合方向:從左向右 優(yōu)先級: + - -* / % - + (2) (3) (4) 說明: “-”可為單目運(yùn)算符時,右結(jié)合性 兩整數(shù)相除,結(jié)果為整數(shù);一側(cè)為實型結(jié)果為實型 %要求兩側(cè)均為整型數(shù)據(jù),35 運(yùn)算符與表達(dá)式,自增、自減運(yùn)算符 + - 作用:使變量值加1或減1 種類: 前置 +i, -i (先執(zhí)行i+1或i-1,再使用i值) 后置 i+,i- (先使用i值,再執(zhí)行i+1或i-1) 說明: + - - 不能用于常量和表達(dá)式,如5+,(a+b)+ + - - 結(jié)合方向: 自右向左 優(yōu)先級:- + - - -* / % -+ - (2) (3) (4),例 -i+ -(i+) i=3; printf(“%d”,-i+); /-3,例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b;,無論是作為前綴還是作為后綴運(yùn)算符,對于變量本身來說自增1或自減1都具有相同的效果,但作為表達(dá)式來說卻有著不同的值。,35 運(yùn)算符與表達(dá)式,復(fù)合賦值運(yùn)算符 種類:+= -= *= /= %= = = &= = |= 含義: 變量 op= 表達(dá)式 變量 = 變量 op 表達(dá)式,例 a=10 /*把常量10賦給變量a*/,賦值運(yùn)算符和表達(dá)式 簡單賦值運(yùn)算符 符號: = 格式: 變量名 =表達(dá)式 作用:將一個數(shù)據(jù)(常量或表達(dá)式)賦給一個變量,35 運(yùn)算符與表達(dá)式,賦值表達(dá)式的值與變量值相等,且可嵌套,說明: 結(jié)合方向:自右向左 左側(cè)必須是變量,不能是常量或表達(dá)式
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 義工財務(wù)管理制度
- 樂團(tuán)樂器管理制度
- 事故搶修管理制度
- 二手車行管理制度
- 井下煤庫管理制度
- 井口裝置管理制度
- 交付安全管理制度
- 2025年冷鏈物流溫控技術(shù)在冷鏈物流冷鏈物流物流管理中的應(yīng)用報告
- 2025年冷鏈物流溫控技術(shù)與冷鏈物流企業(yè)物流信息化建設(shè)與應(yīng)用研究報告
- 交通通訊管理制度
- 2023年貴州省糧食儲備集團(tuán)有限公司面向社會公開招聘工作人員15人筆試參考題庫附帶答案詳解
- 痘痘專業(yè)知識課件圖
- 超星爾雅學(xué)習(xí)通《國家安全教育(中國人民公安大學(xué))》2025章節(jié)測試附答案
- 艾梅乙防治知識培訓(xùn)課件
- 胸腔穿刺術(shù)護(hù)理查房
- 全過程咨詢項目管理
- 2024年廣東省廣州市白云山風(fēng)景名勝區(qū)管理局分支機(jī)構(gòu)第一次公開招聘考試真題及答案
- DB65T 8020-2024 房屋建筑與市政基礎(chǔ)設(shè)施工程施工現(xiàn)場從業(yè)人員配備標(biāo)準(zhǔn)
- 2024年江西省水利投資集團(tuán)有限公司招聘考試真題
- 2024年貴州省普通高校招生信息表(普通類本科批-物理組合)
- 2025年個人與企業(yè)投資合同模板
評論
0/150
提交評論