版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
轉(zhuǎn)移控制語句與循環(huán)嵌套
張競丹深圳信息職業(yè)技術(shù)學院23break語句循環(huán)嵌套目錄1continue語句目錄23break語句1break語句循環(huán)嵌套1continue語句break語句一般形式:break;功能:中斷循環(huán)體。即直接跳出循環(huán),接著執(zhí)行循環(huán)體下面的語句。例如:for(sum=0,i=0;;i++)
{
sum+=i;
if(i==5)break;
}注意:使用break語句可以使流程跳出循環(huán)結(jié)構(gòu),繼續(xù)執(zhí)行循環(huán)語句下面的語句。break語句不能用于循環(huán)語句和switch語句之外的其它語句。目錄23break語句2continue語句循環(huán)嵌套1continue語句continue語句一般形式:continue;功能:結(jié)束本次循環(huán)體。即跳過循環(huán)體內(nèi)continue語句之后尚未執(zhí)行的語句組,接著進行下一次循環(huán)的判斷。例如:for(sum=0,i=0;i<10;i++){if(i%2)continue;sum+=i;}課前準備continue語句與break語句的區(qū)別continue語句和break語句的區(qū)別:continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行。break語句結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立目錄23break語句3循環(huán)嵌套循環(huán)嵌套1continue語句課前準備循環(huán)的嵌套就是一個循環(huán)體內(nèi)又包含另一個完整的循環(huán)結(jié)構(gòu)。如果內(nèi)嵌的循環(huán)中還有嵌套循環(huán),這就是多層循環(huán)。三種循環(huán)(while循環(huán)、do…while循環(huán)和for循環(huán))可以互相嵌套。例
輸入如下3行,每行5個‘*’的圖案*****
*****
*****循環(huán)嵌套課前準備算法分析:(1)輸出一個‘*’putchar('*');(2)以單層循環(huán)實現(xiàn)一行打印5個‘*’for(j=0;j<5;j++) putchar('*');(3)以二層循環(huán)實現(xiàn)(2)的循環(huán)。 for(i=0;i<3;i++) { for(j=0;j<5;j++) putchar('*'); putchar('\n'); }循環(huán)嵌套謝謝您的聆聽!Thankyou!for語句
張競丹深圳信息職業(yè)技術(shù)學院for語句一般格式:for(表達式1;表達式2;表達式3){語句;}流程圖:注意:(1)for循環(huán)條件語句中有三部分組成,三部分必須用“;”隔開。(2)表達式1的作用是對循環(huán)變量賦初值,表達式2則是循環(huán)結(jié)束條件,表達式3負責為循環(huán)變量增值。(3)for循環(huán)中“循環(huán)變量初始值”可以為空,此時必須在for循環(huán)之前對其定義初始值。(4)for循環(huán)中“條件表達式”可以省略,此時程序會成為“死循環(huán)”。(5)for循環(huán)中“循環(huán)變量增值”也可以省略。但為了保證程序正常運行,變量增值必須在for循環(huán)語句中添加,否則也會變成死循環(huán)。for語句例
計算1+2+…+100(以for語句實現(xiàn))算法分析:(1)以for循環(huán)完成中循環(huán)結(jié)構(gòu)的設(shè)計。(2)以printf語句輸出計算結(jié)果。流程圖:for語句開始i<=100結(jié)束YesNoi=1i++sum+=isum=0for語句循環(huán)語句有while語句、do…while語句、for語句:在許多實際問題處理中while、do…while、for語句可以相互替換for語句更適用于循環(huán)次數(shù)明確的場景,尤其是對下一章數(shù)組的遍歷。循環(huán)變量的值必須是整數(shù)嗎?編寫程序是很枯燥的嗎?程序員都很呆板嗎?下面介紹兩個趣味程序:繪制心形移動的笑臉(方框程序編寫)例
趣味程序:在屏幕上繪制心形圖案。算法分析:(1)根據(jù)心形曲線的公式在屏幕上繪制心形。定義單精度類型變量x、y表示坐標(x,y)。定義單精度變量,如果z<0,則(x,y)在心形曲線內(nèi)部
心形曲線程序執(zhí)行結(jié)果
for語句例
趣味程序:在屏幕上繪制心形圖案。算法分析:(2)以for循環(huán)完成心形內(nèi)部圖案的繪制,其中心形內(nèi)部輸出‘*’號,外部輸出空格。(3)注意:在屏幕上繪制圖形時,由于行與行之間有行間距,所以x軸的循環(huán)遞增(或減)的值應(yīng)小于y軸的值,以保證輸出圖形美觀。for語句中循環(huán)變量x、y為單精度實型for語句例
趣味程序(移動的笑臉——方框的繪制)請在輸出屏幕某一位置上繪制一個方框,方框中心輸出笑臉。
for語句例
趣味程序(移動的笑臉——方框的繪制)算法分析:(1)方框的坐標將輸出窗口左上角視為原點(0,0),橫軸為x軸,縱軸為y軸;方框在x軸的坐標分別定義為整型變量left和right,在y軸的坐標分別為整型變量top和bottom。for語句(0,0)xyrightleftbottomtop例
趣味程序(移動的笑臉——方框的繪制)請在輸出屏幕某一位置上繪制一個方框,方框中心輸出笑臉。算法分析:(2)輸出窗口的句柄
GetStdHandle函數(shù),詳情參見例3-17。(3)控制臺屏幕坐標COORD設(shè)置光標的位置——SetConsoleCursorPosition函數(shù),詳情參見例3-17。(4)使用for循環(huán)語句,輸出方框的四條邊線。(5)求方框的中心坐標,并在此坐標處輸出笑臉。
for語句謝謝您的聆聽!Thankyou!do…while語句
張競丹深圳信息職業(yè)技術(shù)學院do…while語句一般格式:do{語句;}while(表達式);流程圖:do…while語句為“直到型”循環(huán)控制語句,其特點是先執(zhí)行語句、后判斷表達式,循環(huán)體至少執(zhí)行一次。例
計算1+2+…+100(以do…while語句實現(xiàn))算法分析:(1)以do…while循環(huán)完成(1)中循環(huán)結(jié)構(gòu)的設(shè)計。(2)以printf語句輸出計算結(jié)果流程圖:do…while語句開始結(jié)束YesNoi=1;sum=0i++sum+=ii<=100例
計算1+2+…+100(以while語句實現(xiàn))算法分析:(2)以while循環(huán)完成(1)中循環(huán)結(jié)構(gòu)的設(shè)計。(3)以printf語句輸出計算結(jié)果。流程圖:開始i<=100結(jié)束YesNoi=1;sum=0i++sum+=ido…while語句循環(huán)語句有while語句、do…while語句:在許多實際問題處理中while與do…while語句可以相互替換。但是它們之間仍有區(qū)別,當循環(huán)條件不滿足時候,while語句循環(huán)體的最少執(zhí)行次數(shù)為0次,而do…while語句的循環(huán)體最少執(zhí)行次數(shù)為1次。do…while語句謝謝您的聆聽!Thankyou!while語句
張競丹深圳信息職業(yè)技術(shù)學院while語句一般格式:while(表達式){語句;}流程圖:例
計算1+2+…+100(以while語句實現(xiàn))算法分析:(1)分析題目1+2+…+100中,重復(fù)處理的操作為加法。設(shè)整型變量sum用于存放累加的結(jié)果,那么sum的初值必須清零(intsum=0;)。
第1步:sum=sum+1=1
第2步:sum=sum+2=1+2……
第100步:sum=sum+100=1+2+…+100如果以整型變量i表示第i步(i∈[1,100]),那么第i步:sum=sum+i因此,循環(huán)條件為“i>=1&&i<=100”,循環(huán)體為“sum+=i”。while語句例
計算1+2+…+100(以while語句實現(xiàn))算法分析:(2)以while循環(huán)完成(1)中循環(huán)結(jié)構(gòu)的設(shè)計。(3)以printf語句輸出計算結(jié)果。流程圖:while語句開始i<=100結(jié)束YesNoi=1;sum=0i++sum+=i謝謝您的聆聽!Thankyou!循環(huán)結(jié)構(gòu)的概述
張競丹深圳信息職業(yè)技術(shù)學院引言C語言有三種基本結(jié)構(gòu),已經(jīng)介紹了順序結(jié)構(gòu)和選擇結(jié)構(gòu),下面介紹最后一種結(jié)構(gòu)——循環(huán)結(jié)構(gòu),請關(guān)注下面的幾個問題:循環(huán)結(jié)構(gòu)處理什么樣的問題,它的作用是什么?設(shè)計循環(huán)結(jié)構(gòu)的時候,它的必備條件有哪些?循環(huán)與病毒?循環(huán)結(jié)構(gòu)有哪些語句,它們之間有什么區(qū)別與聯(lián)系?循環(huán)結(jié)構(gòu)的概述循環(huán)結(jié)構(gòu)是C語言中用來解決需要重復(fù)處理的問題。據(jù)循環(huán)的類型,循環(huán)問題可以分為無休止循環(huán)和有終止循環(huán)兩類。例如,地球繞著太陽轉(zhuǎn)這就是一個無休止循環(huán),而統(tǒng)計班級中學生的成績就是有終止循環(huán)。在實際程序編寫中,不能設(shè)計無休止循環(huán)。計算機病毒就是一種無休止循環(huán),雖然編程錯誤產(chǎn)生的無休止循環(huán)沒有病毒的危害性大,但是程序?qū)⒁恢眻?zhí)行、常占CPU和內(nèi)存資源、無法退出。循環(huán)結(jié)構(gòu)的概述在循環(huán)結(jié)構(gòu)設(shè)計中重點關(guān)注構(gòu)成循環(huán)的兩個條件——循環(huán)體和循環(huán)結(jié)束條件。循環(huán)體是循環(huán)中需要重復(fù)執(zhí)行的操作,例如地球圍繞太陽轉(zhuǎn)、對每個同學的成績進行累加。循環(huán)結(jié)束條件就是程序在什么情況下停止重復(fù)的操作,例如計算50個同學的平均分,累加的學生成績次數(shù)大于50即停止。謝謝您的聆聽!Thankyou!switch語句
張競丹深圳信息職業(yè)技術(shù)學院引言if語句最多有兩個分支,而嵌套的if語句可以實現(xiàn)多分支選擇,但層數(shù)太多會造成程序可讀性降低。本節(jié)介紹使用switch語句處理多分支選擇問題。switch語句實現(xiàn)多分支選擇結(jié)構(gòu)一般形式:switch(表達式){
case常量表達式1:語句1;break;
case常量表達式2:語句2;break;
……
case常量表達式n:語句n;break;
default:語句n+1;}
switch語句實現(xiàn)多分支選擇結(jié)構(gòu)流程圖:表達式常量表達式1常量表達式2常量表達式ndefault…語句1語句2語句n語句n+1…switch語句實現(xiàn)多分支選擇結(jié)構(gòu)注意:(1)switch后面的表達式和case后的常量表達式可以是整型或字符型。(2)case后面的表達式只能是常量表達式,并且各常量表達式的值不能相同,否則會出現(xiàn)錯誤。(3)case后的語句可以是一條語句,也可以是多條語句,當是多條語句時,可以不用{}括起來。(4)break語句的功能是跳出switch語句,接著執(zhí)行switch語句后面的語句。如果程序中缺少break語句,那么將順序執(zhí)行其后的case或default分支,直到遇到break語句或switch語句結(jié)束。switch語句實現(xiàn)多分支選擇結(jié)構(gòu)注意:(5)各case和default語句的先后順序可以變動,而不會影響程序的執(zhí)行結(jié)果。(6)default語句可以省略不用。這時如果找不到對應(yīng)的case分支,流程將不進入switch語句。switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例趣味程序(樂曲點播)曲庫里有三首歌曲:1生日歌2滿天都是小星星3兩只老虎
請選擇對應(yīng)歌曲的序號并利用計算機的嗡鳴器演奏歌曲(使用switch語句完成)。switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例趣味程序(樂曲點播)曲庫里有三首歌曲編程分析:(1)定義符號常量表示音節(jié)(2)在屏幕上輸出曲目的菜單
(3)輸入所選曲目的序號(4)使用switch語句完成曲目的選擇(5)編寫三首樂曲的演奏程序switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例
趣味程序(移動的笑臉——單步移動):請在輸出窗口中某一位置上輸出笑臉,通過上、下、左、右方向鍵對笑臉做單步移動switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例
趣味程序(移動的笑臉——單步移動):請在輸出窗口中某一位置上輸出笑臉,通過上、下、左、右方向鍵對笑臉做單步移動編程分析:(1)輸出窗口的句柄GetStdHandle函數(shù)函數(shù)原型:HANDLE
GetStdHandle(
DWORD
nStdHandle);功能:Windows
API函數(shù)。它用于從一個特定的標準設(shè)備(標準輸入、標準輸出或標準錯誤)中取得一個句柄(用來標識不同設(shè)備的數(shù)值)。參數(shù)nStdHandleSTD_INPUT_HANDLE標準輸入的句柄STD_OUTPUT_HANDLE標準輸出的句柄STD_ERROR_HANDLE標準錯誤的句柄注:該函數(shù)的定義在windows.h文件中。switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例
趣味程序(移動的笑臉——單步移動):請在輸出窗口中某一位置上輸出笑臉,通過上、下、左、右方向鍵對笑臉做單步移動編程分析:(2)控制臺屏幕坐標COORDCOORD是WindowsAPI中定義的一種結(jié)構(gòu),表示一個字符在控制臺屏幕上的坐標。其定義為:typedefstruct_COORD{SHORTX;/*horizontalcoordinate*/SHORTY;/*verticalcoordinate*/}COORD;switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例
趣味程序(移動的笑臉——單步移動):請在輸出窗口中某一位置上輸出笑臉,通過上、下、左、右方向鍵對笑臉做單步移動編程分析:(2)控制臺屏幕坐標設(shè)置光標的位置——SetConsoleCursorPosition函數(shù)
函數(shù)原型:BOOL
SetConsoleCursorPosition(
HANDLE
hConsoleOutput,COORDdwCursorPosition);功能:Windows
API函數(shù),設(shè)置控制臺(cmd)光標位置。參數(shù):
hConsoleOutput窗口句柄
dwCursorPosition光標位置
注:該函數(shù)的定義在windows.h文件中。switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例
趣味程序(移動的笑臉——單步移動):請在輸出窗口中某一位置上輸出笑臉,通過上、下、左、右方向鍵對笑臉做單步移動編程分析:(3)在指定位置上輸出笑臉將輸出窗口左上角視為原點(0,0),橫軸為x軸,縱軸為y軸。設(shè)置光標位置為坐標(10,5),輸出笑臉。(4)以getch函數(shù)獲取獲取鍵盤上輸入的符號(上、下、左、右方向鍵)getch函數(shù)函數(shù)原型:getch();功能:在windows平臺下從控制臺無回顯地取一個字符注:該函數(shù)的定義在conio.h文件中。另外,獲取方向鍵的ASCII碼要調(diào)用兩次getch函數(shù),第一次獲取的是掃描碼,第二次獲取的才是ASCII碼。switch語句實現(xiàn)多分支選擇結(jié)構(gòu)例
趣味程序(移動的笑臉——單步移動):請在輸出窗口中某一位置上輸出笑臉,通過上、下、左、右方向鍵對笑臉做單步移動編程分析:(5)以switch函數(shù)判斷輸入的功能鍵,如果是上、下、左、右方向鍵,則在原位置輸出空格,并根據(jù)方向鍵重新設(shè)置光標、在新位置輸出笑臉;否則,不做任何處理。謝謝您的聆聽!Thankyou!if語句
張競丹深圳信息職業(yè)技術(shù)學院引言if語句是選擇結(jié)構(gòu)中最常用的一種語句,可以實現(xiàn)單分支、雙分支、多分支選擇結(jié)構(gòu)。23if語句實現(xiàn)單分支選擇結(jié)構(gòu)嵌套的if語句實現(xiàn)多分支選擇結(jié)構(gòu)目錄1if語句實現(xiàn)雙分支選擇結(jié)構(gòu)目錄23if語句實現(xiàn)單分支選擇結(jié)構(gòu)1if語句實現(xiàn)單分支選擇結(jié)構(gòu)嵌套的if語句實現(xiàn)多分支選擇結(jié)構(gòu)1if語句實現(xiàn)雙分支選擇結(jié)構(gòu)if語句實現(xiàn)單分支選擇結(jié)構(gòu)一般形式:if(條件表達式)
語句;流程圖:條件表達式
語句假真課前準備注意:條件表達式一般是邏輯表達式或關(guān)系表達式,但也可以是其它表達式,如賦值表達式,甚至也可以是一個變量或常量。例如:if(a=6)或if(6)if語句實現(xiàn)單分支選擇結(jié)構(gòu)課前準備例
輸入學生成績,如果小于60分,請輸出“不及格”。編程分析:(1)數(shù)據(jù)結(jié)構(gòu)(2)算法if語句實現(xiàn)單分支選擇結(jié)構(gòu)類型題目要求形式語言(C)的表達輸入數(shù)據(jù)學生成績單精度(float)實型變量:score
算法流程形式語言的表達從鍵盤輸入一個學生的成績以函數(shù)scanf從鍵盤上讀取數(shù)據(jù),存放在變量score中判斷如果小于60分,請輸出“不及格”if(score<60)輸出“不及格”課前準備例輸入學生成績,如果小于60分,請輸出“不及格”。編程分析:if語句實現(xiàn)單分支選擇結(jié)構(gòu)score<60YesNo開始結(jié)束score不及格目錄23if語句實現(xiàn)單分支選擇結(jié)構(gòu)2if語句實現(xiàn)雙分支選擇結(jié)構(gòu)嵌套的if語句實現(xiàn)多分支選擇結(jié)構(gòu)1if語句實現(xiàn)雙分支選擇結(jié)構(gòu)if語句實現(xiàn)雙分支選擇結(jié)構(gòu)一般形式:if(條件表達式)語句1;else語句2;流程圖:條件表達式假真
語句1
語句2課前準備例輸入兩個整數(shù),輸出其中較大數(shù)。編程分析:(1)數(shù)據(jù)結(jié)構(gòu)(2)算法if語句實現(xiàn)雙分支選擇結(jié)構(gòu)類型題目要求形式語言(C)的表達輸入數(shù)據(jù)兩個整數(shù)2個整型(int)變量:a,b
算法流程形式語言的表達從鍵盤輸入兩個整數(shù)賦值給變量a、b以函數(shù)scanf從鍵盤上讀取數(shù)據(jù),分別存放在變量a和b中輸出其中較大數(shù)if(a>b)輸出aelse
輸出b課前準備例輸入兩個整數(shù),輸出其中較大數(shù)。流程圖:if語句實現(xiàn)雙分支選擇結(jié)構(gòu)a>bYesNo開始結(jié)束a,bab課前準備例
趣味程序(樂曲點播)曲庫里有兩首歌曲:1生日歌2滿天都是小星星
請選擇對應(yīng)歌曲的序號并利用計算機的嗡鳴器演奏歌曲。if語句實現(xiàn)雙分支選擇結(jié)構(gòu)課前準備例
趣味程序(樂曲點播)曲庫里有兩首歌曲:編程分析:(1)定義符號常量表示音節(jié)(如表3-3),具體分析見例3-9。(2)在屏幕上輸出曲目的菜單
(3)輸入所選曲目的序號(4)使用if…else選擇結(jié)構(gòu)根據(jù)用戶輸入選擇曲目(5)編寫樂曲演奏程序if語句實現(xiàn)雙分支選擇結(jié)構(gòu)課前準備背景知識補充:歌曲生日歌的歌譜及程序編寫請參看例3-9歌曲滿天都是小星星的歌譜簡譜1155665-|4433221-|5544332-|5544332-|1155665-|4433221-|字符常量樂譜
AAGGHHGFFDDSSAGGFFDDSGGFFDDSAAGGHHGFFDDSSAif語句實現(xiàn)雙分支選擇結(jié)構(gòu)目錄23if語句實現(xiàn)單分支選擇結(jié)構(gòu)3嵌套的if語句實現(xiàn)雙分支選擇結(jié)構(gòu)嵌套的if語句實現(xiàn)多分支選擇結(jié)構(gòu)1if語句實現(xiàn)雙分支多擇結(jié)構(gòu)嵌套if語句實現(xiàn)多分支選擇結(jié)構(gòu)一般形式:if(表達式1)if(表達式2)
語句1;else
語句2;elseif(表達式3)
語句3;else
語句4;注意:(1)else總是與其前面最鄰近的沒有與else匹配過的if進行匹配。(2)當if語言后有多條執(zhí)行語句時,請將多條語句用{}括起來作為復(fù)合語句。課前準備例趣味程序(樂曲點播)曲庫里有三首歌曲:1生日歌2滿天都是小星星3兩只老虎
請選擇對應(yīng)歌曲的序號并利用計算機的嗡鳴器演奏歌曲(使用嵌套的if語句完成)。嵌套if語句實現(xiàn)多分支選擇結(jié)構(gòu)課前準備例趣味程序(樂曲點播)曲庫里有三首歌曲:編程分析:(1)定義符號常量表示音節(jié)(如表3-3),具體分析見例3-9。(2)在屏幕上輸出曲目的菜單
(3)輸入所選曲目的序號(4)使用if…else嵌套語句完成曲目的選擇(5)編寫三首樂曲的演奏程序嵌套if語句實現(xiàn)多分支選擇結(jié)構(gòu)課前準備例趣味程序(樂曲點播)曲庫里有三首歌曲:編程分析:兩只老虎的歌譜簡譜1231|1231|345|345|5654|31|56
54|31|25|10|25|10|字符常量樂譜ASDAASDADFGDFGGHGFDAGHGFDASBA-SBA-嵌套if語句實現(xiàn)多分支選擇結(jié)構(gòu)謝謝您的聆聽!Thankyou!條件的描述
張競丹深圳信息職業(yè)技術(shù)學院引言判斷框(菱形框)中的條件即為選擇結(jié)構(gòu)中的判斷條件。以七十歲以上的老人入公園免票為例,采用較為熟悉的數(shù)學方法描述為:設(shè)x為年齡,y為門票費用。如果x≥70,則y=0。其中x≥70為數(shù)學中條件的描述。但是,在C語言中不能采用如上的數(shù)學語言或者自然語言來描述條件,而且C語言中的大于等于號也不是“≥”,因為鍵盤上無法輸入此符號。12邏輯運算符目錄關(guān)系運算符目錄121關(guān)系運算符邏輯運算符關(guān)系運算符關(guān)系運算符C語言中以關(guān)系運算符表述變量、常量、表達式之前的大小關(guān)系,包括大于、小于等關(guān)系,其意義和數(shù)學中的關(guān)系運算符號一致,只是在書寫上略有不同關(guān)系意義C語言中的關(guān)系運算符數(shù)學中的相應(yīng)符號小于<<小于或等于<=≤大于>>大于或等于>=≥等于===不等于!=≠課前準備注意關(guān)系運算符的優(yōu)先級別:(1)關(guān)系運算符的優(yōu)先級低于算術(shù)運算符,高于賦值運算符(2)關(guān)系運算符中,<、<=、>、>=的優(yōu)先級相同,高于==和!=的優(yōu)先級相同。關(guān)系運算符以七十歲以上的老人入公園免票為例,假設(shè)x為年齡,則條件表達式采用C語言描述為“x>=70”。目錄122邏輯運算符邏輯運算符關(guān)系運算符邏輯運算符在實際生活中1.2米以下的兒童去公園也是免費的,那么“七十歲以上的老人或1.2米以下的兒童,入公園免票”這條判斷語句僅依賴于關(guān)系表達式來描述是無法完成的。其中的“或”關(guān)系還依賴于邏輯運算符號。邏輯意義C語言中的邏輯運算符數(shù)學中的相應(yīng)符號與,相當于AND&&∧或,相當于OR||∨非,相當于NOT!→邏輯運算符邏輯運算符的優(yōu)先級:!非算術(shù)運算符關(guān)系運算符&&和||賦值運算符高低以七十歲以上的老人或1.2米以下的兒童入公園免票為例,假設(shè)x為年齡,h為身高,則條件表達式采用C語言描述為“x>=70||h<1.2”。謝謝您的聆聽!Thankyou!輸入輸出語句
張競丹深圳信息職業(yè)技術(shù)學院引言
輸入輸出語句是C語程序中最常見的一種語句,實現(xiàn)了人機之間的交互。
輸出:將程序的結(jié)果顯示在屏幕上或者將結(jié)果寫入文件中,供用戶查看與保存。
輸入:將用戶的數(shù)據(jù)從鍵盤輸入或從文件中讀入到程序中,然后執(zhí)行相應(yīng)的操作。12簡單的格式輸入輸出語句目錄字符輸入輸出語句目錄121字符輸入輸出語句簡單的格式輸入輸出語句字符輸入輸出語句字符輸入輸出語句
C標準輸入輸出函數(shù)庫中提供了關(guān)于單個字符的輸入輸出函數(shù)getchar和putchar:它們用法簡單、容易理解;但是每次只能輸入或者輸出單個字符,無法處理其它類型的數(shù)據(jù)。課前準備功能:從鍵盤上輸入一個字符一般形式:getchar();通常把輸入的字符賦予一個字符變量,構(gòu)成賦值語句
charc;c=getchar();注意:在使用getchar函數(shù)時
getchar函數(shù)只接受單個字符,輸入多于一個字符時,只接收第一個字符。輸入數(shù)字也按字符處理。函數(shù)getchar的定義在標準輸入輸出庫(stdio.h)文件中,所以在調(diào)用該函數(shù)時,必須在文件中用預(yù)編譯命令“#include”包含此頭文件。getchar函數(shù)(字符輸入函數(shù))字符輸入輸出語句課前準備例
請在屏幕上輸入3個字符編程分析:(1)數(shù)據(jù)結(jié)構(gòu)(2)算法getchar函數(shù)(字符輸入函數(shù))類型題目要求形式語言(C)的表達輸入數(shù)據(jù)輸入3個字符3個字符型(char)變量:a,b,c算法流程形式語言的表達以函數(shù)getchar從鍵盤上讀取3個字符,并分別賦值給字符變量a、b、ca←getchar()b←getchar()c←getchar()字符輸入輸出語句課前準備功能:在顯示器上輸出單個字符一般形式:putchar(字符變量);例如:putchar('A');/*輸出大寫字母A*/putchar(x);/*輸出字符變量x的值*/putchar('\n');/*輸出換行*/注意:putchar函數(shù)的定義在標準輸入輸出庫(stdio.h)文件中,所以在調(diào)用該函數(shù)時,必須在文件中用預(yù)編譯命令“#include”包含此頭文件。putchar函數(shù)每次只能輸出一個字符。putchar函數(shù)(字符輸出函數(shù))字符輸入輸出語句課前準備例3-7請在鍵盤上輸入3個字符,然后將其保存并輸出到屏幕上編程分析:(1)數(shù)據(jù)結(jié)構(gòu)(2)算法字符輸入輸出語句putchar函數(shù)(字符輸出函數(shù))類型題目要求形式語言(C)的表達輸入數(shù)據(jù)輸入3個字符3個字符型(char)變量:a,b,c算法流程形式語言的表達以函數(shù)getchar從鍵盤上讀取3個字符,并分別賦值給字符變量a、b、ca←getchar()b←getchar()c←getchar()輸出字符變量a、b、cputchar(a)putchar(b)putchar(c)課前準備例趣味程序(移動的笑臉——輸出笑臉):使用putchar函數(shù)在屏幕上輸出笑臉。編程分析:笑臉的符號其ASCII碼值為2,利用變量類型的自動轉(zhuǎn)換原則,用putchar函數(shù)在屏幕上輸出笑臉的符號。字符輸入輸出語句putchar函數(shù)(字符輸出函數(shù))目錄122簡單的格式輸入輸出語句簡單的格式輸入輸出語句字符輸入輸出語句簡單的格式輸入輸出語句字符輸入輸出函數(shù)只能完成對單個字符的輸入輸出,其它類型(如整型、實型)的數(shù)據(jù)如何進行輸入輸出呢?接下來介紹簡單的格式輸入輸出函數(shù)。雖然其名字稱為“簡單的”格式輸入輸出函數(shù),但是其使用并不簡單;函數(shù)printf和scanf都為形參數(shù)量可變的函數(shù),調(diào)用時要格外小心。課前準備功能:按用戶指定的格式,把指定的數(shù)據(jù)顯示到顯示器屏幕上調(diào)用的一般形式為printf("格式控制字符串",輸出表列);格式控制字符串:包括格式聲明和普通字符兩種信息格式聲明:以%開頭,在%后面跟有各種格式字符普通字符:在輸出時原樣照印,在顯示中起提示作用輸出表列:給出了各個輸出項,要求格式字符串和各輸出項在數(shù)量和類型上應(yīng)該一一對應(yīng)。格式輸出函數(shù)簡單的格式輸入輸出語句課前準備基本的格式字符
d格式符按十進制整型數(shù)據(jù)的實際長度輸出
i格式符與d格式符相同
c格式符輸出單個字符
f格式符以小數(shù)形式輸出單、雙精度實數(shù)
s格式符輸出字符串
e格式符以指數(shù)形式輸出單、雙精度實數(shù)格式輸出函數(shù)簡單的格式輸入輸出語句課前準備在實際應(yīng)用中要注意:所有輸出項都必須指定輸出格式;各輸出項按照格式控制字符串的格式聲明符先后順序引用的;格式說明符必須與對應(yīng)輸出項數(shù)據(jù)類型保持一致。在調(diào)用printf函數(shù)時必須包含stdio.h頭文件。思考:如何原樣輸出字符“%”呢?例如:輸出0.333333%
printf("%f%%",1.0/3);格式輸出函數(shù)簡單的格式輸入輸出語句課前準備例
趣味程序(移動的笑臉——輸出笑臉):使用printf函數(shù)在屏幕上輸出笑臉。編程分析:(1)笑臉的符號其ASCII碼值為2(2)調(diào)用函數(shù)printf在屏幕上輸出笑臉的符號,使用格式聲明%c格式輸出函數(shù)簡單的格式輸入輸出語句課前準備功能:按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入到指定的變量之中一般形式:scanf("格式控制字符串",地址表列);格式控制字符串的作用與printf函數(shù)相同地址表列是若干個地址組成的表列,可能是變量的地址,也可能是字符串的首地址.變量的地址是由地址運算符“&”后跟變量名組成的.格式輸入函數(shù)簡單的格式輸入輸出語句課前準備例
請在鍵盤上輸入一個整數(shù)、一個實數(shù)、一個字符,然后將其保存并輸出到屏幕上。編程分析:(1)數(shù)據(jù)結(jié)構(gòu)格式輸入函數(shù)簡單的格式輸入輸出語句題目要求形式語言(C)的表達輸入數(shù)據(jù)一個整數(shù)、一個實數(shù)、一個字符inta;floatb;charc;輸出數(shù)據(jù)輸入的三個數(shù)a、b、c課前準備例
請在鍵盤上輸入一個整數(shù)、一個實數(shù)、一個字符,然后將其保存并輸出到屏幕上。編程分析:(2)算法格式輸入函數(shù)簡單的格式輸入輸出語句
算法流程形式語言的表達在鍵盤上輸入一個整數(shù)、一個實數(shù)、一個字符以函數(shù)scanf從鍵盤上讀取相應(yīng)類型的數(shù)據(jù)輸出a、b、c的值調(diào)用printf函數(shù),分別輸出變量a,b,c的值課前準備思考:(1)“scanf("%d,%f,%c",&a,&b,&c);”中“%d,%f,%c”之間有逗號,在輸入數(shù)據(jù)時也要加逗號。如果去掉逗號,輸入語句為“scanf("%d%f%c",&a,&b,&c);”,那么鍵盤上輸入數(shù)據(jù)時以什么符號將數(shù)據(jù)隔開?前面的提示語句“printf("Pleaseinputa,b,c:");”是不是也要修改?(2)如果輸入語句為“scanf(”%d%f%c“,&a,&b,&c);”,當按照下圖所示進行輸入,結(jié)果為什么不對呢?格式輸入函數(shù)簡單的格式輸入輸出語句課前準備注意:(1)對于數(shù)組或指針變量,由于數(shù)組名和指針變量名本身就是地址,因此使用scanf函數(shù)時,不需要在它們前面加上“&”操作符。(2)在輸入多個數(shù)值數(shù)據(jù)時,若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔則可用空格、TAB或回車作間隔。如輸入語句“scanf("%d%f%c",&a,&b,&c);”,輸入時就不用逗號,而用空格、tab鍵或回車鍵將各個數(shù)據(jù)隔開。(3)可以在格式化字符串中的“%”與格式聲明符之間加入一個整數(shù),表示任何讀操作中的最大位數(shù)。(4)函數(shù)scanf中沒有精度控制。例如語句“scanf("%5.2f",&a);”是非法的,不能企圖用此語句輸入小數(shù)為2位的實數(shù)。格式輸入函數(shù)簡單的格式輸入輸出語句課前準備注意:(5)函數(shù)scanf中要求給出變量地址,如給出變量名則會出錯。如語句“scanf("%d",a);”是非法的,應(yīng)改為“scanf("%d",&a);”才是合法的。(6)在輸入字符數(shù)據(jù)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。例如輸入語句“scanf(”%c%c%c“,&a,&b,&c);”按圖中輸入,則把1賦值給字符型變量a,把2賦值給字符型變量b,把‘(空格)’賦值給字符型變量c。因為%c只要求讀入一個字符,后面不需要用空格作為兩個字符的間隔,因此把‘(空格)’作為下一個字符送給c。只有當輸入為“12f”時,才能把字符‘f’賦值給字符型變量c,如下圖。格式輸入函數(shù)簡單的格式輸入輸出語句課前準備注意:格式輸入函數(shù)簡單的格式輸入輸出語句謝謝您的聆聽!Thankyou!賦值運算和賦值語句
張競丹深圳信息職業(yè)技術(shù)學院12賦值語句目錄賦值運算目錄121賦值運算賦值語句賦值運算賦值運算賦值運算符
賦值符號"="即為賦值運算符復(fù)合賦值運算符
在賦值符"="之前加上其它運算符,即構(gòu)成復(fù)合賦值運算符,如+=,-=,*=,/=,%=等
a+=5等價于a=a+5x/=y+7
等價于
x=x/(y+7)
復(fù)合運算符的優(yōu)點:
簡化程序,使程序精煉
提高編譯效率并產(chǎn)生質(zhì)量較高的目標代碼課前準備計算結(jié)果inta=6;a+=5;a=_______intx=6;x/=x+6;x=_______inty=6;y/=y+y;y=_______intz=6;z%=5;z=_______intn=6;n%=7;n=_______練習賦值運算a=a+5=6+5=11x=x/(x+6)=6/12=0y=y/(y+y)=6/12=0z=z%5=6%5=1n=n%7=6%7=6課前準備賦值表達式由賦值運算符將一個變量和一個表達式連接起來的式子一般形式為:變量賦值運算符表達式賦值運算符具有右結(jié)合性例1:a=b=5
等效于:b=5a=b例2:(a=3*5)=4*3
等效于:a=3*5a=4*3賦值運算課前準備如果賦值運算符兩邊的數(shù)據(jù)類型不相同,系統(tǒng)將自動把賦值號右邊的類型換成左邊的類型。實型賦予整型,舍去小數(shù)部分整型賦予實型,數(shù)值不變,但以實數(shù)形式存放將一個double型數(shù)據(jù)賦給float變量時,取其前7位有效數(shù)字,存放在float變量的存儲單元字符型賦予整型,將字符的ASCII碼值賦給整型變量將一個占字節(jié)多的整型數(shù)據(jù)賦予一個占字節(jié)少的整型變量或字符變量,只把低字節(jié)賦給該變量賦值過程中的類型轉(zhuǎn)換賦值運算課前準備計算結(jié)果floata=6.5;intb=a;b=________inta=6;floatb=a;b=________charz='b';intx=z;x=________(注:'a'的ASCII碼為97)練習賦值運算b=6b=6.0x=98目錄122賦值語句賦值語句賦值運算課前準備賦值語句由賦值表達式加上分號構(gòu)成賦值語句的功能和特點都與賦值表達式相同,它是程序中使用最多的語句之一賦值表達式可以包括在其它表達式中,但不可以包含賦值語句if((a=b)>0) t=a;if((a=b;)>0) t=a;賦值語句允許連續(xù)賦值例如:a=b=c=5;賦值語句課前準備在程序中常常需要對變量賦初值,以便使用變量。在定義時賦以初值的方法,這種方法稱為初始化。在變量說明中賦初值的一般形式為:類型說明符變量1=值1,變量2=值2,......;例如:floatx=3.2,y=3f,z=0.75;charch1='K',ch2='P';注意在變量說明中給變量賦初值和賦值語句的區(qū)別在變量說明中,不允許連續(xù)給多個變量賦初值如下述說明是錯誤的:
inta=b=c=5;必須寫為inta=5,b=5,c=5;變量賦初值賦值語句課前準備寫出下列表達式運算后a的值,設(shè)原來a=12a+=aa-=2a*=2+3a/=a+aa%=(n%=2),n的值等于5a+=a-=a*=a練習賦值語句a=a+a=24a=a-2=10a=a*(2+3)=60a=a/(a+a)=0n=n%2=5%2=1a=a%n=12%1=0a-=a=>a=a-a=0課前準備總結(jié)與思考實際賦值問題中變量類型的轉(zhuǎn)換
賦值運算符與數(shù)學中“=”相同嗎?謝謝您的聆聽!Thankyou!C語言的基本結(jié)構(gòu)與語句
張競丹深圳信息職業(yè)技術(shù)學院引言
C語言中有哪些“語法”(基本結(jié)構(gòu))和句型(語句類型)呢?與英語相比,C語言在“語法結(jié)構(gòu)”和“句型”上數(shù)量少、結(jié)構(gòu)相對簡單。三種基本結(jié)構(gòu)五種語句類型12
C語句的概述目錄
C語言的基本結(jié)構(gòu)目錄121C語言的基本結(jié)構(gòu)C語句的概述C語言的基本結(jié)構(gòu)C語言的基本結(jié)構(gòu)C語言有三種基本程序結(jié)構(gòu)(語法)—順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)的程序流程是按語句的書寫順序依次執(zhí)行;選擇結(jié)構(gòu)是對給定條件進行判斷,根據(jù)判斷結(jié)果決定執(zhí)行兩分支中的一個分支或多分支中的一個分支;循環(huán)結(jié)構(gòu)是在給定條件成立的情況下,反復(fù)執(zhí)行某個程序段。C語言的基本結(jié)構(gòu)C語言有三種基本程序結(jié)構(gòu)(語法)—順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)的程序流程是按語句的書寫順序依次執(zhí)行S1S2C語言的基本結(jié)構(gòu)C語言有三種基本程序結(jié)構(gòu)(語法)—順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。選擇結(jié)構(gòu)是對給定條件進行判斷,根據(jù)判斷結(jié)果決定執(zhí)行兩分支中的一個分支或多分支中的一個分支條件S1YN條件S1S2YNn2條件S1S2Sn…1
C語言的基本結(jié)構(gòu)C語言有三種基本程序結(jié)構(gòu)(語法)—順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。循環(huán)結(jié)構(gòu)是在給定條件成立的情況下,反復(fù)執(zhí)行某個程序段No
Yes條件循環(huán)體NoYes條件循環(huán)體目錄122C語句的概述C語句的概述C語言的基本結(jié)構(gòu)課前準備C語句的概述C程序的執(zhí)行部分是由語句組成的,程序的功能也是由執(zhí)行語句實現(xiàn)的表達式語句函數(shù)調(diào)用語句控制語句復(fù)合語句空語句C程序語句課前準備C語句的概述只有分號";"組成的,什么也不執(zhí)行的語句在程序中空語句可用來作空循環(huán)體空語句復(fù)合語句由“{”和“}”把一些變量說明和語句組合放在一起,即為復(fù)合語句,又稱為語句塊。在程序中復(fù)合語句在邏輯上是單條語句,而不是多條語句。課前準備C語句的概述在表達式后面加一個分號的語句即為表達式語句,其作用為計算表達式的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版圖書捐贈與接受合同示范文本3篇
- 2025版小學校園廣播系統(tǒng)及音響設(shè)備采購合同3篇
- 農(nóng)產(chǎn)品市場營銷策略與實施考核試卷
- 2025年分銷合同的市場需求
- 2025年借殼上市協(xié)議法律條款
- 2025年園林綠化設(shè)計施工居間合同
- 2025年室內(nèi)裝修工程勘察協(xié)議
- 2025年合作哲學書籍出版合同
- 2025年加盟美甲美睫連鎖店合同
- 二零二五年度木枋行業(yè)人才培訓與職業(yè)發(fā)展合同4篇
- 圖像識別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 個體戶店鋪租賃合同
- 禮盒業(yè)務(wù)銷售方案
- 二十屆三中全會精神學習試題及答案(100題)
- 【奧運會獎牌榜預(yù)測建模實證探析12000字(論文)】
- 土力學與地基基礎(chǔ)(課件)
- 主要負責人重大隱患帶隊檢查表
- 魯濱遜漂流記人物形象分析
- 危險廢物貯存?zhèn)}庫建設(shè)標準
- 多層工業(yè)廠房主體結(jié)構(gòu)施工方案鋼筋混凝土結(jié)構(gòu)
- 救生艇筏、救助艇基本知識課件
評論
0/150
提交評論