循环结构:昨天学习了循环结构中的while循环,今天继续学习剩下的两种do-while和for()循环。以及数组内容的学习。
1.do-while()循环:
语法:do{ 执行的语句; }while(表达式);
语义:do-while()循环的语义是先执行循环体中的语句,然后再判断表达式的结果。如果表达式的结果为真,则继续执行循环体中的语句,直到表达式的结果为假,然后结束循环进入下面的语句。
流程图:
与while的对比:
1.do-while中的语句至少执行一次。而while是先判断在执行。
2.两者的逻辑顺序不同。
注意:1.在do-while();在while后面要加分号!!!
2.在使用时注意初始条件的设定要与判断循环结束的条件相结合。如果逻辑不清晰,可以试着带入边界值来计算,以此来理清思路。
2. for循环
语法:for(表达式1;表达式2;表达式3){ }。
语义:表达式1是用于初值设定,表达式2是循环判断结束的条件,表达式3是使循环趋于结束的条件。执行顺序使为 s1:先执行表达式1,然后 s2:判断表达式2的结果是否为真。如果为真,则执行循环体中的语句,然后再执行 s3:执行表达式3的语句,然后继续执行s2中的操作,以此反复,直到不满足循环继续执行的条件,然后退出循环。
流程图:
对于循环结构的总结:
三种循环都可以实现循环的效果,其中while循环能实现的逻辑可用for循环可以代替,只有do-while循环特殊一些,它是先执行再判断。一般情况,for循环用于实现一些有范围的循环,而while 和do-while用于实现有特定结束条件的循环。
3 break和continue语句:
1.break语句:用于switch以及循环。在switch中表示跳出switch。在循环中表示结束本层循环。
2 continue语句:只在循环中使用。用于结束本次循环。
4 数组:
概念:具有相同数据类型的一组数据的集合。
语法:类型说明符 数组名[常量表达式 ]
1 类型说明符:整型,浮点型,字符型,数组型(数组本身也属于一种数据类型)
2 常量表达式: 1.常量表达式的结果代表数组的长度。
2. 在C99之后的标准中,常量表达式也可以是变量,但是不能对数组进行初始化。(原因是:如果对数组初始化,就代表此时的数组的大小为固定值,但是因为常量表达式可以为变量,所以应当是在知道变量的大小之后才能确定数组的大小,这样两者是矛盾的)
3 数组长度是可以省略的,但是必须初始化。
关于数组初始化:1.全部初始化 2.部分初始化 3不初始化
1 全部初始化:按照初始化数据给数组进行赋值。
2 部分初始化:未被赋值的部分全部默认赋值为0
3 不初始化:此时数组内的数据为随机值。
注意:要判断标识符是哪一种类型,只需要去掉标识符后,剩下的部分则为标识符的数据类型。
3.数组名:数组名的命名规则与之前提到的变量的命名规则一样。在这里,主要介绍变量名的两种意义:
1.值意义:数组名的值表示数组所在内存空间的内存首地址。
2 类型意义:数组名的类型为 int [].
4 数组中下标的含义:在数组中我们想要获得数组中某一个数据的值,需要用 数组名[下标]。数组的下标从零开始。下标的含义是指当前变量距离首地址的变量的偏移量。
5 数组的特性:
1 连续性:数组空间是一片连续空间
2 有序性: 数组元素是挨个存放的
3 单一性:数据类型是同一类型。