計(jì)算機(jī)計(jì)算機(jī)二級(jí)C語言_第1頁
計(jì)算機(jī)計(jì)算機(jī)二級(jí)C語言_第2頁
計(jì)算機(jī)計(jì)算機(jī)二級(jí)C語言_第3頁
計(jì)算機(jī)計(jì)算機(jī)二級(jí)C語言_第4頁
計(jì)算機(jī)計(jì)算機(jī)二級(jí)C語言_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第三講C程序流程設(shè)計(jì)

3.'語句概述

3.2程序的二種基術(shù)結(jié)構(gòu)

3.3詵擇型程序設(shè)計(jì)

3.4循環(huán)型程序設(shè)計(jì)

3.5輔助棒制語句

1

3.1C語句概述

?C語句:以“;”作分隔符,編譯后產(chǎn)生機(jī)器指令.

?C語句分類\\/

?表達(dá)式語句:表達(dá)式加分號(hào)構(gòu)成。

如total=total+limit;分支

a=3;

func();if()?else?

printf(uHello,world!\nv);switch

循環(huán)for()~

while(

ido~while()

continue

break

goto

輔助控制return

2

3.2程序的三種基本結(jié)構(gòu)

?結(jié)構(gòu)化程序設(shè)計(jì)

?基本思想:任何程序都可以用三種基本結(jié)構(gòu)表示,限制使用無條件轉(zhuǎn)移語

句(goto)

?結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)反復(fù)嵌套構(gòu)成的程序叫?

?優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率

?卻基本結(jié)構(gòu)\/\/

?順序結(jié)構(gòu)

5

3.3選擇型程序設(shè)計(jì)

?if語句(條件選擇語句)

?if語句的三種形式expr

_:\

“非。

?格式:if(expression)

\sta

enstatement

執(zhí)行過程:

Jk例:if(x>y)

printf("%d”,x);=0

expr

statement1;?*

elsestatementlstatement2

statement2;

?執(zhí)行過程:

例:if(x>y)max=x;

elsemax=y;

7

選擇型程序設(shè)計(jì)形式?形式三:if(exprl)statement1;

elseif(expr2)statement2;

elseif(expr3)statements;

?執(zhí)行過程

statementn_

例:if(salary>1000)index二金領(lǐng);

elseif(salary>800)index二白領(lǐng);

elseif(salary>600)index二粉領(lǐng);

elseif(salary>400)index二灰領(lǐng);

elseindex二藍(lán)領(lǐng);

statemnt1statemnt2statemnt3statemntn

?

8

?語句可以是復(fù)合語句

乂□:if(a二二Lx3八二二v)printf("a二b,x=y");

if⑶printf("OK");

iff)nrintff'a');

例考慮下面程序的輸出結(jié)果:

^include<stdio.h>

voidmain()

{intx,y;

scanf(“%d,%d“,&x,&y);

if(x>y)

x=y;y=x;

else

x++;y++;

printf(“%d,%d}n”,x,y)

9

s

t

^

z-

^

-F

-1E①g①

2sQIU

u①U①

①①心

Q戶

UuIP

①i①。nQ

(S

zI4cQd戶

』I①PSP

d2-*Q

xSS

。BCqQ

)u-

-t-s>①

Js(

I①z(

(Qj

z)dda

戶x

ds①x

x)①。①

。S)S

①(』fjI

sz①i。

R1d??I-

I8x

。

)①

S

JI

I①

JJ

IJ

留K

-、<0

