黑马程序员---C基础4【循环结构】【while循环】【do···while】【for循环】【break关键字】【continue关键字】

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

【循环结构】

1、循环结构介绍:

    循环就是一次又一次的执行相同的代码块

2、构成循环结构的几个条件:

 循环控制条件;

循环体:代码块

 能够让循环结束的语句(递增,递减,真,假);退出循环

【while循环】

1、while循环的格式

    当型循环,当条件满足的时候,再执行循环体;

    while(条件表达式)

    {

      语句1;

      语句2

      ······

    }

    xxx

    如果表达式为真执行代码块,为假则结束;

    如果条件一开始为假则不会执行;

2、while循环的陷阱

    死循环:就是一直执行循环体代码不会退出;

    while(条件);

    #include <stdlib.h>

    Arc4random_uniform(n-m+1)+m;n到m之间的随机数;

3、使用注意;

    死循环:任何数值都真假性;

    while(1);

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

    while后如果只有一条语句可以省略大括号;

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

    作用域素乱

【do···while】

1、格式:

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

do{

语句1

语句2

·····

} while(条件);

2、用法:

先执行一次循环体,然后判断条件,再次执行循环体;

不管条件是否成立,循环体都会执行一次;

3、do···while和while的对比:

while先判断再执行;

Do···while先执行一次再判断;


条件为真


条件为假


While


N


0


Do··while


N


1

【for循环】

1、for循环语法格式:

    不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,可以完全替代while。

2、一般格式

    for(表达式1;表达式2;表达式3){

        循环体;

    }  

 1 int main(int argc, const char * argv[]) {
 2     // insert code here...
 3     // 构成循环有三个条件
 4     // 控制条件 i<10;
 5     // 循环体   printf("love%d\n",i+1);
 6     // 能够让控制条件为假的操作 i++;
 7     for (int i=0; i<10; i++) {
 8         printf("love%d\n",i+1);
 9     }
10     printf("Hello, World!\n");
11     return 0;
12 }

    1)、先给循环变量初始化int i=0;

    2)、判断条件 i<10;

    3)、执行循环体 printf("love%d\n",i+1);

    4)、执行控制条件 i++;

    5)、接着循环执行2判断条件,循环执行;

    注意初始化语句只会执行一次,

    当条件不满足时候,循环结束;

3、for循环的其他格式:

    表达式省略(三个表达式可以省略)

    初始化语句可以写在外面,省略表达式1;

    控制条件可以省略表达式3;

    可以省略表达式2;判断语句,用if代替

    ;封号千万不能省略!

4、for循环的嵌套:

1  for(;;){
2
3     for(;;){
4
5     }
6
7   } 

【break关键字】

1、break语句用法:

可以用在循环中,表示跳出循环,循环结束,可以用在switch里面,结束语句,后面的不执行;

如果没有break则会有case穿透;

在多层循环中,break只是向外跳出一层循环,外层任然执行;

【continue关键字】

1、continue语句:

    结束本次循环,继续下次循环

    只是用在for,while等循环中,常与if一起用,用来加速循环;

 

时间: 2024-10-13 14:51:41

黑马程序员---C基础4【循环结构】【while循环】【do···while】【for循环】【break关键字】【continue关键字】的相关文章

