第四章总结(下)

4.3循环结构程序设计

C语言提供以下几种循环语句:

1.goto语句和if语句;2.while语句;3.do-while语句;4.for语句

4.3.1goto语句

goto语句是无条件转移语句可使程序执行的顺序无条件地改变与BASIC语言中的goto相似。

goto语句中必须给出语句标号,语句标号可以是任何合法的标识符其命名规则与标识符相同。

在下述情况下可使用goto语句:

1.与if语句一起构成循环结构  2.从循环体中跳到循环体外

4.3.2while 语句

用于实现“当型”循环结构

while后面的表达可以是C语言中的任何表达式,一般是能够判断真假的条件表达式,作为循环条件,用于控制循环体是否执行while后面表达式的值决定了循环体是否执行,因此,进入whle循环后,一定要有能使次表达式的值变为0的操作,即有使循环趋于结束的语句,否则循环将会无限制的进行下去成为死循环。

若if后面条件表达式的值为非0,则if子句只执行一次,若while后面条件表达式的值为非0,则循环体中的语句将重复执行。

1.while语句中的表达式一般是关系表达式或逻辑表达式,只要表达式的值为真(非0),即可继续循环,while语句的特点是先判断式的值,然后执行循环体中的语句,因此,如果表达式的值一开始就为假,则循环体将一次也不执行。

2.循环体如果包括一个以上的语句,则必须用大括号括起来,组成复合语句,如果不加大括号,则while语句的范围只到while后面的第一个分号处。

3.应该注意循环条件的选择,以免造成死循环体,每执行一次循环体表达式的值都应该发生改变,这即可在表达式本身中实现,也可以在循环体中循环体中实现。

在循环体中进行累加运算时,必须必须要对变量n进行强制类型转换。即利用(float)n使其变为浮点型变量后再进行运算,否则由于n中存放的是大于1的整型量,1/n将按整形规则运算,其结果总是0。

4.3.3  do-while语句

do-while语句的特点是先执行循环体,然后判断循环条件是否成立,在do-while语句中,while语句后面有一个分号。

do-while语句的特点如下:

1.先执行语句A,再判断条件,确定是否需要循环,

2.从程序的执行过程中看,do-while循环属于“直到型”但在程序的执行和书写过程中,应注意do-while循环与“直到型”循环的区别。

4.3.4for语句

for语句是c语言提供的一种功能更强且使用更广泛且最为灵活的循环语句,它不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定,只给出循环结束条件的情况,它完全可以代替while语句,其一般格式为:for(表达式1,表达式2,表达式3)。for是C语言的关键字,其后的原括号中通常含有3个表达式,个表达式之间用“;”隔开,它们可以是任意形式表达式,主要用于控制for循环。

说明如下:

1.在for语句中,表达式1通常是用于给循环变量赋初值的,表达式2通常是用于对循环条件进行判断的;表达式3通常是用于对循环变量进行修改的。

2.表达式1可以省略,此时应在for语句前面给循环变量赋初值。注:省略表达式1时,后面的分号不能省略。

4.3.5循环的嵌套

一个循环体内又包含另一个完成的循环结构,称为循环的嵌套,使用循环嵌套时必须注意以下几点:

1.内循环必须完整的嵌套在外循环内,两者不允许相互交叉

2.并列的循环变量可以同名,但嵌套的循环变量不允许同名

3.3种循环变量可以同名,但不允许同名

4.选择循环和循环结构之间可以相互嵌套。但是二者不允许交叉

5.可以用break语句从内循环跳转到外循环,但是不允许从外循环跳转到内循环

4.3.6   break语句和continue语句

1.break语句;break语句还有一种常用方式。即在for  while 和do-while循环结构中,当需要循环在一定条件下提前终止时,可用该语句控制立即跳出循环结构。

注:只能在循环体内和switch语句体内使用break语句,当break 出现再循环体中的switch语句体内时,共作用只是跳出该switch语句体,当break出现在循环体中,并不在switch语句体内时,则作用是,跳出本循环。

2. continue语句 只能用于循环体中。

作用为:结束本次循环,即不再执行循环体中continue语句之后的语句,转入下一次循环条件的判定与执行。

:执行continue语句并没有使整个循环终止,只是结束本次的循环,并不跳出循环与break一样,continue语句也只是结束循环过程,不再判断执行循环的条件是否成立

4.3.7程序举例

程序分析:素数是指那些大于1且除1和其本身外,不能被其他任何数整除的数。

4.4编辑预处理

编译预处理是指在进行编译的第1变扫描前所在做的工作。

4.4.1宏定义

#define标识符字符串

只要是以“#”开头的均为预处理命令,define为宏定义命令,“标识符”为所定义的宏名,“字符串”可以是常数,表达式,格式串等。

问题:1.内嵌语句?2.宏定义怎么理解?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值