版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第一節(jié) 標(biāo)識(shí)符掌握一、定義:在C語言中,有許多符號(hào)名都必須準(zhǔn)守一定的規(guī)則,按此規(guī)則命名的符號(hào)叫做標(biāo)識(shí)符。命名規(guī)則:由字母,數(shù)字,下劃線組成,且以字母或下劃線開頭。Eg: 123(不是),a-123(不是),a_123(是的),_(是的)注意:C語言區(qū)分大小寫二、分類1、關(guān)鍵字:系統(tǒng)預(yù)先定義不能做其他使用 掌握:關(guān)鍵字的含義。 Eg:int, float, doueble, char, if else, for, do2、預(yù)定義標(biāo)識(shí)符:系統(tǒng)預(yù)先定義可做他用,但最好別用。 掌握:預(yù)定義的含義 Eg:printf, scanf, puts, gets, put char, getchar3、自定義標(biāo)
2、識(shí)符:用戶自己定義,必須要遵循規(guī)則。(一般是由字母組成)第二節(jié) 常量一、定義:常量就是在程序中不變的量。(具體值)了解二、分符號(hào)常量和直接常量。掌握三、符號(hào)常量:用標(biāo)識(shí)符代表一個(gè)常量。注意:符號(hào)常量在使用前必須先定義。一般形式為:#define 標(biāo)識(shí)符 常量掌握提示:符號(hào)常量一般用大寫(與變量區(qū)分)Eg:符號(hào)常量的使用: #difine PRICE 30 main() int num total; num=10; total=num*PRICE; printf("total=%d",total);四、直接常量:掌握(一)分類:整型,實(shí)型,字符型,字符串型。 每一種形式的樣式
3、,組成,注意事項(xiàng)(二)具體介紹: 1、整型常量整數(shù) 整型常量就是整常數(shù)。在C語言中,使用的整常數(shù)有八進(jìn)制、十六進(jìn)制和十進(jìn)制三種。 1)十進(jìn)制整常數(shù):十進(jìn)制整常數(shù)沒有前綴。其碼數(shù)為:0-9(和正負(fù)號(hào)) 稱為十進(jìn)制的原因:逢十進(jìn)一 沒有前綴 Eg:123 2)八進(jìn)制整常數(shù):八進(jìn)制整常數(shù)必須以0開頭,即以0作為八進(jìn)制的前綴。取碼取值為0 -7 Eg:0123 3)十六進(jìn)制整常數(shù):十六進(jìn)制整常數(shù)的前綴為0X或0x,其數(shù)碼取值為0-9,A-F或a-f. 10在十六進(jìn)制中表示a,11為b,12為c,13為d,14為e,15為f. 補(bǔ)充:進(jìn)制之間的轉(zhuǎn)化 二進(jìn)制:0和1組成 A.十進(jìn)制->二進(jìn)制 除二取
4、余倒排。 Eg: 2|_10_ 2|_5_-0 /| =>10由十進(jìn)制變?yōu)槎M(jìn)制為1010 2|_2_-1 | 2|_1_-0 | 0 -1 B.十進(jìn)制->N進(jìn)制 除N取余倒排 Eg: 16|_196_ 16|_12_-4 /| =>196由十進(jìn)制變?yōu)槭M(jìn)制為0xc4 0 -12 | C.二進(jìn)制->十進(jìn)制 自右至左,次冪從零依次遞增,結(jié)果相加。 Eg: 1010轉(zhuǎn)化為十進(jìn)制 1010 <- 0*20+1*21+0*22+1*23=10 D.N進(jìn)制變?yōu)槭M(jìn)制 自右至左,次冪從零依次遞增,結(jié)果相加 Eg: 0X2B <- 11*160+2*16*1=43 E.
5、M進(jìn)制變?yōu)镹進(jìn)制 M->十進(jìn)制,十進(jìn)制->N進(jìn)制 2、實(shí)型常量:小數(shù) 實(shí)型也成為浮點(diǎn)型,實(shí)型常量也稱為實(shí)數(shù)或浮點(diǎn)數(shù) 形式:十進(jìn)制小數(shù)形式,指數(shù)形式。 1)十進(jìn)制數(shù)形式:由數(shù)碼0-9和小數(shù)點(diǎn),正負(fù)號(hào)組成。 注意:必須有小數(shù)點(diǎn)。 Eg: 1.23 -123.456 123.(相當(dāng)于123.0) .123(相當(dāng)于0.123) .(相當(dāng)于0.0) 都 是合法的 2)指數(shù)形式(科學(xué)計(jì)數(shù)法形式):由十進(jìn)制數(shù)加階碼標(biāo)志“e”或“E”以及階碼(只能 為整數(shù),可以帶符號(hào)) 注意:e的前后必須有數(shù)字,并且e后面為整數(shù) Eg:1.23*105=1.23E5 1.23*10-7=1.23E-7 E為階碼標(biāo)
6、志,5和-7為階碼3、字符常量:用單引號(hào)括起來的一個(gè)字符。 兩種形式:普通字符常量 和 轉(zhuǎn)義字符 組成:字母,符號(hào)和數(shù)字 注意: 1)字符常量只能用單引號(hào)括起來,不能用雙引號(hào)或或其他括號(hào) 2)字符常量只能是單個(gè)字符,不能是字符串 3)字符串可以是字符集中任意字符,但數(shù)字被定義為字符型之后就不能參與數(shù)值運(yùn)算。如'5'和5是不同的,5是字符常量,不能參與運(yùn)算。說明:計(jì)算機(jī)處理數(shù)據(jù)時(shí),首先把對(duì)應(yīng)的數(shù)據(jù)轉(zhuǎn)換成ASCII碼值,然后把ASCAII碼值轉(zhuǎn)換成二進(jìn)制數(shù)來處理。常見的ASCAII碼值:大寫字母:A 65 B 66.Z 90小寫字母:a 97 b 98.z122 數(shù)字字符:0 48
7、 1 49.9 57整數(shù)ASCII碼值是他本身補(bǔ)充:轉(zhuǎn)義字符控制組成:,字母,數(shù)字,符號(hào)轉(zhuǎn)義字符是一種特殊的字符常量。轉(zhuǎn)義字符以反斜線”“開頭,后跟一個(gè)或幾個(gè)字 符。轉(zhuǎn)義字符主要用來表示那些用一般字符不便表示的控制代碼。常用的轉(zhuǎn)義字符及其含義轉(zhuǎn)義字符轉(zhuǎn)義字符的意義ASCII碼n回車換行Printf(“hellon“,n)10t橫向跳到下一制表位置(每個(gè)制表位8個(gè)二進(jìn)制位)9b退格8r回車13f走紙換頁12反斜線符“”92'單引號(hào)符39"雙引號(hào)符34a鳴鈴7ddd1到3位八進(jìn)制數(shù)所代表的字符xhh1到2位十六進(jìn)制數(shù)所代表的字符注意:ddd和hh分別為八進(jìn)制和十六進(jìn)制的ASCII
8、代碼,如101表示字母“A”,102表示字母“B”,134表示反斜線,XOA表示換行等。4、 字符串常量:由一對(duì)雙引號(hào)擴(kuò)起的字符序列。組成:字母,符號(hào),數(shù)字字符串常量和字符常量是不同的量,他們之間主要有以下區(qū)別:1) 字符常量由單引號(hào)擴(kuò)起,字符串常量由雙引號(hào)括起來。2) 字符常量只能是單個(gè)字符,字符串常量則可以含一個(gè)或多個(gè)字符3) 可以把一個(gè)字符常量賦予一個(gè)字符變量,但不能把一個(gè)字符串常量賦予一個(gè)字符變量注意:在C語言中沒有相應(yīng)的字符串變量。字符串常量占的內(nèi)存字節(jié)數(shù)等于等于字符串中字節(jié)數(shù)加一。增加一個(gè)字節(jié)中存放字符”0”(ASCII值為0),這是字符串結(jié)束的標(biāo)志。例如:字符常量”a”和字符串常
9、量”a”雖然都只有一個(gè)字符,但在內(nèi)存中的情況是不同的。字符串常量多了一個(gè)”0”第3節(jié) 變量=房間(房間不會(huì)變,房間里面的人會(huì)變。之所以變化,是因?yàn)榇鎯?chǔ)的常量在變化)1、 定義:變量就是儲(chǔ)存常量的量掌握:分類,類型說明符,占用的字節(jié)數(shù)2、 分類:整型變量 實(shí)型變量 字符變量3、 具體介紹:(1) 整型變量1、分類1)基本型:類型說明符為int,在內(nèi)存中占4個(gè)字節(jié)。2)短整型:類型說明符為short int或short。在內(nèi)存中占兩個(gè)字節(jié)。3)長整形:類型說明符為long int 或long,在內(nèi)存中占4個(gè)字節(jié)。以上三個(gè)類型可以存放所有所有整數(shù)(正整數(shù),負(fù)整數(shù),0)4) 無符號(hào)型:類型說明符為un
10、signed。無負(fù)數(shù)。分為三類默認(rèn)為無符號(hào)基本整形(目的是來存放更大的數(shù))注意:其中基本型,短整型,長整形也稱為有符型。2、有符號(hào)型,無符號(hào)型的不同Eg:短整型:2個(gè)字節(jié) 16個(gè)二進(jìn)制位無符號(hào)短整型:2個(gè)字節(jié) 16個(gè)二進(jìn)制位有符號(hào):符號(hào)位111111111111111MAX=32767無符號(hào):-32768327671111111111111111MAX=65535范圍:0655353、 整型變量的定義的一般形式為:類型說明符 變量名標(biāo)識(shí)符,變量名標(biāo)識(shí)符.;變量名標(biāo)識(shí)符:用戶起名,符合命名規(guī)則。Eg: int a,b; Short c,d; Unsigned e,f;在書寫變量定義時(shí),應(yīng)注意以下
11、幾點(diǎn):允許在一個(gè)類型說明符后,定義多個(gè)相同類型的變量,各變量之間用逗號(hào)間隔。類型說明符和變量名之間至少用一個(gè)空格間隔。最后一個(gè)變量名之后必須以“;”號(hào)結(jié)尾。變量定義必須放在變量使用之前。一般放在函數(shù)體開頭部分。(2) 、實(shí)型變量1、 分類單精度(float型) 4個(gè)字節(jié)雙精度(double型) 8個(gè)字節(jié)長雙精度型(long double型)16個(gè)字節(jié)2、 實(shí)型變量的定義的一般形式為類型說明符 變量名標(biāo)識(shí)符1,變量名標(biāo)識(shí)符2.;(3) 、字符變量類型:字符型 char 1個(gè)字節(jié)1、 字符變量的定義的一般形式為類型說明符 變量名標(biāo)識(shí)符1,變量名標(biāo)識(shí)符2.;Eg: cher c;注意:當(dāng)把字符放入字
12、符變量中時(shí),字符變量中的值就是該字符的ASCII值,所以字符變量可以作為整型變量來處理,可以參與整形變量的任何運(yùn)算。Eg: char c=a Int a=10; c+a=97+10=107第4節(jié) 數(shù)據(jù)類型的轉(zhuǎn)換1、 數(shù)據(jù)類型的轉(zhuǎn)換的意義:讓不同類型的數(shù)據(jù)相互運(yùn)算成為可能。2、 自動(dòng)轉(zhuǎn)換:掌握自動(dòng)轉(zhuǎn)換發(fā)生在不同數(shù)據(jù)類型的量混合運(yùn)算時(shí),由編譯系統(tǒng)自動(dòng)完成水平方向強(qiáng)制轉(zhuǎn)換,垂直方向按最高精度轉(zhuǎn)換。(垂直方向的意思是:如果有一個(gè)int和一個(gè)unsigned運(yùn)算,那么int會(huì)轉(zhuǎn)換為unsigned)Eg:1/2=0(int和int運(yùn)算只能為int,小數(shù)取整)1.0/2=0.5(int和double運(yùn)算結(jié)
13、果是unsigned)結(jié)論:運(yùn)算中有小數(shù)點(diǎn),結(jié)果肯定有小數(shù)點(diǎn),沒有小數(shù)點(diǎn)則結(jié)果肯定沒有小 數(shù)點(diǎn)3、 強(qiáng)制轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換是通過類型轉(zhuǎn)換運(yùn)算來實(shí)現(xiàn)的。格式(類型說明符)(表達(dá)式)其功能是把表達(dá)式的運(yùn)算結(jié)果強(qiáng)制轉(zhuǎn)換成類型說明符所表示的類型Eg:(double)(1/2)=0.0(得出結(jié)果之后再用double) Double1/2=0.5(先對(duì)一進(jìn)行double然后再除2) (int)(1.0/2)=0在使用強(qiáng)制轉(zhuǎn)換時(shí)應(yīng)注意一下問題:1、 類型說明符和表達(dá)式都必須加括號(hào)(單個(gè)變量可以不加括號(hào)),如把int(x+y)寫成intx+y則成了把x轉(zhuǎn)換成int型之后在與y相加。2、 無論是強(qiáng)制轉(zhuǎn)換或是自動(dòng)
14、轉(zhuǎn)換,都只是為了本次運(yùn)算的需要而對(duì)數(shù)據(jù)據(jù)長度進(jìn)行的臨時(shí)性轉(zhuǎn)換,而不改變數(shù)據(jù)說明時(shí)對(duì)該變量定義的類型。第5節(jié) 表達(dá)式1、 表達(dá)式的定義由常量、變量和運(yùn)算符組成的二、表達(dá)式的分類:掌握點(diǎn):運(yùn)算符的功能、運(yùn)算符的優(yōu)先級(jí)、表達(dá)式間的優(yōu)先級(jí)(1) 算數(shù)表達(dá)式(四)關(guān)系表達(dá)式(2) 賦值表達(dá)式(五)邏輯表達(dá)式(3) 逗號(hào)表達(dá)式(六)條件表達(dá)式3、 具體介紹:(一)、算數(shù)表達(dá)式數(shù)學(xué)1、 運(yùn)算符:() +(取正)、-(取負(fù))優(yōu)先級(jí)依次遞減 *、/、%(取余) +、-Eg: 15%-4=-1 過程:15除以-4上-4余-1,不上-3的原因是C語言規(guī)定異號(hào)取余時(shí),余數(shù)符號(hào)要 和 除數(shù)的符號(hào)相同,如果不相同,結(jié)果就
15、為余數(shù)加除數(shù)。2、 優(yōu)先級(jí):依次遞減(相同優(yōu)先級(jí)的運(yùn)算符按照從左向右的順序運(yùn)算左結(jié)合性)3、 注意:A、 取余要求必須為整數(shù)B、運(yùn)算結(jié)果為最高精度,系統(tǒng)會(huì)自動(dòng)轉(zhuǎn)換。(2) 賦值表達(dá)式1、 運(yùn)算符:=2、 賦值表達(dá)式格式:變量=常量(變量) Eg:int a,b; a=3;/*把3賦值給變量a*/ b=a: /*把a(bǔ)的值賦給b*/ Char c; c=a: /*把字符常量a賦給c*/3、 注意:A、賦值表達(dá)式左邊必須為變量 B、賦值表達(dá)式中類型轉(zhuǎn)換Eg: int a=3.14:(a的值為3) Double b=4(b的值為4.0) C、賦值表達(dá)式的值為最后的賦值結(jié)果。(3) 、逗號(hào)表達(dá)式1、 運(yùn)
16、算符:,2、 格式:表達(dá)式1,表達(dá)式2,表達(dá)式3,.3、 運(yùn)算過程:先計(jì)算1,再計(jì)算2,一直計(jì)算到最后表達(dá)式的值即為逗號(hào)表達(dá)式的值。Eg:a=3,b=4,c=a+b;=>表達(dá)式值為7a=5,b=6,c=b*3;=>表達(dá)式值為18表達(dá)式的補(bǔ)充補(bǔ)充一:復(fù)合賦值表達(dá)式:1、 運(yùn)算符:+=、-=、*=、/=、%=掌握轉(zhuǎn)換方法Eg:a+=3=>a=a+3b*=5=>b=b*5補(bǔ)充二:自加自減賦值表達(dá)式:1、 運(yùn)算符:+(自加運(yùn)算符);-(自減運(yùn)算符)掌握點(diǎn):區(qū)分變量的值和表達(dá)式的值Eg:int i=3;變量的值(遇到+就加一,遇到-就減一)1) i+|+ii的值加1變?yōu)?2) i
17、-|-ii的值減1變?yōu)?表達(dá)式的值:(符號(hào)在后是原值,符號(hào)在前,+加1,-減1)1) i+|i-表達(dá)式的值為原i的值2) +i表達(dá)式的值為原i+1的值3) -i表達(dá)式的值為原i-1的值提示:求變量的值要明確原變量的值和表達(dá)式 求表達(dá)式的值要明確原變量的值Eg1:int x=5,y=8;y,x跟隨式子變化1) x+表達(dá)式的值為5;x的值為62) y-表達(dá)式的值為8;y的值為73) -y表達(dá)式的值為6;y的值為64) +y表達(dá)式的值為7;y的值為75) y表達(dá)式的值為76) -x表達(dá)式的值為5;x的值為5Eg2:int A=6,B=12;1) A+ +(-B)表達(dá)式的值:6+11=17 A=7;B
18、=112) -A+(B+)表達(dá)式的值:6+11=17A=6;B=103) +A-(B+)表達(dá)式的值:7-10=-3A=7;B=11第3章 :順序結(jié)構(gòu)程序設(shè)計(jì)第1節(jié) :C語言語句概述1、 引入:語句是C程序的基本組成部分:作文造句組詞識(shí)字拼音程序語句表達(dá)式常量,變量2、 C語句的分類:(1) 、表達(dá)式語句:由表達(dá)式加上分號(hào)“;”組成。重點(diǎn)講解:賦值語句定義:賦值語句是由賦值表達(dá)式在加上分號(hào)構(gòu)成的表達(dá)式語句。其一般形式為:變量=表達(dá)式;Eg;i=3(表達(dá)式)I=3;(語句)語句沒有值,但可以作為程序的一部分在賦值語句打使用中需要注意以下幾點(diǎn):1、 由于在賦值符“=”右邊的表達(dá)式可以又是一個(gè)賦值表達(dá)
19、式,如變量=(變量=表達(dá)式); 是正確的。Eg:x=(y=5)=>x=52、 在變量說明中,不允許連續(xù)給多個(gè)變量賦初值。如下述說明是錯(cuò)誤的:Int a=b=c=5;正確寫法:int a=5,b=5,c=5;錯(cuò)誤原因:int a=b=c=5;(b和c沒有定義,即為開辟“房間”)(2) 、控制語句:控制語句的流程,以實(shí)現(xiàn)程序的各種結(jié)構(gòu)方式。它們由特定的語句定義符組成??梢苑殖梢韵氯悾?) 條件判斷語句:if語句,switch語句;2) 循環(huán)執(zhí)行語句:do while 語句、while語句、for語句;3) 轉(zhuǎn)向語句:break語句、goto語句、continue語句、return語句。(3
20、) 、復(fù)合語句:把多個(gè)語句用括號(hào)括起來組成的語句稱為復(fù)合語句。Eg:t=x;x=y;y=t;x=3,y=5;重復(fù)對(duì)一個(gè)數(shù)賦值的時(shí)候,以最后的那個(gè)數(shù)值為準(zhǔn)則y=3注:復(fù)合語句內(nèi)的各條語句都必須以“:”結(jié)尾,在括號(hào)“”外不能加分號(hào)。(4) 空語句:只有分號(hào)“;”組成的語句稱為空語句。空語句是什么也不執(zhí)行的第2節(jié) :格式輸出和輸入函數(shù)一、格式輸出函數(shù)printf()功能:是按用戶指定的格式,把指定的數(shù)據(jù)顯示到顯示器屏幕上。普通格式:printf(“廢話”)原樣輸出廢話這種格式一般用作提示語Eg:#include”studio.h”main()Printf(“123456n”)常規(guī)格式:printf(
21、“格式控制字符串”,輸出表列)格式控制:指定輸出數(shù)據(jù)的類型格式:%+字母輸出列表:指定輸出的內(nèi)容格式:常量,變量,表達(dá)式之間用逗號(hào)間隔溫馨提示:把指定的內(nèi)容按照指定的類型輸出,一般情況下,內(nèi)容和類型是一一對(duì)應(yīng)的。格式:printf(“格式控制字符串”,輸出表列)Int a=30;Printf(“%d %o%x”,a,a,a);格式字符意義%d以十進(jìn)制形式(正數(shù)不輸出符號(hào))%o以八進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴0)%x,X以十六進(jìn)制輸出無符號(hào)整數(shù)(不輸出前綴0x)%u以十進(jìn)制輸出無符號(hào)整數(shù)%f(單精度),%lf(雙精度)以小數(shù)形式輸出單、雙精度實(shí)數(shù)說明:系統(tǒng)自動(dòng)保留六位小數(shù),超過六位,對(duì)第七
22、位四舍五入%e,%E以指數(shù)形式輸出單、雙精度實(shí)數(shù)說明:輸出格式mEn m的整數(shù)是一位,保留六位小數(shù),多 余六位同樣四舍五入 E不變 n的整數(shù)位是一位,不夠3位補(bǔ)0,且 前面帶正負(fù)號(hào)Eg:3e5->3.000000e+005 123.45678934->1.2345678934e2->1.234568e+0021.29876543e-11->1.298765e-011g,G以%f或%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù)%c輸出單個(gè)字符(不輸出單引號(hào))%s輸出字符串(不輸出雙引號(hào))%md/%mf/%mlfM代表指定輸出寬度,若指定寬度大于實(shí)際寬度,則靠右輸出,左邊補(bǔ)空格,若
23、指定寬度小于實(shí)際寬度,則按實(shí)際寬度輸出Eg1:#include”studio.h”main()pintf(“%d %5dn”,78);->78 78pintf(“%on”,23);->27(027)pintf(“%xn”,35);->23pintf(“%fn”,234.234567);->234.456780pintf(“%lfn”123.22456523);->123.224565pintf(“%en”,12.34567549);->1.23457e+001pintf(“%cn”,a);->a1) 標(biāo)志:標(biāo)志字符為:-、+、#、空格 四種,其意義如下
24、所示:標(biāo)志意義-結(jié)果左對(duì)齊,右邊填空格Eg: int a=3 printf(“%-8d”,d)->3+輸出符號(hào)(正號(hào)或負(fù)號(hào))空格輸出值為正時(shí)冠以空格,格式輸入函數(shù)scanf()個(gè)性化處理數(shù)據(jù)功能:即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中。Scanf函數(shù)的一般形式:scanf(“格式控制字符串”,地址表列)格式控制:%+字母:指定類型地址列表:&+變量名:變量的地址地址表列中給出各變量的地址,地址是由地址運(yùn)算符“&”后跟變量組成的。格式字符串的一般形式為:%*輸入數(shù)據(jù)寬度長度類型其中方括號(hào)的項(xiàng)為任選項(xiàng)。各項(xiàng)的意義如下:格式字符意義%d以十進(jìn)制形式(正數(shù)不輸出符號(hào)
25、)%o以八進(jìn)制形式輸出無符號(hào)整數(shù)(不輸出前綴0)%x,X以十六進(jìn)制輸出無符號(hào)整數(shù)(不輸出前綴0x)%u以十進(jìn)制輸出無符號(hào)整數(shù)%f(單精度),%lf(雙精度)以小數(shù)形式輸出單、雙精度實(shí)數(shù)說明:系統(tǒng)自動(dòng)保留六位小數(shù),超過六位,對(duì)第七位四舍五入%e,%E以指數(shù)形式輸出單、雙精度實(shí)數(shù)說明:輸出格式mEn m的整數(shù)是一位,保留六位小數(shù),多 余六位同樣四舍五入 E不變 n的整數(shù)位是一位,不夠3位補(bǔ)0,且 前面帶正負(fù)號(hào)Eg:3e5->3.000000e+005 123.45678934->1.2345678934e2->1.234568e+0021.29876543e-11->1.2
26、98765e-011g,G以%f或%e中較短的輸出寬度輸出單、雙精度實(shí)數(shù)%c輸出單個(gè)字符(不輸出單引號(hào))%s輸出字符串(不輸出雙引號(hào))%md/%mf/%mlfM代表指定輸出寬度,若指定寬度大于實(shí)際寬度,則靠右輸出,左邊補(bǔ)空格,若指定寬度小于實(shí)際寬度,則按實(shí)際寬度輸出%m.nd%m.nf%m.nlfM代表指定寬度,n代表指定小數(shù)位數(shù)注意:先考慮小數(shù)位數(shù),再考慮寬度步驟:1、 按指定小數(shù)位數(shù)轉(zhuǎn)換,多位(第5位)四舍五入2、 計(jì)算實(shí)際寬度(整數(shù)位+小數(shù)位+1)3、 在比較實(shí)際寬度和指定寬度的關(guān)系,同上,若指定寬度大于實(shí)際寬度,則靠右輸出,左邊補(bǔ)空格,若指定寬度小于實(shí)際寬度,則按實(shí)際寬度輸Eg: pr
27、intf(“%5,4lf”,123.123457)->123.1235Eg1:#include”stdio.h”Main()inta;Scanf(“%d”,&a);/*從左向右看:輸入一個(gè)十進(jìn)制整數(shù)賦值給變量a提示:當(dāng)程序執(zhí)行到scanf時(shí),程序暫停運(yùn)行,等待用戶輸入,輸入數(shù)據(jù)后按回車賦值結(jié)束*/Printf(“%dn”,a);/*從右向左看:將a以十進(jìn)制形式輸出*/Eg2:#include”stdio.h”Main()inta,b,c;Scanf(“%d%d%d”,&a,&b,&c);/*連續(xù)輸入多個(gè)數(shù)字用空格或回車分隔*/Printf(“%d,b=%d
28、,c=%dn”,a,b,c);Eg3: #include”stdio.h”Main()chara,b,c;Scanf(“%c%c%c”,&a,&b,&c);/*連續(xù)輸入多個(gè)字符不用空格或回車分隔連續(xù)輸入多個(gè)字符不用任何分隔符有分隔符嚴(yán)格按照分隔符輸入(比如Scanf(“%c,%c,%c”,&a,&b,&c);)*/Printf(“%d,b=%d,c=%dn”,a,b,c);總結(jié):printf,scanf函數(shù)都是標(biāo)注庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。但作為一個(gè)特例,不要求在使用此兩個(gè)函數(shù)前必須包含“stdio.h”文件,但加上也可以
29、第3節(jié) :字符輸出和輸入函數(shù)1、 putchar函數(shù)(字符輸出函數(shù))Putchar函數(shù)是字符輸出函數(shù),其功能是在顯示器上輸出單個(gè)字符。其一般形式為:putchar(字符常量或變量);注意:使用本函數(shù)前必須要用文件包含命令:#iclude<stdio.h>Eg:char c=z;Putchar(z);/*輸出字符常量z*/Putchar(c);/*輸出字符變量c里面的字符z*/Putchar(c);/*輸出字符c本身*/Putchar(n);/*換行*/Putchar(t);/*跳到下一個(gè)制表位*/(一個(gè)制表位八個(gè)字符)2、 getchar函數(shù)(鍵盤輸入函數(shù))Geychar函數(shù)的功能
30、是從鍵盤上輸入一個(gè)字符其一般形式為:getchar();提示:通常把輸入的字符賦予一個(gè)字符變量,構(gòu)成賦值語句。Eg:char c;printf(“inpnt a charactern”)c=getchar();putchar(c);putcchar(n)使用getchar函數(shù)還應(yīng)注意幾個(gè)問題:1、 getchar函數(shù)只能接受單個(gè)字符,輸入數(shù)字也按照字符處理。輸入多于一個(gè)字符時(shí),只接受第一個(gè)字符。2、 使用本函數(shù)前必須包含文件“stdio.h”第4章 選擇結(jié)構(gòu)程序設(shè)計(jì)第1節(jié) :關(guān)系表達(dá)式(比較)1、 定義:在程序中需要比較兩個(gè)量的大小關(guān)系,以決定程序的下一步工作。比較兩個(gè)量的運(yùn)算符稱為關(guān)系運(yùn)算符
31、,組成的關(guān)系式就叫做關(guān)系表達(dá)式。2、 關(guān)系運(yùn)算符及其優(yōu)先次序1) <小于2) <=小于或等于3) >大于4) >=大于或等于5) =等于6) !=不等于注:1)2)3)4)優(yōu)先級(jí)相同,遵循左結(jié)合性5)6)優(yōu)先級(jí)相同,遵循左結(jié)合性關(guān)系運(yùn)算符都是雙目運(yùn)算符,其結(jié)合性均為左結(jié)合。關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。在六個(gè)關(guān)系運(yùn)算符中,<,<=,>,>=的優(yōu)先級(jí)相同,高于=和!=,=和!=的優(yōu)先級(jí)相同。功能:1、 數(shù)字大小的比較2、 字符大小的比較:ASCII碼值的比較z>a3、 漢字大小的比較:(字符串的比較:一一比較,一局定輸贏)
32、Eg:男<女(nan<nv)3、 關(guān)系表達(dá)式形式:表達(dá)式1關(guān)系運(yùn)算符表達(dá)式2關(guān)系表達(dá)式的值是:”真對(duì)“和”假錯(cuò)“用 ”1“和”0“ 表示Eg:5>31a>A1王>吳0(AZ6590Az97122)Eg:#include”stdio.h”Main()char c=k;Int i=1,j=2,k=3;Double x=3e+5,y=0.85;Printf (“%d,%dn” a+5<c,-i-2*j>k+1);/*10*/Printf (“%d,%dn”,1<j<5,x-5.25<=x+y);/*11*/Printf (“%d,%dn”,
33、i+j+k=-2*j,k=j=i+5);/*00*/第2節(jié) :邏輯運(yùn)算符和表達(dá)式(判斷是非)1、 邏輯運(yùn)算符及其優(yōu)先次序C語言中提供了三種邏輯運(yùn)算符:1) &&與運(yùn)算2) |位運(yùn)算3) !非運(yùn)算與運(yùn)算符&&或運(yùn)算符|均為雙目運(yùn)算符。具有左結(jié)合性。非運(yùn)算符!為單目運(yùn)算符,具有右結(jié)合性。邏輯運(yùn)算符和其他運(yùn)算符優(yōu)先關(guān)系可表示如下:?。ǚ牵?>&&(與)->|(或)?。ǚ牵┧阈g(shù)運(yùn)算符關(guān)系運(yùn)算符&&和|賦值運(yùn)算符細(xì)化:() ! + 、-(取正和取負(fù)) *、/、% + 、-(加和減) >、>=、<、<= =
34、、!= &&、| =、+=、-= ,2、 邏輯表達(dá)式的形式和邏輯運(yùn)算的值表達(dá)式 邏輯運(yùn)算符 表達(dá)式運(yùn)算對(duì)象:真和假 (非0為真,0為假)邏輯運(yùn)算的值也為“真”和“假”兩種,用“1”和“0”來表示。其求值規(guī)則如下:1、邏輯與運(yùn)算&&:口訣:兩邊是真(非0)才為真(1),一邊為假即為假。2、 邏輯或運(yùn)算|:口訣:兩邊為假才為假,一邊即為真。3、 非運(yùn)算:口訣:非真為假,非假為真Eg:#include”stdio.h”Main()char c=k;Int i=1,j=2,k=3;Double x=3e+5,y=0.85;Printf (“%d,%dn” !x*!y,!
35、x;/* 0 0*/Printf (“%d,%dn”,x| |i&&j-3,i<j&&x<y);/*10*/運(yùn)算短路:當(dāng)遇到| |左邊為真,表達(dá)式即為真,后面不運(yùn)算。 不運(yùn)算 當(dāng)遇到&&左邊為假,表達(dá)式即為假,后面不運(yùn)算*/Printf (“%d,%dn”,x| |i&&j-3,i<j&&x<y);/*01 */第3節(jié) if語句1、 第一種形式:單重選擇If(表達(dá)式) 語句執(zhí)行過程:首先判斷表達(dá)式的值,如果為真(非0)就執(zhí)行語句,如果為假(0)就不執(zhí)行語句。Eg1:#include”stdi
36、o.h”Main()Intf;Printf(“請(qǐng)回答:1問題2問題”)Scanf(“%d”,&f);If(f=1)Printf(“回答問題一結(jié)束n”);If(f=2)Printf(“回答問題二結(jié)束n”);Printf(“結(jié)束n”);輸入1->回答問題一結(jié)束輸入2->回答問題二結(jié)束輸入3->結(jié)束Eg2:#include”stdio.h”Main()Intf;Printf(“請(qǐng)回答:1問題2問題”)Scanf(“%d”,&f);If(f=1)Printf(“回答問題一結(jié)束n”);If(f=2)Printf(“回答問題二結(jié)束n”);Printf(“結(jié)束n”);輸入1
37、->回答問題一結(jié)束輸入2->回答問題二結(jié)束輸入3->無輸出以上兩例子請(qǐng)注意結(jié)構(gòu)Eg3:main()Int a,b,max;nt(“n input two numbers ”);Scanf(“%d%d”,&a,&b);Max=a;Printf(“max=%d”,max);2、 第二種形式為:雙重選擇(必選其一)If(表達(dá)式)語句一;else語句二;執(zhí)行過程:首先判斷表達(dá)式的值,如果為真,就執(zhí)行語句一,如果為假,就執(zhí)行語句二。Eg1:#include”stdio.h”Main()Intf;Printf(“請(qǐng)回答:1問題2問題”)Scanf(“%d”,&f)
38、;If(f=1)Printf(“回答問題一結(jié)束n”);ElsePrintf(“回答問題二結(jié)束n”);Printf(“結(jié)束n”);輸入1->回答問題一結(jié)束 結(jié)束輸入不等于1->回答問題二結(jié)束 結(jié)束Eg2:main()Int a,b,max;nt(“n input two numbers ”);Scanf(“%d%d”,&a,&b);If(a>b)Printf(“max=%dn”,a);ElsePrintf(“max=%dn”,b);3、 第三種形式為:多重選擇(最多選一個(gè))前兩種形式的if語句一般都用于兩個(gè)分支的情況。當(dāng)有多個(gè)分支選擇時(shí),可采用if-else-i
39、f語句,其一般形式為:If(表達(dá)式1)語句1;else if(表達(dá)式2)語句2;else if(表達(dá)式3)語句3;.else if(表達(dá)式m) 語句m;else 語句n;執(zhí)行過程:依次判斷每個(gè)表達(dá)式的值,如果為真,就執(zhí)行對(duì)應(yīng)語句,執(zhí)行后退出。如果為假,接著向后判斷,只要后面為真,同樣執(zhí)行,執(zhí)行后退出。如果所的都為假,就執(zhí)行else后的語句,如果沒有else,就什么也不執(zhí)行??偨Y(jié):在使用if語句中還應(yīng)注意以下問題:1) if關(guān)鍵通常是邏輯表達(dá)式或關(guān)系表達(dá)式,但也可以是賦值表達(dá)式或者是一個(gè)變量。例如:if(a=5)語句;if(b) 語句;2) 在if語句中,條件判斷表達(dá)式必須用括號(hào)擴(kuò)起來3) 在i
40、f語句的三種形式中,所有的語句應(yīng)為單個(gè)語句,如果要想滿足條件時(shí)執(zhí)行一組(多個(gè))語句,則必須把這一組語句用括起來組成一個(gè)復(fù)合語句。If語句的嵌套當(dāng)if語句中的執(zhí)行語句又是if語句時(shí),則構(gòu)成了if語句嵌套的情形。例如:if(表達(dá)式1)If(表達(dá)式2)語句1;else語句2;其中的else究竟是與哪一個(gè)if配對(duì)呢?C語言規(guī)定,else總是與它前面最近的if配對(duì)。Eg1:main()Int a,b;Printf(“please input A B:”);Scanf(“%d%d”,&a,&b);If(a!=b)If(a>b)printf(“A>Bn”);Elseprintf(
41、“A<Bn”);ElsePrintf(“A=Bn”);/*if嵌套*/*首先確定最上面else的配對(duì)關(guān)系,然后依次向外擴(kuò)展*/Eg2:main()inta,b:Printf(“please input A,B:”);Scanf(“%d%d”,&a,&b);If(a=b)printf(“A>Bn”);Else if(a>b)printf(“A>Bn”);Elseprintf(“A>Bn”);/*此為多重選擇*/條件表達(dá)式和switch語句一:條件表達(dá)式(ifelse 的另一種表現(xiàn)形式)1、 條件運(yùn)算符:?:2、 由條件運(yùn)算符組成條件表達(dá)式的一般形式為
42、:表達(dá)式1?表達(dá)式2:表達(dá)式3其求值規(guī)則為:如果表達(dá)式1的值為真,則以表達(dá)式2的值作為條件表達(dá)式的值,否則以表達(dá)式3的值作為整個(gè)條件表達(dá)式的值。其等同于:If(表達(dá)式1)表達(dá)式2Else表達(dá)式3例如條件語句:If(a>b)max=a;Else max=b;可使條件表達(dá)式寫為:max=(a>b)?a:b;使用他條件表達(dá)式時(shí),還應(yīng)注意以下幾點(diǎn):1) 條件運(yùn)算符的優(yōu)先級(jí)低于關(guān)系運(yùn)算符和算數(shù)運(yùn)算符,但高于賦值運(yùn)算符。因此max=(a>b)?a:b可以去掉括號(hào)而寫為max=a>b?a:b.運(yùn)算順序:算數(shù)關(guān)系邏輯條件賦值逗號(hào)2) 條件運(yùn)算符?和:是一對(duì)運(yùn)算符,不能單獨(dú)分開使用3)
43、條件運(yùn)算符的結(jié)合方向是自右至左。例如:a>b?a:c>d?c:d應(yīng)理解為a>b?a:(c>d?c:d).2、 switch語句多重選擇C語言提供了另一種用于多分支選擇的switch語句,其一般形式為:Switch(表達(dá)式)Case 常量表達(dá)式1:語句1;(break);Case 常量表達(dá)式2:語句2;(break);.Case 常量表達(dá)式n:語句n;(break);default語句n+1;(break);其語義是:計(jì)算表達(dá)式的值。并逐個(gè)與case后的常量表達(dá)式值相比較,即執(zhí)行其后的語句,如果case后有break,就退出switch,如果沒有break,就無條件執(zhí)行下
44、面case后的語句,直到遇到break為止,如果所有case后的常量都不符合表達(dá)式的值,就執(zhí)行default語句,如果沒有default,就啥都不執(zhí)行。Break:強(qiáng)制退出switch結(jié)構(gòu)。提示:switch有break才有意義。Eg:main()Inta:printf(“int integer number:”);Scanf(“%d”,&a);Switch(a)Case1:printf(“mondy”);break;Case2:printf(“tuesday”);break;Case3:printf(“wednesday”);break;Case4:printf(“thursday”
45、);break;Case5:printf(“firday”);Case6:printf(“saturday”);break;Case7:printf(“sunday”);break;Default:printf(“errorn”);輸入->5輸出->firday Saturday輸入->10輸出->default在使用switch語句時(shí)還應(yīng)注意以下幾點(diǎn):|1) 在case后各常量表達(dá)式的值不能相同,否則會(huì)出現(xiàn)錯(cuò)誤。2) 在case后,允許有多個(gè)語句,可以不用括起來。3) 各case和default子句的先后順序可以變動(dòng),而不會(huì)影響程序的執(zhí)行結(jié)果。Default子句可以省
46、略不用,default放前面要加break選擇結(jié)構(gòu)選擇性執(zhí)行(從多到少)第5章 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)重復(fù)性執(zhí)行(從少到多)第一節(jié) while循環(huán)一、while語句的一般形式為:While(表達(dá)式)語句;循環(huán)體執(zhí)行過程:首先判斷表達(dá)式的值,如果為真,就執(zhí)行語句(循環(huán)體),執(zhí)行后再次判斷表達(dá)式的值,如果為真,再執(zhí)行,直到表達(dá)式的值為假,退出循環(huán)。Eg:main()Printf(“還有幾圈?”);Scanf(“%d”,&q);While(q>0)Printf(“還有%d圈n”,q);q=q-1;printf(“跑完了”);輸入->3輸出->還有3圈 還有2圈 還有1圈 跑完了W
47、hile循環(huán):先判斷后執(zhí)行第2節(jié) do-while循環(huán):先執(zhí)行后判斷1、 do-whlie語句的一般形式為:do語句;至少執(zhí)行一次while(表達(dá)式);執(zhí)行過程:首先無條件執(zhí)行循環(huán)體一次,然后判斷表達(dá)式的值,如果為真,再執(zhí)行循環(huán)體,再判斷,再執(zhí)行,直到表達(dá)式的值為假,退出循環(huán)。Eg1:main()Int i=1;sum=0;doSum=sum+1;I=i+1;While(i<=100);Printf(“sum=%d”,sum);輸出:5050Eg2:main()Int i=1;sum=0;doSum=sum+i;I=i+2;While(i<=100);Printf(“sum=%d”
48、,sum);輸出:2500(199的奇數(shù)相加)While循環(huán)和do-while循環(huán)的區(qū)別Eg1:main()Intsum=0,i;Scanf(“%d”,&i);While(i<=10)Sum=sum+i;i+;Printf(“sum=%dn”,sum);/*i<=10求i10的和I>100*/Eg2:main()Intsum=0,i;Scanf(“%d”,&i);doSum=sum+i;i+;While(i<=10);Printf(“sum=%dn”,sum);/*i<=10求i10的和I>10i*/結(jié)論:如果初始條件為真,while和do-while是可以相互轉(zhuǎn)換的,如果初始條件為假,while一次也不執(zhí)行,do-while會(huì)執(zhí)行一次。第3節(jié) for循環(huán)1、 for語句的格式:在C語言中,for語句的使用最靈活,它完全可以取代while語句。它的一般形式為:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句;循環(huán)體執(zhí)行過程:首先執(zhí)行表達(dá)式1,然后判斷表達(dá)式2的值,如果為真,就執(zhí)行循環(huán)體,執(zhí)行后再執(zhí)行表達(dá)式3,然后再判斷表達(dá)式2,如果為真,再執(zhí)行,再判斷,直到表達(dá)式2為假退出循環(huán)。Eg:main()int i,su
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024短期汽車租賃服務(wù)合同版B版
- 動(dòng)物行為學(xué)知到智慧樹章節(jié)測試課后答案2024年秋浙江農(nóng)林大學(xué)
- 2025年度博物館場地租賃及展覽展示服務(wù)協(xié)議3篇
- 2024年數(shù)字政府白皮書一體化政務(wù)大數(shù)據(jù)分冊(cè)
- 船舶制造塔吊租賃協(xié)議模板
- 鋼結(jié)構(gòu)圖書館鋼架焊接施工合同
- 港口曬場施工協(xié)議
- 礦業(yè)安全監(jiān)督員租賃協(xié)議
- 酒吧休閑魚池租賃合同
- 食品加工設(shè)備維修機(jī)井合同
- 初中寒假安全教育主題班會(huì)
- 2025年觀看反腐倡廉警示教育片心得體會(huì)范文
- 2025年中國煙草總公司湖北省公司校園招聘227人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 居家辦公培訓(xùn)課件
- 部隊(duì)行車安全課件
- 2025康復(fù)科年度工作計(jì)劃
- 工程設(shè)計(jì)-《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)-完整版
- 《設(shè)計(jì)專業(yè)導(dǎo)論》教學(xué)大綱
- 雙語閱讀:友誼的顏色
- 通用個(gè)人全年工資表模板
- 帶電作業(yè)車庫技術(shù)規(guī)范書
評(píng)論
0/150
提交評(píng)論