c语言入门读书笔记,零基础自学C语言 | 学习笔记(10)

今天学习学习第五章循环结构程序设计,时间有点来不及了,所以更笔记会有点跟不上,因为笔记是我的一个复习过程,所以在考试之前都要把书看完,不知道有没有一起要考的这个亲,二级C考试之前,肯定要把书先过一遍,整理读书笔记,只是我自己的一个记忆巩固和知识整理的过程。所以大家互相鼓励,同时希望有考二级C的伙伴能一起共享复习资料和练习。。

循环结构程序设计

来由:循环结构是为了解决需要重复选择的问题。

循环结构包括:while 语句、for语句以及do…while语句。

while 语句

一般形式:while(表达式)语句……//语句就是循环体,也就是复合语句。

即:只要循环条件为真(条件表达式的值为1),就执行循环体语句

特点:先判断条件表达式,后执行循环体语句。

如:求1~100的数的和的程序。#inculde

int main(){

int i,sum;               /*定义变量i和相加的和为sum */

i=1;sum=0;            /*给i和sum分别赋初值,否则它们的值是不可预测的,结果不正确 */

while(i<=100)        /*当i大于100时退出循环*/

{

sum+=i;                 /*sum=sum*/

i++;                      /*i+1后再循环,这个语句有使循环趋于结束*/

}

printf("sum=%d\n",sum);

return 0;}

注:

1、循环体中如果包含一个以上的语句,应该用花括号括起来,作为复合语句出现,如果不括,则while语句的范围只到其后面第1个分号处。

2、不要忽略给变量赋初值,否则它们的值是不可预测的,结果肯定是不正确的

3、在循环体中应有使循环趋于结束的语句。

思考:求使s=1+2+3+..+n大于1000时n的值。

提示,可参考上面例题,在其中加上if语句。。if(sum>1000) break;

while语句还有另一种形式。

do……while 语句

一般形式:do

语句

while(表达式);

这里最重要的一点是,这里while( 表达式)后面一定要加上分号。

它的执行过程:先无条件执行循环体,然后再检查条件是否成立,若成立再执行,这是和while语句不同的。

/*用do……while语句  求1~100的数的和的程序*/#include

int main(){

int i=1,sum=0;

do{

sum+=i;

i++;}

while(i<=1000);                            /*这里括号后面一定要加分号*/

printf("sum=%d,i=%d\n",sum,i);

return 0;

}

用for语句实现循环

其特点:更灵活,不仅可以用于已知的循环次数,也可以是未知的循环次数,其完全可以替代while语句。

一般形式:for(表达式1;表达式2;表达式3)   语句。

表达式1:设置初始条件,只执行一次,可以为零,一个或多个变量设置初值。

表达式2:循环条件表达式,用来判断是否继续循环,在每次循环体前先执行此表达式。

表达式3:作为循环的调整,在执行完循环体后才进行的。

简单的记忆方式:for(循环变量赋初值;循环条件;循环变量增值)   语句

例:for(i=1;i<=100;i++)        sum+=i;

for语句是可以和while语句相互转换的。

for语句一般形式:for(表达式1;表达式2;表达式3)   语句。

改写成while语句的一般形式为:

while(表达式2){

语句

表达式3}                  /*二者是无条件等价*/

注意:

1、for(;i<=100;i++),for语句的表达式1可以省略,但分号不能省略。同时必须在for语句之前加上表达式1。

2、表达式2也可以省略,意思就是这个循环体恒为真(非零)就会一直执行下去。

3、表达式3也可以省略,但我们必须设置一个条件让其能正常结束。表达式3也可以放在语句里面。

4、表达式1和表达式3都没有,如果不在其他地方加上的话,程序是无法运行的。三个表达式都没有的话,在其他加上他们的话,也不影响,否则就执行不了。

5、表达式1可以是设置成循环变量初值的赋值表达式,也可以是循环变量无关的其他表达式。

如:for(sum=0;i<=100;i++) sum+=i;但一定要保证循环能正常运行。

6、表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一人以上的简单表达式,中间用逗号间隔。

如:for(sum=0,i=1;i<=100;i++,i--) sum+=i;但一定要保证循环能正常运行。

7、表达式2一般都是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式。只是其值为1(非零),就执行循环体。

8、C99允许在for语句的表达式1中定义变量并赋初值。

循环的嵌套

定义:一个循环体内又包含了另一个完整的循环结构,就是循环的嵌套。

三种循环语句(while语句、do……while 语句、for语句)是可以互相嵌套的。

循环语句嵌套的一般形式

改变循环执行的状态

用break语句提前终止循环

在用switch语句的时候就已经用过break语句了,

一般形式:break;

break语句只能用于循环语句和switch语句中,而不能单独作用。

用continue语句提前结束本次循环

有时不想终止整个循环,但只希望提前结束本次循环,而接着执行下个循环,可以用continue语句

/*要求输出100~200之间不能3整除的数。*/int n;

for(n=100;n<=200;n++)

{

if(n%3==0)

continue;

printf(" %d",n);

}

printf("\n");

循环结构我一直在找内容来让我理解它,我现在自己都还有一点懵,现在也只是有点简单的理解,所以没有基础,特别是数学差或者逻辑思维差的,真的熟练应用要很难,特别是循环的嵌套,多层嵌套绕的头晕,希望大家可以互相留言说大家对循环的理解,这个东西我发现就是死记硬背不行,不理解就不会用了。

你可能感兴趣的:(c语言入门读书笔记)