• 问题总会出现,不过解决问题的方法也会出现!!!

C语言基础学习笔记09

学习笔记 小雨 458次浏览 已收录 0个评论

—— ——-

2-循环结构介绍

  1. 循环结构概述

循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。

循环结构简单来说就是:循环是一次又一次的执行相同的代码

C语言提供了多种循环语句,可以组成各种不同形式的循环结构:

用goto语句和if语句构成循环;

用while语句;

用do-while语句;

用for语句;

  1. 构成循环结构的几个条件:

一般来说一个循环需要以下几部分构成:

  1. 循环控制条件

循环退出的主要依据,来控制循环倒地时什么时候退出

  1. 循环体

循环的过程中重复执行的代码段

  1. 能够让循环结束的语句(递增、递减、真、假等)

能够让循环条件为假的依据,否则退出循环

 

3-while循环介绍及基本格式

while循环格式:

if(条件){

}

while(条件){

语句1;

语句2;

}

while循环的使用方法:

  1. while循环的特点:

如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行

  1. while语句的语义是:

如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束就结束while循环

C语言基础学习笔记09

4-while循环使用陷阱

死循环:就是一直都执行循环体中的代码,不会退出

while(条件);

用while一定要有终止循环的条件或者方法

 

8-while循环使用注意

  1. 死循环:任何数值都有真假性

while(-1){

printf(“死循环n”);

}

  1. 当一个变量与一个常量进行==或!=的时候,通常把常量写在前面

int num=3;

while(3==num){

printf(“num=%dn”,num);

num++;

}

  1. while后如果只有一条语句它可以省略大括号
  2. 空语句它也是一条语句
  3. while小括号后面不可以直接写分号

int num=0;

while(num<3);{

printf(“num=%dn”,num);

num++;

}

  1. 作用域:内部代码块中定义的变量不可以在外边代码块中访问

while(1<3){

int a=0;

}

printf(”a=%d”,a);

  1. 作用域紊乱

while(1<3)

int num=5;

  1. 最简单死循环

while(1);

9-do…while循环介绍及语法格式

1、do…while循环介绍

do{

语句1;

语句2;

···

}while(条件);

直到型循环:先执行循环体,然后判断条件,直到条件为假就结束

C语言基础学习笔记09

  1. do…while语句用法
  2. do…while语句的语义是:

当执行到do-while循环时,首先会执行一遍循环体中的语句(“循环体”就是do后面大括号{}中的内容)。接着判断while中的条件,如果条件成体,就执行循环体中的语句。然后再次判断条件,重复上述过程,知道条件不成立就结束while循环

  1. do-while循环的特点:

不管while中的条件是否成立,循环体中的语句至少会被执行一遍

int i=0;

do{

i++;

}while(i<0);

10-do…while和while对比

while

是先判断再执行

例:

int i=10;

while(i<10){

System.err.println(i);

i++;

}

结果是什么都不打印,最终i的值为10

do-while

是先执行再判断

例:

int i=10;

do{

System.err.println(i);

i++;

}while(i<10);

打印的也是10,最终i=11

两者的区别在于第一圈循环时,while是先判断条件,再循环,所以第一个程序什么都不打印。而do-while则是先执行判断,所以,第二个程序先打印10,然后i++然后跳出循环。

11-for循环的语法格式

1、for循环的语法格式

C语言中的for语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句。

一般形式:

for(表达式1;表达式2;表达式3){语句;}

C语言基础学习笔记09

  1. for循环执行过程
  2. 先求解答表达式1
  3. 求解表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第(3)
  4. 求解表达式3
  5. 转回上面第(2)步骤继续执行。
  6. 循环结束,执行for语句下面的各个语句

12-for循环的其他形式

  1. 表达式省略(三个表达式都可以省略)

如:for(;;)语句相当于while(1)语句,即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止地执行循环体。

  1. 循环控制无关任意表达式

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

for(sum=0,i=1;i<=100;i++)sum=sum+i;

或for(i=0,j=100;i<=j;i++,j–)k=i+j;

表达式1和表达式3都是逗号表达式,各包含两个赋值表达式,即同时设两个初值,使两个变量增值。

在逗号表达式内按自左至右顺序求解,整个逗号表达式的值为其中最右边的表达式的值。如:

for(i=1;i<=100;i++,i++)sum=sum+i;

相当于:for(i=1;i<=100;i=i+2)sum=sum+i;

 

13-for循环的嵌套

嵌套循环在一般情况下,只有2层嵌套循环。不会超出3层。

C语言基础学习笔记09

C语言基础学习笔记09

 

17-break关键字及break语句

break和continue语句都可以用在循环中,用来跳出循环(结束循环);break语句还可以用在switch语句中,用来跳出switch语句。

  1. break语句用法

break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将执行完switch所有语句再退出。

当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与while语句联在一起,即满足条件时跳出循环。

注意:

//if(表达式)else{….break;……}

  1. break语句对if-else的条件语句不起作用;
  2. 在多层循环中,一个break语句只向外跳一层。

18-continue关键字及continue语句

  1. continue语句(结束本次循环,继续下次循环)用法

continue语句的作用是跳过循环体中剩余的语句而继续下一次。continue语句只用在for、while、do-while等循环体中,常与if条件语句一起使用,用来加速循环。

对比一下break和continue:

while的用法:

while(表达式1){

……..

if(表达式2)break;

……..

}

continue的用法:

while(表达式){

……….

if(表达式2)continue;

……….

}


本博客内容既有转载自网络的内容,也有本作者原创内容,仅供学习与交流之用
如有侵权或者错误之处,请及时在下方留言!
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址