首页 理论教育 程序流程控制,计算机知识复习指导

程序流程控制,计算机知识复习指导

时间:2023-11-17 理论教育 版权反馈
【摘要】:在循环体中需要修改控制循环条件的值,使循环进行若干次后,表达式的值为假,从而退出循环;否则造成死循环。可使程序提前跳出循环体,转而执行循环体后面的语句。A.a>=10 or a<=0 B.a>=0 |a<=10C.a>=10&&a<=0 D.a>=10 | |a<=03.有以下程序段,执行该程序段后,k 的值是( )。

程序流程控制,计算机知识复习指导

1.if 语句一般形式

if(表达式)语句1

else 语句2

语义:如果表达式的条件为真则执行语句1,否则执行语句2。

在if 语句的一般形式中,else 子句为可选的,既可以有,也可以没有。语句1 和语句2 可以是一个简单的语句,也可以是一个复合的语句,还可以是另一个if 语句(在一个if 语句中又包括另一个或多个内嵌的if 语句)。

2.if 语句的嵌套

嵌套的if 语句可能又是if-else 型的,这会出现多个if 和多个else 重叠的情况,这时C 语言规定,else 总是与它前面最近的if 配对。

if-else 必须是一个整体,else 子句不能作为语句单独使用,它必须是if 语句的一部分,与if配对使用。

3.switch 语句

switch 语句又称为开关语句,其一般形式为:

语义:先计算表达式的值,然后依次与每个case 中的常量表达式值相比较,一旦发现某个能够匹配的值(与常量表达式的值相等),就可执行case 后面所有的语句组,直到遇到break 语句(或switch 语句结束)为止。如果表达式的值与所有case 后的常量表达式均不匹配,那么执行default 后的语句。

case 后的每一个常量表达式的值必须互不相同,不能是变量或变量表达式。

4.while 语句

while 语句是一种先判断后执行的循环语句。它的一般形式为:

while(表达式)

循环体语句

语义:先计算表达式的值并判断,若值真时,执行循环体语句;然后再重复这种先计算并判断,后执行的过程,直到表达式的值为假,则跳出循环,接着执行循环后面的语句。

在循环体中需要修改控制循环条件的值,使循环进行若干次后,表达式的值为假,从而退出循环;否则造成死循环。

例如,用while 实现语句求1+2+3+…+100。

5.do-while 语句

一般形式为:

语义:先执行一次循环体语句,然后判断表达式,当表达式为真时,再执行循环体语句,

如此反复,直到表达式的值等于0 则跳出循环。

例如,用do-while 实现语句求1+2+3+…+100。

与while 循环的不同在于:它执行循环中的语句,然后再判断表达式是否为真,若为真则继续循环;若为假,则终止循环。因此,do-while 循环至少要执行一次循环语句。

6.for 语句

其一般形式为:

语义:

①先执行表达式1。

②判断表达式2 的值,若为真则执行循环体语句,再转入第③步;若为假则跳出循环。

③执行表达式3。

④转入到第②步继续下一次循环。

其中,3 个表达式必须用分号隔开,作用是:表达式1 用于变量赋初值,只执行一次;表达式2 是循环的控制条件,决定是否继续执行;表达式3 是循环控制变量的修改部分。(www.xing528.com)

例如,for 语句实现1 加到100。

注意:①for 一般形式写成while 语句结构:

②表达式1、表达式2 和表达式3 都可以省略,但分号不可省略。省略表达式1 则可以在循环之前给循环变量赋初值;省略表达式2,默认为循环条件始终为真;省略表达式3,则不对循环控制变量进行操作,这时可以把表达式3 加入循环体中。

7.break 语句

break 语句可以跳出switch 语句,其实还可以跳出循环语句。可使程序提前跳出循环体,转而执行循环体后面的语句。break 一般与if 语句配套使用,即满足条件则提前跳出所在这一层循环体。

8.continue 语句

continue 语句提前结束本次循环,接着执行下一次循环。break 与continue 语句的区别:前者是结束整个循环流程,转到循环外面了;而后者是结束本次循环,还要接着执行下一次循环。

9.循环的嵌套

循环嵌套结构中,内循环语句是外循环体中的一条语句,外循环必须“完全包含”内循环。外循环执行一步,内循环执行一圈。

例如:

选择题

1.设int x=1,y=1;表达式(! x | |y--)的值是( )。

A.0 B.1 C.2 D.-1

2.能正确表示逻辑关系:“a≥10 或a≤0”的C 语言表达式是( )。

A.a>=10 or a<=0 B.a>=0 |a<=10

C.a>=10&&a<=0 D.a>=10 | |a<=0

3.有以下程序段,执行该程序段后,k 的值是( )。

int k=0,a=1,b=2,c=3; k=a>c? c:b;

A.3 B.2 C.1 D.0

4.与“y=(x>0? 1:x<0? -1:0);”的功能相同的if 语句是( )。

A.if(x>0)y=1;   B.if(x);

lse if(x<0)y=-1;  if(x>0)y=1;

else y=0;     else if(x<0)y=-1

C.y=-1      D.y=0;

if(x)         if(x>=0);

if(x>0)y=1;     if(x>0)y=1;

else if(x==0),y=0; else y=-1;else y=-1;

5.设有程序段:

intk=4; while(k=0)k=k-1;

则下面描述中正确的是( )。

A.whle 循环执行4 次 B.循环体语句一次也不执行

C.循环是无限循环 D.循环体语句执行一次

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