紧接昨天内容,今天先学习循环结构中的do-while语句和for语句
do-while
语法:
do
{
循环体语句
}while(表达式);
语义:先执行语句,然后判断表达式,如果为真:继续执行语句,然后判断,重复这个过程,直到表达式判断为假,do-while语句结束。如果为假:do-while语句结束
流程图
注意:(1)while后面一定要加‘;’(2)do-while循环至少会被执行一次(3)while 与do-while逻辑顺序不同,while-先判断后执行,do-while-先执行后判断
for
语法:
for(表达式1;表达式2;表达式3)
{
循环体语句
}
语义:求解表达式1,判断表达式2,真:执行循环体语句,执行完之后,求解表达式3,之后继续判断表达式2,重复上述流程,直到表达式2为假,for循环结束
其中表达式1:循环变量赋初值——初始条件;表达式2:循环条件;表达式3:循环变量增值——使循环趋于结束的语句
流程图
对于while、do-while、for的选用
(1)for多用于有一定范围的情况,while、do-while多用于只有某个结束条件的
(2)for循环的三个表达式都可以省略,但是对应的循环要素不能省
break语句
break可以用在switch、while、do-while、for
作用:用在循环中表示跳出本层循环
continue语句
只用在循环中
作用:结束本次循环,继续下一次循环
数组
概念:一组相同类型的数据的结合,数组也是一种数据类型
应用场景:批量处理多个数据
语法:类型说明符 数组名[常量表达式]
(1)类型说明符:数据类型——整形:int/short/long/long long;浮点型:float/double/long double;字符型:char
(2)数组名:名字(标识符)
(3)[常量表达式]:[]表示数组类型,常量表达式指数组长度,代表数组元素的个数
eg:int a[10]; //表示定义了一个长度为10的int型数组
注:(1)在C99标准之后,数组长度可以是一个变量,但不能初始化(2)数组长度可以省略,但必须初始化,编译器要根据初始化的值来推算实际的长度
数组给值的方式
(1)全部初始化
int a[10]={1,2,3,4,5,6,7,8,9,10};
(2)部分初始化
int a[10]={1,2,3,4,5}; //未初始化部分会被初始化为0
(3)不初始化
int a[10];
数组元素的引用
语法:数组名[ ] //此时[ ]表示数组下标运算,下标指相对于数组名偏移了几个元素
数组越界:数组长度为n,却输出a[n+1],编译器不会提醒这个错误,需要程序员自己小心
数组特点:连续性——数组空间是一片连续的内空间;有序性——数组的元素挨个存放;单一性——数组的元素是同一类型