C語言程序設計第二章課件_第1頁
C語言程序設計第二章課件_第2頁
C語言程序設計第二章課件_第3頁
C語言程序設計第二章課件_第4頁
C語言程序設計第二章課件_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言程序設計,第2章項目中的數據類型與數據運算,1,PPT學習交流,C語言的基本數據類型常量和變量運算符和表達式數據類型轉換本章小結,2.2理論知識,2,PPT學習交流,C語言的基本數據類型基本類型指針類型構造類型空類型,整型int字符型char實型枚舉型,單精度浮點型float雙精度浮點型double,數組類型結構體類型共用體類型,2.2理論知識,3,PPT學習交流,2.2理論知識,C語言的基本數據類型整數類型,不同的整數類型表示的數值范圍不同,在編程時,應根據程序對整數范圍的實際需要,靈活選擇上述的整數類型。,inta,b,sum;a=32768;,4,PPT學習交流,2.2理論知識,C語言的基本數據類型實數類型,0.56544780.565447854656516516,5,PPT學習交流,2.2理論知識,C語言的基本數據類型字符類型,返回,6,PPT學習交流,2.2理論知識,常量和變量常量在程序執(zhí)行過程中,其值不能改變的量直接常量和符號常量直接常量指在程序中不需要任何說明就可直接使用的常量符號常量指需要先說明或定義后才能使用的常量,7,PPT學習交流,2.2理論知識,常量和變量直接常量整型常量實型常量字符常量字符串常量,8,PPT學習交流,2.2理論知識,常量和變量直接常量整型常量十進制整數如10八進制整數如010十六進制整數如0 x10,9,PPT學習交流,2.2理論知識,常量和變量直接常量實型常量十進制小數形式:數字和小數點組成如3.141,10,PPT學習交流,2.2理論知識,常量和變量直接常量實型常量指數形式:小數和指數兩部分組成如123.45可以表示為0.12345e+31.2345E+212345.0e-2規(guī)范化的指數形式,在字符e(或E)之前的小數部分中,小數點左邊應有一位(且只能有一位)非零的數字在使用指數形式時,一定要注意在字母e或E之前必須要有數字,且字母e或E之后的指數必須為整數,如e6,.e5,-2.4E0.5,5.2e(3+6),(規(guī)范化的指數形式),11,PPT學習交流,2.2理論知識,常量和變量直接常量字符常量字符常量是用一對單引號括起來的單個字符如A、5、+,單引號只是分界符,表示字符常量的起止范圍,inta,b,c;a=97;b=a;/數據類型的自動轉換c=1.2547;/1.2547=1;c=1intm,n;M=;,12,PPT學習交流,2.2理論知識,常量和變量直接常量字符常量轉義字符:以反斜杠“”開頭的字符,13,PPT學習交流,2.2理論知識,常量和變量直接常量字符常量將一個字符常量存放到內存中,并不是把該字符本身存放到內存單元中,而是將該字符相應的ASCII碼存放到該存儲單元中。,如字符a,在內存中的實際存儲形式為,14,PPT學習交流,2.2理論知識,常量和變量直接常量字符常量字符型數據和整型數據之間可以相互轉換。一個字符數據既可以字符形式輸出,也可以整數形式輸出。,15,PPT學習交流,舉例:#includevoidmain()charc1,c2;Scanf(“%d,%d”,2.2理論知識,字符型輸出格式符,整型輸出格式符,Scanf(),16,PPT學習交流,運行結果:,2.2理論知識,17,PPT學習交流,舉例:#includevoidmain()charc1=97,c2=98;printf(“%c%cn”,c1,c2);printf(“%d%dn”,c1,c2);,charc1=a,c2=b;,2.2理論知識,c1和c2還可以怎樣進行初始化化?,18,PPT學習交流,2.2理論知識,常量和變量直接常量字符常量可以將整型量賦值給字符變量可以將字符量賦值給整型變量可以對字符數據進行算術運算,19,PPT學習交流,舉例:#includevoidmain()charc1=a,c2=b;unsignedcharc=c1+c2;printf(“c=%dn”,c);,2.2理論知識,unsignedcharc=c1+c2;,20,PPT學習交流,運行結果:,2.2理論知識,21,PPT學習交流,2.2理論知識,常量和變量直接常量字符串常量字符串常量是用一對雙引號括起來的零個或多個字符如,Hello,world!,123等,雙引號僅起定界作用,本身并不是字符串中的內容,22,PPT學習交流,2.2理論知識,常量和變量直接常量字符串常量字符串的長度指一個字符串中所包含的字符個數C語言規(guī)定在存儲字符串常量時,由系統(tǒng)在字符串的末尾自動加一個0作為結束標志,0在內存中占一個字節(jié),它不引起任何控制動作,也不可顯示,只用于系統(tǒng)判斷字符串是否結束。,長度為n的字符串常量,在內存中占用nl個字節(jié)。,23,PPT學習交流,2.2理論知識,常量和變量直接常量字符串常量字符串中若有轉義字符,則應把它視為一個整體,當作一個字符來計算,字符串“Hello,world!n”的在內存中占據的字節(jié)數為,14,24,PPT學習交流,2.2理論知識,字符常量與字符串常量的主要區(qū)別1.定界符不同字符常量使用,而字符串常量使用“”2.占用內存大小不同字符常量占一個字節(jié),而字符串常量除了要存儲有效的字符外,還要存儲一個結束標志03.長度不同字符常量只能是單個字符,字符串常量則可以包含零個或多個字符,25,PPT學習交流,2.2理論知識,字符常量與字符串常量的主要區(qū)別,charc1=“a”;,=a;,不符合語法規(guī)則,為什么呢?,字符型變量(char)只占一個字節(jié),97,0,a,0,字符串常量“a”在計算機內占兩個字節(jié),C語言沒有專門的字符串變量,如果想將一個字符串存放在變量中,可以使用字符數組。,26,PPT學習交流,2.2理論知識,常量和變量符號常量用符號表示的常量在使用之前必須先定義define標識符常量不是C語句,不必在行末加分號放在程序開頭,函數體之外“標識符”是以字母或下劃線開頭“標識符”是由字母、數字和下劃線組成的字符序列,;,27,PPT學習交流,例2.1:符號常量的使用,2.2理論知識,#definePI3.1415/定義符號常量PI,表示圓周率main()floatr,area;r=5.0;area=PI*r*r;printf(area=%fn,area);,area=78.539815,運行結果:,PI,28,PPT學習交流,2.2理論知識,符號常量的兩個好處1.修改程序方便2.見名知意,便于理解程序,符號常量的使用1.其值在它的作用域內不能改變,也不能再被賦值2.符號常量名用大寫,變量名用小寫,以示區(qū)別,29,PPT學習交流,2.2理論知識,舉例:#definePI3.1415voidmain()voidmain()intPI;PI=3.1415;PI=3.1415;PI=3.14159;,30,PPT學習交流,2.2理論知識,常量和變量變量在程序執(zhí)行過程中,其值可以被改變的量保存程序執(zhí)行過程中的輸入數據、中間結果以及最終結果在使用變量之前,必須先對其進行定義三個基本要素,即變量類型、變量名和變量的值,如:intchoose=1;charyes_no=y;,31,PPT學習交流,2.2理論知識,常量和變量變量的定義“類型說明符”用來指定變量的數據類型當有多個變量時,彼此間要用逗號分隔,類型說明符變量1,變量2,變量n;,32,PPT學習交流,2.2理論知識,注意:1.變量定義不是可執(zhí)行語句,必須出現在可執(zhí)行語句之前2.同一變量只能定義一次,不能重復3.變量名不能是C語言的關鍵字,要見名知意,并盡可能簡短4.變量的類型應根據變量的取值范圍來選擇,以占用內存少、操作簡便為優(yōu)5.C語言沒有提供字符串類型,字符串是用字符數組或指針來處理的,33,PPT學習交流,舉例:分期付款的計算貸款D元,每月還款P元,月利率R,問:多少個月M能還清?計算M的公式為:若D=324500元,P=3245元,R=0.8%,編程求M。,2.2理論知識,logP-log(P-DR),log(1+R),M=,34,PPT學習交流,思路:1.D和P都是整數,R是小數,M根據公式計算出來也不一定是整數,因此將R,M定義為實型變量2.M的計算公式中,2.2理論知識,log(1+R),#include,C的庫函數,35,PPT學習交流,#include#includevoidmain()intd=324500,p=3245;floatr=0.008,m;m=(log(p)-log(p-d*r)/log(1+r);printf(“month=%fn”,m);printf(“total=%fn”,m*p);,2.2理論知識,36,PPT學習交流,2.2理論知識,常量和變量變量的賦值在定義變量時賦值“先定義后賦值,floatdata1=1.5,data2=2.6;,floatdata1,data2;/變量定義部分data1=1.5;data2=2.6;/變量賦初值,返回,37,PPT學習交流,運算符和表達式描述各種不同運算的符號稱為運算符運算符分類一元(單目)運算符、二元(雙目)運算符、三元(三目)運算符賦值運算符條件運算符邏輯運算符算術運算符關系運算符,2.2理論知識,!,b=a+;c=+a;,a=6;+a;b=+a;c=a;,a+;a=a+1;b-;b=b-1;,38,PPT學習交流,運算符和表達式運算符優(yōu)先級當一個表達式中出現多個不同的運算符時運算的先后順序單目運算符雙目運算符!+,-算術運算符關系運算符邏輯運算符條件運算符賦值運算符逗號運算符,2.2理論知識,39,PPT學習交流,#includemain()Inta=7,b;b=a!=7;printf(“b=%dn”,b);結果:,a=3;b=4,c;c=a!=b;c=+a!=b;c=a-=b;,40,PPT學習交流,運算符和表達式運算符結合性當一個表達式中出現兩個以上優(yōu)先級相同的運算符時,運算的方向是從左到右還是從右到左賦值運算符和條件運算符是從右往左結合除此之外的雙目運算符都是從左往右結合的,2.2理論知識,a=5,b=2,c=9,d=10,f=6,e=-f=7,g=0;X=ab?c:(da)c=a/b;運行結果c=?,1,如:inta=-5,b=3,c;c=a/b;運行結果c=?,-1,43,PPT學習交流,運算符和表達式算術運算符及其表達式雙目運算符求余運算,兩側均應為整型數據,余數的符號與被求余數符號相同,2.2理論知識,如:inta=5,b=3,c;c=a%b;運行結果c=?,2,如:inta=-5,b=3,c;c=a%b;運行結果c=?,-2,注意:C語言中的算術表達式b2-4ac需寫成b*b-4*a*c的形式。,8.5%2.58%2=0,44,PPT學習交流,舉例:雞兔同籠設雞與兔同籠,已知雞與兔的總頭數為h=16,總腳數f=40,試編寫C語言程序分別求出雞的頭數x與兔的頭數y。,2.2理論知識,45,PPT學習交流,2.2理論知識,思路:1.x,y,h,f都是整數2.由數學知識可知:x+y=h2x+4y=f3.由代數知識可得y=(f-2h)/2x=h-f,46,PPT學習交流,#includevoidmain()inth,f,x,y;h=16;f=40;y=(f-2*h)/2;x=h-y;printf(“%d%dn”,x,y);,2.2理論知識,程序清單:,y=(f-2*h)/2;,47,PPT學習交流,運算符和表達式算術運算符及其表達式單目運算符自增運算使單個變量的值增1自減運算使單個變量的值減1,2.2理論知識,自增“+”、自減“-”,inti=3,a;a=+i;運行結果:i=4;,inti=3,a;a=i-;運行結果:i=2;,48,PPT學習交流,運算符和表達式算術運算符及其表達式單目運算符前置運算,運算符放在變量之前先增減,后運算,2.2理論知識,j=+i;i=i+1;j=i;,49,PPT學習交流,運算符和表達式算術運算符及其表達式單目運算符前置運算,運算符放在變量之前先增減,后運算,2.2理論知識,inti=3,j;j=+i;運行結果:i=j=?;,inti=3,j;j=-i;運行結果:i=j=?;,4,2,50,PPT學習交流,運算符和表達式算術運算符及其表達式單目運算符后置運算,運算符放在變量之后先運算,后增減,2.2理論知識,j=i+;j=i;i=i+1;,51,PPT學習交流,運算符和表達式算術運算符及其表達式單目運算符后置運算,運算符放在變量之后先運算,后增減,2.2理論知識,inti=3,j;j=i+;運行結果:i=4;j=3;,inti=3,j;j=i-;運行結果:i=2;j=3;,52,PPT學習交流,運算符和表達式算術運算符及其表達式單目運算符自增、自減運算常用于循環(huán)語句以及指針變量中。它使循環(huán)控制變量加(或減)1,或使指針指向下(或上)一個地址。自增、自減運算符不能用于常量和表達式。,2.2理論知識,如,5+,-(a+b),a+a=a+15+5=5+1,53,PPT學習交流,運算符和表達式賦值運算符及其表達式簡單運算符復合運算符,2.2理論知識,=,+=,-=,*=,/=,%=,54,PPT學習交流,運算符和表達式賦值運算符及其表達式賦值運算符的優(yōu)先級比算術運算符、關系運算符和邏輯運算符低結合性為自右向左先求表達式的值,然后將表達式的值賦給變量,2.2理論知識,如:inta=5;a+=5;運行結果a=?,10,如:inta=5;a*=5;運行結果a=?,25,a=a+5;,55,PPT學習交流,運算符和表達式關系運算符及其表達式用于比較兩個操作數之間的關系,若關系成立,則返回一個邏輯真值“1”,否則返回一個邏輯假值“0”,2.2理論知識,“”,“=”,“b;運行結果c=?,1,如:inta=2,b=3,c;c=ab;運行結果c=?,0,56,PPT學習交流,運算符和表達式關系運算符及其表達式前四種運算符的優(yōu)先級相同,后兩種運算符的優(yōu)先級相同前四種運算符的優(yōu)先級高于后兩種關系運算符的優(yōu)先級比算術運算符低,2.2理論知識,“”,“=”,“a+b等價于c(a+b);,a=6,b=9,c=2;x=a=(b-)=c,57,PPT學習交流,運算符和表達式關系運算符及其表達式關系運算符的優(yōu)先級比賦值運算符高,2.2理論知識,c=ab等價于c=(ab);,58,PPT學習交流,運算符和表達式關系運算符及其表達式,2.2理論知識,#includevoidmain()intx=2,y=3,i,j,k;i=x=y-;j=x=y;k=1;printf(i=%d,j=%d,k=%dn,i,j,k);,運行結果:i=0,j=1,k=1,59,PPT學習交流,注意:1.等于運算符“=”由兩個等號組成,中間不能有空格2.在實際編程時,常用表達式i%2=0判斷整數i的奇偶性,2.2理論知識,#includevoidmain()intx=2;if(x%2=0)printf(%d是偶數n,x);elseprintf(%d是奇數n,x);,=,60,PPT學習交流,運算符和表達式邏輯運算符及其表達式返回邏輯真值(1)或邏輯假值(0)!:當操作數的值為真時,運算結果為假;當操作數的值為假時,運算結果為真,2.2理論知識,非“!”、與“c=!a;運行結果c=?,0,如:inta=0,c;c=!a;運行結果c=?,1,61,PPT學習交流,運算符和表達式邏輯運算符及其表達式用邏輯運算符將一個或多個表達式連接起來的式子c=a運行結果c=?,1,如:inta=0,b=5,c;c=a運行結果c=?,0,62,PPT學習交流,運算符和表達式邏輯運算符及其表達式用邏輯運算符將一個或多個表達式連接起來的式子|:當且僅當兩個操作數的值都為假時,運算結果為假,否則為真,2.2理論知識,非“!”、與“c=a|b;運行結果c=?,0,如:inta=0,b=5,c;c=a|b;運行結果c=?,1,63,PPT學習交流,注意:1.邏輯運算符兩側的操作數,除可以是0和非0的整數外,也可以是其他任何類型的數據,如實型、字符型等,但這些值都要根據規(guī)則看成是邏輯值,2.2理論知識,cx=(m=ab),運行結果:m=0,n=6,x=0,65,PPT學習交流,注意:3.對于邏輯“或”運算,如果第一操作數被判定為真,系統(tǒng)不再判定或求解第二操作數,2.2理論知識,#includevoidmain()inta=1,b=2,c=3,d=4,m=5,n=6,x=7;x=(m=ad);printf(m=%d,n=%d,x=%dn,m,n,x);,運行結果:m=1,n=6,x=1,66,PPT學習交流,注意:4.a大于b且b大于c表達式,2.2理論知識,abc,(ab)x=!a|ab=b|c,等價于x=(!a)|(ab)=b)|c,68,PPT學習交流,運算符和表達式條件運算符及其表達式三目運算符表達式格式如果表達式1的值為非0(即邏輯真),則運算結果等于表達式2的值;否則,運算結果等于表達式3的值,2.2理論知識,“?:”,表達式1?表達式2:表達式3,69,PPT學習交流,運算符和表達式條件運算符及其表達式,2.2理論知識,#includevoidmain()inta=88,b=456,c=147,min;min=(ab)?a:b;printf(min=%dn,min);,運行結果:min=88,70,PPT學習交流,運算符和表達式逗號運算符及其表達式表達式格式自左至右依次計算各表達式的值,“表達式n”的值即為整個逗號表達式的值,2.2理論知識,“,”,表達式1,表達式2,表達式n,V=(a=3,b=4,c=5,a*b*c)60,并不是任何地方出現的逗號,都是逗號運算符,很多情況下,逗號僅作分隔符,inta=3,b=5,c=7;,71,PPT學習交流,運算符和表達式sizeof運算符及其表達式表達式格式返回變量、常量的類型在內存中占用的字節(jié)數,2.2理論知識,sizeof(類型名或表達式),72,PPT學習交流,運算符和表達式sizeof運算符及其表達式,2.2理論知識,#includevoidmain()inta,b,c;a=sizeof(int);b=sizeof(float);c=sizeof(“Hellot);printf(a=%d,b=%d,c=%dn,a,b,c);,運行結果:a=4,b=4,c=7,返回,73,PPT學習交流,數據類型轉換自動類型轉換,2.2理論知識,74,PPT學習交流,數據類型轉換自動類型轉換字節(jié)少的數據轉換成字節(jié)多的賦值號右邊的類型轉換為左邊的類型,不會四舍五入,2.2理論知識,inta;floatb=1.45a=b;,75,PPT學習交流,數據類型轉換強制類型轉

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論