黑马程序员---C基础12【结构体数组】【结构体指针】【结构体嵌套】【作为函数参数】【枚举类型】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [结构体数组] 1.结构体数组: 结构体数组的每一个元素都是具有相同结构类型的下标结构变量:(可以表示一个群体,一个班学生档案) 2.结构数组定义: 定义格式: struct    结构名{ 成员列表: }数组名[数组长度]: 1 1)定义结构体的同时定义数组: 2 3 struct stu{ 4 5 int num; 6 7 char name[10]; 8 9 int age; 10 11

黑马程序员——Java基础工具类---Collections、Arrays、超级for循环、静态导入、方法可变参数

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- Collections 一.概述 Collections是对集合框架的一个工具类.它里边的方法都是静态的,不需要创建对象.并未封装特有数据. 在Collections工具类中大部分方法是用于对List集合进行操作的,如比较,二分查找,随机

黑马程序员——Java基础知识之多线程协同

多线程协同 线程间的通讯:对资源的操作动作不同,比如说两个卡车一个拉煤一个装煤,但是他们共享了一个资源. 怎么样把这个资源拿出来?怎样把车装满?这个资源当然是一个类,他里面的组成元素就是对象!!现在我们就要有操作对象的思想了,用对象把这车装满,现在一车装一个对象. 等待唤醒机制: 用的不是sleep是wait.flag标记,这是两人沟通的方式.其实每个标记就要做一次等待或者notify,判断wait,改值notify.线程池.notify唤醒里面的线程,按顺序唤醒.wait和notify必须用在

黑马程序员_JAVA 基础加强学习笔记

一.面向对象 (一)继承  1.继承的好处: (1) 提高了代码的复用性. (2) 让类与类之间产生了关系,提供了另一个特征多态的前提. 注意: 子类中所有的构造函数都会默认访问父类中的空参数的构造函数,因为每一个子类构造内第一行都有默认的语句super();  如果父类中没有空参数的构造函数,那么子类的构造函数内,必须通过super语句指定要访问的父类中的构造函数. 如果子类构造函数中用this来指定调用子类自己的构造函数,那么被调用的构造函数也一样会访问父类中的构造函数. 2.final特点

黑马程序员——Java基础---集合框架工具类

黑马程序员——Java基础<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java为操作Set.List和Map提供了一系列工具类,主要有Collections和Arrays.这两个工具类的特点:类中的方法都是静态的,不需要创建对象,直接使用类名调用即可.Collections:是集合对象

黑马程序员_Java基础加强(上)

1.静态导入 静态导入是jdk1.5版本以后出现的新特性,一般是指导入静态方法,如:import static java.lang.System.out 是指导入系统输出的静态方法. 例: import static java.lang.System.out //导入java.lang包下的System类的静态方法out public class StaticImport { public static void main(String[] args) { int x=1; x++; out.p

黑马程序员——java基础——集合(Collection)

 黑马程序员--java基础--集合(Collection) ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 集合框架的构成及分类,如下图: 1.为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式. 2.数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的:集合长度是可变的.数组中可以存储基本数据类型,集合只能存储对象. 3.

黑马程序员--java基础学习笔记5

黑马程序员--java基础学习笔记6 一.笔记内容概述: 数组-第二种定义格式.数组-常见操作-遍历-最值-选择排序-冒泡排序-排序位置置换代码提取.数组-排序的性能问题.数组-常见功能-查找-折半查找.进制转换-查表法-整合. 二.常用内容介绍: 1.数组初始化的三种方式: int[] arr = new int[3]; int[] arr = new int[]{1,2,3}; int[] arr = {1,2,3}; 2.查表法: 如果数据中出现了对应关系,而且对应关系的一方是有序的数字编

黑马程序员——Java基础---io(上)

黑马程序员——Java基础---io(上) ------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------ 一.概述 Java I/O系统负责处理程序的输入和输出,I/O类库位于java.io包中,它对各种常见的输入流和输出流进行了抽象.如果数据流中最小的数据单元是字节,那么称这种流为字节流:如果数据流

黑马程序员——集合基础知识(Collection)

集合基础知识 数组:长度固定,可存基本数据和对象. 集合:只能放对象,不固定.容器也有共性,不断抽取成一个体系,集合框架.参阅顶层创建底层.顶层是collection.collection里有两个常见的接口,List和Set.常见集合有Arraylist,linkedlist,vector,hashSet TreeSet.为什么会出现这么多的容器呢,因为每一个容器对数据的存储方式都有不一样,.这个存储方式称之为数据结构!!因为他们的特点不一样 list因为有脚标存储和删除的效率很低,Set的效率