-U(

Q(寸

一UzO

^B2u

UuS①

le①s

ses-Q

(o①

pI

Zq(q

aA

1J.mcAdp

sUq

dpB』Ss

xAsd

。SOx

?①Q(mào)o①

譚)

JS

冬jI

i(cdI。

E.q

一Ds

X一X

。。

))①

s

JJ

IIo

例輸入兩數(shù)并判斷其大小關(guān)系

#include<stdio.h>

voidmain()

{intx,y;

printf(''Enterintegerx,y:〃);

scanf(〃%d,%d",&x,&y);

if(x!=y)運(yùn)行:Enterintegerx,y:12,23^H

if(x>y)printf(,,X>Y\n,z);X<Y

elseprintf(,,X<Y\n,/);Enterintegerx,y:12,6|

elseX>Y

printf(〃X二二Y\n");Enterintegerx,y:12,12

X二二Y

11

ifelse配對(duì)原則:

①從最內(nèi)層開始,else總是與它上面最接近的(未曾配對(duì)的)if配對(duì)。/

②避免if與else配對(duì)錯(cuò)位的最佳辦法是加大括號(hào),同時(shí),為了便于閱讀,使用適當(dāng)?shù)目s進(jìn)。

(只有大括號(hào)能保證if和else不錯(cuò)位配對(duì),縮進(jìn)僅便于閱讀)。

(if(……)

rif(……)

Cif(……)

“l(fā)se….

blse……

else***...

12

實(shí)現(xiàn)if~else正確配對(duì)方法:加]{}

switch語句(開關(guān)分支語句)

?:?一般形式:

達(dá)式)

switcheEf:

語句組1;

break;

表達(dá)式IseE2:

2;

case語句組

1,break;

E1E2Endefault

iseEn:

語句組2n

語句組1語句組語句組語句組n;

break;

■■

lefault:

語句組;

break;]

?:?執(zhí)行過程:14

說明:

?El,E2,…En是常量表達(dá)式,且值必須互不相同

?語句標(biāo)號(hào)作用,必須用break跳出

?case后可包含多個(gè)可執(zhí)行語句,且不必加{}

?switch可嵌套

?多個(gè)case可共用一組執(zhí)行語句

如:……

case'A':

case'B':

case'C':

printf(uscore>60\n,>);

break;

例子(1)

例#include<stdio.h>

voidmain()

{intscore=5;

switch(score)

{case5:printf("Verygood!”);

case4printf(“Good!");

case3printf(“Pass!”);

case2printf(“Fail!”);

defaultprintf("dataerror!”);

運(yùn)行結(jié)果:score為5時(shí),輸出:

Verygood!Good!Pass!Fail!dataerror!

16

例子(2)根據(jù)輸入字母輸出字符串

/*ch4_5.c*/

#include<stdio.h>

voidmain()

{intc;

printf(''Entermornorhorother:");

c=getchar();

switch(c)

{case'm':printf(〃\nGoodmorning!\n,");break;

case'n':printf(〃\nGoodnight!\n〃);break;

case'h':printf(〃\nHello!\n〃);break;

default:printf(,,\n????????\n,/);break;

}

3.4循環(huán)型程序設(shè)計(jì)

?概述

C語言可實(shí)現(xiàn)循環(huán)的語句:

①用goto和if構(gòu)成循環(huán)

②while語句

③dowhile語句

④for語句

?goto語句及用goto構(gòu)成循環(huán)

?goto語句一般格式:

goto語句標(biāo)號(hào);

??????

標(biāo)號(hào):語句;

18

循環(huán)型程序設(shè)計(jì)(1)

?:?功能:無條件轉(zhuǎn)移語句

?:?說明:

,不能用整數(shù)作標(biāo)號(hào)

,只能出現(xiàn)在got。所在函數(shù)內(nèi),且唯

,只能加在可執(zhí)行語句前面

?限制使用goto語句

19

While語句特點(diǎn)和說明

?:?特點(diǎn):先判斷表達(dá)式,后執(zhí)行循環(huán)體

?:?說明:

?循環(huán)體有可能一次也不執(zhí)行

,循環(huán)體可為任意類型語句

?下列情況,退出while循環(huán)

?羊件表達(dá)式不成立(為零)

循環(huán)體內(nèi)遇break,return,goto

?無限循環(huán):while(l)

循環(huán)體;

21

100

例子用while循環(huán)求yn

#include<stdio.h>

voidmain()循環(huán)條件

{inti,sum=0;

i=l;

while(i<=100)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論