版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
c語言程序設(shè)計(jì)(初級(jí))潭州教育-九夏c語言之父丹尼斯·里奇,C語言之父,UNIX之父。c語言的由來1963年,劍橋大學(xué)將ALGOL語言發(fā)展成為CPL語言。1967年,劍橋大學(xué)的馬丁理查茲(MatinRichards)對(duì)CPL語言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語言。1970年,美國(guó)貝爾實(shí)驗(yàn)室的肯·湯普森(KenThompson)將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個(gè)UNIX操作系統(tǒng)。而在1973年,B語言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語言,這就是C語言。編程語言的發(fā)展計(jì)算機(jī)之父----約翰·馮·諾依曼機(jī)器語言低級(jí)語言,也稱二進(jìn)制語言,由0和1的二進(jìn)制組成,計(jì)算機(jī)可以直接識(shí)別,無需任何翻譯匯編語言面向機(jī)器的程序語言,用英文字母或符號(hào)串來代替機(jī)器二進(jìn)制碼,把不易理解的好實(shí)用的機(jī)器語言變成匯編語言,為了閱讀和使用方便高級(jí)語言由于匯編語言依賴于硬件體系,且使用起來還不是特別方便,所以為了是程序語言更接近于人類的自然語言,且不依賴于硬件,從而產(chǎn)生了高級(jí)語言c語言的國(guó)際標(biāo)準(zhǔn)c語言的兩個(gè)標(biāo)準(zhǔn)c89標(biāo)準(zhǔn),ANSI(美國(guó)國(guó)家委員會(huì))于89年12月通過,被iso于1990年批準(zhǔn)成國(guó)際標(biāo)準(zhǔn)c99標(biāo)準(zhǔn)1999年iso通過了新的c標(biāo)準(zhǔn),其中對(duì)語法進(jìn)行了一些重要的修改和增加c語言的特點(diǎn)簡(jiǎn)潔緊湊、靈活方便C語言一共只有32個(gè)關(guān)鍵字,9種控制語句,程序書寫自由,主要用小寫字母表示。它把高級(jí)語言的基本結(jié)構(gòu)和語句與低級(jí)語言的實(shí)用性結(jié)合起來。運(yùn)算符豐富C的運(yùn)算符包含的范圍很廣泛,共有種34個(gè)運(yùn)算符。C語言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C的運(yùn)算類型極其豐富表達(dá)式類型多樣化,靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語言中難以實(shí)現(xiàn)的運(yùn)算。數(shù)據(jù)結(jié)構(gòu)豐富C的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。C語法限制不太嚴(yán)格、程序設(shè)計(jì)自由度大C語言程序生成代碼質(zhì)量高,程序執(zhí)行效率高一般只比匯編程序生成的目標(biāo)代碼效率低10へ20%。C語言適用范圍大,可移植性好
C語言有一個(gè)突出的優(yōu)點(diǎn)就是適合于多種操作系統(tǒng),如DOS、UNIX,也適用于多種機(jī)型。c語言的劣勢(shì)更容易隱藏錯(cuò)誤某種情況下難以理解在某種程度上修改起來比較麻煩編譯工具的使用1.安裝下載安裝包按照步驟進(jìn)行安裝下載鏈接:ed2k://|file|cn_visual_studio_ultimate_2013_x86_dvd_3175316.iso|3077509120|ADDA34B2BC29E1571276AE50A220EB91|/2.下載完成之后安裝步驟安裝編譯工具的使用vs使用1.創(chuàng)建工程---點(diǎn)擊新建項(xiàng)目2.點(diǎn)擊后出現(xiàn)如下界面vs的使用3.如下界面-選擇控制臺(tái)程序后,取消最后勾選,點(diǎn)擊完成。4.創(chuàng)建項(xiàng)目完成后新建一個(gè)文件5新建后會(huì)出現(xiàn)一個(gè)框用來添加文件vs2013窗口介紹等上課的時(shí)候需要的時(shí)候單獨(dú)講解具體介紹百度詳細(xì)介紹快捷鍵介紹1.復(fù)制粘貼剪切1)復(fù)制:ctrl+c2)粘貼:ctrl+v2.撤銷/反撤銷1)撤銷:使用組合鍵“Ctrl+Z”進(jìn)行撤銷操作;2)反撤銷:使用組合鍵“Ctrl+Y”進(jìn)行反撤銷操作3.定位到行首與行尾1)home鍵:定位到當(dāng)前行的行首;2)end鍵:定位到當(dāng)前行的行尾。4.注釋/取消注釋1)注釋:組合鍵“Ctrl+K+C”;2)取消注釋:組合鍵“Ctrl+K+U”。調(diào)試相關(guān)命令5.調(diào)試相關(guān)1)調(diào)試(啟動(dòng)):F5;2)調(diào)試(重新啟動(dòng)):使用組合鍵“Ctrl+Shift+F5”;3)調(diào)試(開始執(zhí)行不調(diào)試):使用組合鍵“Ctrl+F5”;4)調(diào)試(逐語句):F11;5)調(diào)試(逐過程):F10;6)設(shè)置斷點(diǎn):F9。7)編譯:F7c語言的基本概念經(jīng)典中的經(jīng)典:第一個(gè)的C程序/*第一個(gè)c程序*/#include<stdio.h>intmain(){ printf(“HelloWorld!\n”);//在屏幕上打印HelloWorld return0;}編譯和連接概念預(yù)處理預(yù)處理器執(zhí)行#開頭的命令(通常稱為指令)編譯編譯器會(huì)將程序翻譯成機(jī)器指令(目標(biāo)代碼)連接連接器把目標(biāo)代碼和所需的其他附加代碼整合在一起,產(chǎn)生可執(zhí)行的程序。/*例子:這個(gè)是第一個(gè)c語言程序*/#include<stdio.h>intmain(){printf(“Hello,World!”);}注釋編譯預(yù)處理函數(shù)
語句,以分號(hào)結(jié)束執(zhí)行流程
編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe變量簡(jiǎn)述變量
可以改變的量類型程序在運(yùn)行時(shí)需要做的內(nèi)容就是處理數(shù)據(jù),程序要解決復(fù)雜的問題,就要處理不同的數(shù)據(jù)類型,不同的數(shù)據(jù)都是以自己本身的一種特定的形式存在,不同的數(shù)據(jù)類型占用不同的存儲(chǔ)空間,c語言的數(shù)據(jù)類型如下intfloat變量聲明intx;floaty,z;必須把聲明放在語句之前C99中,聲明可以不在語句之前變量的初始化賦值intx;x=10;叫做變量的賦值給float變量的賦值需要在數(shù)值后加f混合賦值是可以的,但不一定安全變量初始化在聲明的時(shí)候進(jìn)行賦值intx=10;注釋單行注釋(c99提供)格式://需要表述的文字多行注釋
格式:/*注釋,需要表述的內(nèi)容*/注釋的習(xí)慣使用方式注意:
注釋的嵌套是不合法的例如:/*tanzhou/*tanzhou*/c++*/忘記終止注釋可能導(dǎo)致嚴(yán)重問例如/*printf輸出printf(<格式控制>,<輸出列表>);?輸出列表:需要輸出的數(shù)據(jù)或表達(dá)式?格式控制:雙引號(hào)括起來的字符串%d整型實(shí)際長(zhǎng)度輸出·%md輸出寬度為m,右對(duì)齊·%--‐md輸出寬度為m,左對(duì)齊·%ld輸出長(zhǎng)整型scanf輸入scanf("格式串",地址表);格式串后的每個(gè)參數(shù)都必需是一個(gè)地址(指針)函數(shù)返回實(shí)際被轉(zhuǎn)換并賦值的輸入項(xiàng)的數(shù)目格式符d十進(jìn)制整數(shù)型o八進(jìn)制整數(shù)u無符號(hào)十進(jìn)制整數(shù)x十六進(jìn)制整數(shù)c字符C語言書寫規(guī)范語句可以分開放在任意多行內(nèi)空格使我們更容易區(qū)分縮進(jìn)有助于輕松識(shí)別程序嵌套空行可以把程序劃分成邏輯單元駝峰命名方式和下劃線區(qū)分方式標(biāo)識(shí)符和關(guān)鍵字標(biāo)識(shí)符,變量、函數(shù)、宏、其他實(shí)體的名稱以字母、下劃線開頭 可以包含字母、下劃線、數(shù)字 大小寫敏感 不能和關(guān)鍵字沖突標(biāo)識(shí)符長(zhǎng)度有限制嗎?C89聲稱可以任意長(zhǎng),但編譯器只記住前31個(gè)C99中是63個(gè)關(guān)鍵字有特殊含義的一串字符全部小寫標(biāo)準(zhǔn)庫(kù)中的函數(shù)名全部小寫32個(gè)關(guān)鍵字九種控制語句9種控制語句(下面的課程都會(huì)涉及到):if()~else~for()~while()~do~while()continuebreakswitchgotoreturn基本數(shù)據(jù)類型1.數(shù)據(jù)類型簡(jiǎn)敘2.數(shù)據(jù)類型分類3.整型4.浮點(diǎn)型5.字符型6.數(shù)據(jù)類型打印7.數(shù)據(jù)類型的大小數(shù)據(jù)類型簡(jiǎn)敘數(shù)據(jù)類型在數(shù)據(jù)結(jié)構(gòu)中的定義是一個(gè)值的集合以及定義在這個(gè)值集合上的操作c語言的數(shù)據(jù)類型分類基本類型(整數(shù)型字符型浮點(diǎn)型枚舉型)構(gòu)造類型(數(shù)組類型,結(jié)構(gòu)類型,公用體類型)指針類型空類型數(shù)據(jù)類型的分類整型數(shù)據(jù)類型
共六種有符號(hào)基本整型有符號(hào)短整型有符號(hào)長(zhǎng)整型無符號(hào)基本整型無符號(hào)短整型無符號(hào)長(zhǎng)整型(signed)int(signed)short(int)(signed)long(int)unsignedintunsignedshort(int)unsignedlong(int)整型int整型int代表整數(shù),是最常用的類型之一。分類
無符號(hào)整型(代表正數(shù)和0)------unsignedint有符號(hào)整型(代表負(fù)數(shù)0正數(shù))------signedint(默認(rèn)==int)整型的存儲(chǔ)結(jié)構(gòu)int聲明和初始化聲明inta;----聲明一個(gè)變量inta,b;----同時(shí)聲明兩個(gè)變量int類型在32位機(jī)器上占用4個(gè)字節(jié)的內(nèi)存范圍-21億~21億,-231~231-1,即-2147483648~2147483647。整型定義及初始化inti=666;unsignedintui=250u;
short和longshort類型占用2個(gè)字節(jié)全稱shortint,(考慮數(shù)據(jù)類型的溢出情況)shortx=10;==>signedshortx=10;==>signedshortintx=10;long是長(zhǎng)整型longx=100L;(加L后說明10000是一個(gè)長(zhǎng)整型常量,而不是基本整型常量)long在16位系統(tǒng)和32位系統(tǒng)都是4個(gè)字節(jié)。類型范圍-2147483648~2147483647。整型常量:(1)十進(jìn)制的整型常量:由數(shù)字0~9組成。如:0、365、-12等。(2)八進(jìn)制的整型常量:以0開頭,由0~7組成。如:0、-012、011等。(3)十六進(jìn)制的整型常量:以0x或0X開頭,由數(shù)字0~9、a~z或A~Z組成。如:0x11、0Xffff、0xa5、-0XAC等。浮點(diǎn)類型浮點(diǎn)型包括單精度型和雙精度型。float:單精度double:雙精度長(zhǎng)雙精度型(longdouble)三類形式定義:floatpi=3.14f;doublepi=3.1415926;小數(shù)的常量表達(dá)形式(1)小數(shù)點(diǎn)式:1.有且僅有一個(gè)小數(shù)點(diǎn)2.小數(shù)點(diǎn)的左邊和右邊可以有一邊沒有數(shù)據(jù),但不能同時(shí)沒有數(shù)據(jù)舉例:3.14、0.1、10.、0.0、.0、-10.08(2)字母E(或e)式:1.有且僅有一個(gè)字母E(或e)2.兩邊都必須有數(shù)據(jù)3.左邊可以是整數(shù),也可以是小數(shù)4.右邊只能是整數(shù)舉例:1e5、1.2E+4、3.0e-2、0e0、1.e0、.0e0字符類型C語言對(duì)字符類型視為整數(shù)類型,就是字符對(duì)應(yīng)的ASCII碼。ASCII碼是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言。它是現(xiàn)今最通用的單字節(jié)編碼系統(tǒng),并等同于國(guó)際標(biāo)準(zhǔn)ISO/IEC646。ASCII是(美國(guó)標(biāo)準(zhǔn)信息交換代碼)定義
charname='a';charname=65;char類型在各種不同系統(tǒng)中,字符類型都占一個(gè)字節(jié)(8位)。定義如下:
charc='a';也可以用字符對(duì)應(yīng)的ASCII碼賦值,如下:
charc=97;
==>代表‘a(chǎn)’大寫的A是65數(shù)字0的ASCII是48有符號(hào)和無符號(hào)charC標(biāo)準(zhǔn)沒有說明普通char是有符號(hào)還是無符號(hào)C語言對(duì)字符類型視為整數(shù)類型轉(zhuǎn)義字符轉(zhuǎn)義字符是有特殊意義,或者需要轉(zhuǎn)變字符原本的意義的字符,基本都是以”\“開始響鈴(會(huì)叮一下)
\a退格\b換行\(zhòng)n回車\r水平制表\t垂直制表\v特殊字符\\\?\’\”字符編碼方式ASCII:基本字符集是128個(gè)常用字符,擴(kuò)展字符集是128個(gè),共256個(gè),1個(gè)字節(jié)Unicode:兩字節(jié)表示的世界通用碼,存儲(chǔ)為文本時(shí)會(huì)有兩個(gè)字節(jié)的頭信息。ANSI編碼為使計(jì)算機(jī)支持更多語言,通常使用0x80~0xFF范圍的2個(gè)字節(jié)來表示1個(gè)字符。比如:漢字'中'在中文操作系統(tǒng)中,使用[0xD6,0xD0]這兩個(gè)字節(jié)存儲(chǔ)。簡(jiǎn)體中文Windows操作系統(tǒng)中,ANSI編碼代表GBK編碼printf的補(bǔ)充printf("格式字符串",...);其中的格式字符串的占位符如下:int------------------%i或者%dlong-----------------%ld;unsignedint-------%u shortint------------%hdfloat----------------%fdouble--------------%lfchar -----------------%c8進(jìn)制---------------%o 16進(jìn)制
-------------%x/%X 浮點(diǎn)去尾零--------%g科學(xué)計(jì)數(shù)法
-------%e/%E
各種類型占用內(nèi)存大小sizeof(類型)sizeof只關(guān)心類型,只會(huì)分析括號(hào)中的類型,不會(huì)對(duì)括號(hào)中的內(nèi)容進(jìn)行運(yùn)算。32位系統(tǒng)的各種類型占用內(nèi)存大小sizeof(char);//結(jié)果為1sizeof(short);//結(jié)果為2sizeof(int);//結(jié)果為4sizeof(long);//結(jié)果為4sizeof(float);//結(jié)果為4sizeof(double);//結(jié)果為8運(yùn)算符與表達(dá)式1.算術(shù)運(yùn)算符2.關(guān)系運(yùn)算符3.邏輯運(yùn)算符4.位操作符運(yùn)算符題:有一個(gè)矩形的長(zhǎng)是3cm,寬是2cm,請(qǐng)計(jì)算一個(gè)他的周長(zhǎng)。解析:c=2*(長(zhǎng)+寬)=2*(3+2)=10cm其中我們用到了乘號(hào)(*)和加號(hào)(+)其中加減乘除等號(hào)等一系列的就是運(yùn)算符其中由多個(gè)運(yùn)算符和操作數(shù)組成的式子叫做表達(dá)式運(yùn)算符分類1.算術(shù)運(yùn)算符:包括加減乘除(+-*/)、求余(模運(yùn)算,%)、自增(++)、自減(––)2.關(guān)系運(yùn)算:大于/小于(>,<)等于(==)大于等于(>=)、小于等于(<=)和不等于(!=)3.邏輯運(yùn)算符:(邏輯運(yùn)算):包括與(&&)、或(||)、非(!)三種。4.位操作運(yùn)算符;包括位與或非(&,|,~)、位異或(^)、左移(<<)、右移(>>)5.賦值運(yùn)算符:賦值(=)、復(fù)合算術(shù)賦值/位運(yùn)算(+=,-=,*=,/=,%=&=,|=,^=,>>=,<<=)6.三目運(yùn)算符:用于條件求值(?:)。7.指針運(yùn)算符:用于取內(nèi)容(*)和取地址()二種運(yùn)算。8.求字節(jié)數(shù)運(yùn)算符:用于計(jì)算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。注意不是函數(shù)算術(shù)運(yùn)算符(1)基本的算術(shù)運(yùn)算符:+(加法運(yùn)算符,或正值運(yùn)算符,如:3+5、+3)-(減法運(yùn)算符,或負(fù)值運(yùn)算符,如:5-2、-3)*(乘法運(yùn)算符,如:3*5)/(除法運(yùn)算符,如:5/3)%(模運(yùn)算符,或稱求余運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。當(dāng)運(yùn)算符/和%用于操作負(fù)數(shù),其結(jié)果未定義C89中,操作數(shù)的其中之一是負(fù)數(shù),結(jié)果可以向上取整,也可以向下取整。如-9/7的結(jié)果可以是-1,也可以是-2。如果i和j其中一個(gè)是負(fù)數(shù),i%j的結(jié)果依賴具體實(shí)現(xiàn)C99中,除法的結(jié)果總是向零截取,因此-9/7的結(jié)果是-1,i%j的結(jié)果符號(hào)與i相同。算術(shù)混合運(yùn)算整型、單精度型、雙精度型數(shù)據(jù)可以混合運(yùn)算。不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。轉(zhuǎn)換規(guī)則如圖:例如:intx=10;floaty=20.5f;x+y的類型是?賦值/自增自減賦值運(yùn)算符:賦值符號(hào)'='就是賦值運(yùn)算符(注意給常量賦值10=x錯(cuò)誤)賦值表達(dá)式:由賦值運(yùn)算符組成的表達(dá)式稱為賦值表達(dá)式例如:inta=10;復(fù)合賦值運(yùn)算符:+=,-=,*=...自增(前加加和后加加)i++;++i;①j=++i;
i的值先變成4,再賦給j,j的值均為4②j=i++;先將i的值3賦給j,j的值為3,然后i變?yōu)椋醋詼p(前減減和后減減)i=i-1;i--;+--i;例如:inti=10;printf("%d\n",i--);printf("%d\n",--i);關(guān)系運(yùn)算符
1.關(guān)系運(yùn)算符及其優(yōu)先次序<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)!=(不等于)優(yōu)先級(jí)相同(高)(低)邏輯運(yùn)算符邏輯運(yùn)算符(區(qū)別位運(yùn)算)邏輯非(!)邏輯與(&&)邏輯或(||)注意:&&和||的短路特征邏輯運(yùn)算的結(jié)果,真或假,0或1:a=b=3;printf("%d\n",(a=4)&&(b=4));打印的結(jié)果是多少呢。三目操作符表達(dá)式1?表達(dá)式2:表達(dá)式3如果第一個(gè)表達(dá)式為真則執(zhí)行表達(dá)式2負(fù)責(zé)執(zhí)行表達(dá)式3例如:age<18?我還年輕:我已經(jīng)老了;等價(jià)于:if(age<18){表達(dá)式1}else{表達(dá)式2}位運(yùn)算符位運(yùn)算符按位與 a&b 按位或 a|b 按位異或 a^b按位取反 ~a ~a左移 a<<b 右移 a>>b注意:我們?cè)诤竺嬲n程會(huì)給大家講二進(jìn)制,到時(shí)候會(huì)給給大家詳細(xì)講解位運(yùn)算運(yùn)算符優(yōu)先級(jí)
初等運(yùn)算符 ()、[]、單目運(yùn)算符 !、+
+、–
–、+、–、(類型)算術(shù)運(yùn)算符 、/、%,+、–關(guān)系運(yùn)算符 <、>、<=、>=,=
=、!
=邏輯運(yùn)算符 &&、||條件運(yùn)算符 ?:賦值運(yùn)算符 =、+=、–=、=、/=、%=逗號(hào)運(yùn)算符 ,運(yùn)算符練習(xí)inta=10;b=20;(關(guān)系運(yùn)算)a>b,a+b>b+c,(a=3)>(b=5),’a’<‘b’,(a>b)>(b<c)得到的結(jié)果是?設(shè)a=4,b=5:!a,a&&b,a||b,!a||b,4&&0||2,他們的值分別是?選擇結(jié)構(gòu)程序設(shè)計(jì)1.if...elseif...2.switch3.breakif語句1.if語句的第一種形式(1)if(表達(dá)式){語句;}例子:
if(x>y)printf("x>y");表達(dá)式語句真(非0)假(0)if-else語句if-else結(jié)構(gòu)的形式如下:if(判斷條件){語句1}else{語句2}if-else結(jié)構(gòu)在執(zhí)行時(shí)首先對(duì)表達(dá)式進(jìn)行求值,若值為真則執(zhí)行if后的“語句1”;若值為假則執(zhí)行else后的“語句2”。if...elseif...else語句
真語句1假表達(dá)式2表達(dá)式1表達(dá)式3語句4語句3語句2真真假假
if(表達(dá)式1){語句組1;} elseif(表達(dá)式2){語句組2;} elseif(表達(dá)式3){語句組3;}... elseif(表達(dá)式m){語句組m;} else{語句組m+1;}
59if語句的嵌套在上述3種if語句結(jié)構(gòu)中,當(dāng)if(表達(dá)式)或else后面的語句本身又是一個(gè)if語句結(jié)構(gòu)時(shí),就形成了if語句的嵌套結(jié)構(gòu)。if語句的二層嵌套結(jié)構(gòu)如下:if(表達(dá)式1){if(表達(dá)式1_2){語句1_1}else{語句1_2}}else{if(表達(dá)式2_1){語句2_1}else{語句2_2}}注意:(1)else子句(可選)是if語句的一部分,必須與if配對(duì)使用,不能單獨(dú)使用。(2)if語句嵌套時(shí),else子句與if的匹配原則:與在它上面、距它最近、且尚未匹配的if配對(duì)。if語句練習(xí)1.從鍵盤上輸入一個(gè)百分制成績(jī)score,按下列原則輸出其等級(jí):score≥90,等級(jí)為A;80≤score<90,等級(jí)為B;70≤score<80,等級(jí)為C;60≤score<70,等級(jí)為D;score<60,等級(jí)為E解析:右圖2.用戶輸三個(gè)int數(shù)據(jù)保存到x,y,z,找出最大值輸出解析:略3.判斷一個(gè)年份是否為閏年。switch語句C語言提供了switch語句直接處理多分支選擇。switch格式:switch(表達(dá)式){case常量表達(dá)式1:語句組1[break;]//不加break會(huì)導(dǎo)致什么樣的結(jié)果?case常量表達(dá)式2:語句組2[break;]……case常量表達(dá)式n:語句組n[break;][default:語句組n+1] //并不是必須的}switch執(zhí)行過程(1)當(dāng)switch后面“表達(dá)式”的值,與某個(gè)case后面的“常量表達(dá)式”的值相同時(shí),就執(zhí)行該case后面的語句(組);當(dāng)執(zhí)行到break語句或switch語句中的最后一條語句時(shí),跳出switch語句,轉(zhuǎn)向執(zhí)行switch語句的下一條。break語句可以立即終止switch結(jié)構(gòu)中的語句序列的執(zhí)行,同時(shí)也就終止了switch結(jié)構(gòu)的執(zhí)行。(2)如果沒有任何一個(gè)case后面的“常量表達(dá)式”的值,與“表達(dá)式”的值匹配,則執(zhí)行default后面的語句(組)。然后,再執(zhí)行switch語句的下一條。switch注意事項(xiàng)1.default子句和各個(gè)case標(biāo)號(hào)出現(xiàn)的次序是任意的,即可以先寫default子句,再寫case標(biāo)號(hào)。2.常量表達(dá)式的值必須互不相同;3.表達(dá)式的值一般為整型(含字符)。switch練習(xí)從鍵盤上輸入一個(gè)百分制成績(jī)score,按下列原則輸出其等級(jí):score≥90,等級(jí)為A;80≤score<90,等級(jí)為B;70≤score<80,等級(jí)為C;60≤score<70,等級(jí)為D;score<60,等級(jí)為Eintmain(){intscore,grad;printf(“Inputascore(0~100):”);scanf(“%d”,&score);grade=score/10;/*將成績(jī)整除10,轉(zhuǎn)化成switch語句中的case標(biāo)號(hào)*/switch(grade){case10:case9:printf(“grade=A\n”);break;case8:printf("grade=B\n");break;case7:printf("grade=C\n");break;case6:printf("grade=D\n");break;case5:case4:循環(huán)控制1.while循環(huán)2.do。。。while循環(huán)3.for循環(huán)4.goto實(shí)現(xiàn)循環(huán)5.循環(huán)退出語句6三種循環(huán)比較7循環(huán)案例循環(huán)控制簡(jiǎn)介在不少實(shí)際問題中有許多具有規(guī)律性的重復(fù)操作,因此在程序中就需要重復(fù)執(zhí)行某些語句。一組被重復(fù)執(zhí)行的語句稱之為循環(huán)體,能否繼續(xù)重復(fù),決定循環(huán)的終止條件。循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某段程序的流程結(jié)構(gòu),被反復(fù)執(zhí)行的程序被稱為循環(huán)體。循環(huán)語句是由循環(huán)體及循環(huán)的終止條件兩部分組成的。while循環(huán)語句While(循環(huán)條件判斷a){執(zhí)行代碼b;}執(zhí)行流程:(1)第一次進(jìn)入while循環(huán)執(zhí)行b前,先判斷a。
(2)根據(jù)條件判斷是否執(zhí)行b和c,如果條件判斷a為真(true),繼續(xù)執(zhí)行循環(huán)主體;若條件判斷值a為假(false),則跳出循環(huán)不再執(zhí)行b代碼。繼續(xù)執(zhí)行循環(huán)后面的代碼(3)執(zhí)行完b后,繼續(xù)判斷a是否滿足條件。由于while循環(huán)不會(huì)自行更改循環(huán)控制變量的內(nèi)容,所以while循環(huán)中為循環(huán)控制變量賦值的工作要由設(shè)計(jì)者自己來做,完成后再回到步驟(2)重新判斷是否繼續(xù)執(zhí)行循環(huán)。while循環(huán)例子例子:計(jì)算1到100之間所有整數(shù)的值(包含1和100)#include<stdio.h>intmain(void){inti=0;intsum=0;while(i<=100){sum=sum+i;i++;}printf("%d\n",sum);return0;}do-while語句當(dāng)一個(gè)一個(gè)循環(huán)至少需要執(zhí)行一次的時(shí)候,可以使用do.while循環(huán)進(jìn)行控制do{語句a;}while(表達(dá)式c);執(zhí)行步驟:(1)執(zhí)行語句a和跳出循環(huán)條件b,轉(zhuǎn)(2)(2)計(jì)算while后面括號(hào)里表達(dá)式的值,若其結(jié)果非0,則轉(zhuǎn)入(1),否則轉(zhuǎn)(3)(3)退出循環(huán),執(zhí)行循環(huán)體下面的語句。注意:do……while語句最后的分號(hào)(;)不可少,否則提示出錯(cuò)。循環(huán)體至少執(zhí)行一次do...while案例首先給定一個(gè)數(shù),然后用用戶猜一個(gè)數(shù),如果猜錯(cuò),給出提示是打了還是小了intgun=30;do{intnum=0;printf("請(qǐng)輸入一個(gè)1到100之間的整數(shù):");scanf("%d",&num);if(num<0||num>100)printf("輸入的數(shù)不在1到100之間。\n");elseif(num>ran)printf("大了\n");elseprintf("小了\n");}while(num!=gun);for語句for語句是循環(huán)控制結(jié)構(gòu)中使用最廣泛的一種循環(huán)控制語句,特別適合已知循環(huán)次數(shù)的情況。結(jié)構(gòu)如下:for([表達(dá)式1];[表達(dá)式2];[表達(dá)式3]){語句4}表達(dá)式1:一般為賦值表達(dá)式,給控制變量賦初值;表達(dá)式2:關(guān)系表達(dá)式或邏輯表達(dá)式,循環(huán)控制條件;表達(dá)式3:一般為賦值表達(dá)式,給控制變量增量或減量注意:跳出循環(huán)用break或者continuefor(intx=0;x<10;x++){if(2==x){continue;}printf("%d",x);}for循環(huán)案例打印1-100的所有奇數(shù)。for(inti=1;i<=100;i++)if(i%2)printf("%d",i);printf("\n");for(inti=1;i<=100;i
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《銷售人員培訓(xùn)方案》課件
- 肱骨干骨折的健康宣教
- 《保險(xiǎn)營(yíng)銷渠》課件
- 卡波西水痘樣疹的臨床護(hù)理
- 《機(jī)械設(shè)計(jì)基礎(chǔ)》課件-第0章
- 《改革開發(fā)的時(shí)代》課件
- 外耳道乳頭狀瘤的健康宣教
- 毛發(fā)腺瘤的臨床護(hù)理
- 中國(guó)共產(chǎn)黨精神譜系(威海職業(yè)學(xué)院)知到智慧樹答案
- 《計(jì)算題解答》課件
- (正式版)JTT 728.2-2024 裝配式公路鋼橋+第2部分:構(gòu)件管理養(yǎng)護(hù)報(bào)廢技術(shù)要求
- 2024年天津市專業(yè)技術(shù)人員繼續(xù)教育公需課考試題+答案 (四套全)
- 煤礦帶式輸送機(jī)保護(hù)裝置安裝試驗(yàn)規(guī)定
- (全新)中職單招機(jī)械類技能考試復(fù)習(xí)試題庫(kù)(含答案)
- 技術(shù)售后人員年終總結(jié)
- MOOC 城市生態(tài)學(xué)-華東師范大學(xué) 中國(guó)大學(xué)慕課答案
- (2024年)《豆芽發(fā)芽生長(zhǎng)過程觀察》ppt文檔全文預(yù)覽
- 口腔科護(hù)理技術(shù)課件
- 《早期教育概論》課程標(biāo)準(zhǔn)
- 部分地區(qū)高二上學(xué)期期末語文試卷匯編文言文閱讀(含答案)
- 電氣安全與靜電防護(hù)技術(shù)
評(píng)論
0/150
提交評(píng)論