学习循环结构
一.while语句和do while语句
1.while语句
2.do while 语句
先执行后判断。注:这里while后面有一个分号
3.循环的基本结构
- 初始化计数器
- 循环条件
- 更新计数器
二.for语句
能够将循环的基本结构写为一个语句
注1:
注2:C99下允许在for循环中直接定义,如果有两个变量则输入逗号
for( int i=0 , j=10; i < j; i++, j--)
三. 循环的嵌套
分支结构决定哪些语句能被运行,循环结构决定语句能运行多少次,循环的运行时先内后外
例如:打印九九乘法表
//打印一个九九乘法表,正确方法
2 #include <stdio.h>
3 int main()
4 {
5 int i, j;
6 for(i=1; i <= 9;i++)
7 {
8 for(j=1; j <=i; j++)
9 {
10 printf("%d*%d=%-2d ",i,j,i*j);
11 //%-2d表明输出是两位字符的十进制,并且数字左对齐
12 }
13 putchar('\n');
14 //输出换行符时可以用putchar函数
15 }
16
17
18 return 0;
19 }
输出结果
四.break语句与continue语句
break 是跳出循环,如果循环为嵌套循环,一个break只能跳出一层循环
continue也只能跳出一层循环,但continue是跳出本轮循环,会继续执行一下一轮循环
注:for 语句与while语句在continue这里有些区别。
int i;
while(i<100)
{
if(i%2)
{
continue;
}
i++;
}
//此程序为死循环,因为当i=1时,1%2=1.则会实现continue,则会跳出本轮循环,而i++,这一语句也不再执行,因此一直循环
int i;
for (i=0; i < 100; i++)
{
if(i%2)
{
continue;
}
}
//这里虽然会执行continue,但是还是会执行i++
五.补充知识点
- 赋值运算符——=,其左边的必须为变量,不能为常量,否则会报错
- 复合运算符
- 自增自减运算符i++,i-- ,自增自减只能作用在变量而不能是常量或者表达式
注意:i++与++i是有区别的:
i++是指先使用 i的值,然后再加一;++i是指先加一,然后再使用值
- 逗号运算符
逗号运算符的语法:表达式去,表达式2,表达式3(逗号运算符的优先级非常低)
逗号表达式作为一个整体,它的值为最后一个表达式的值,从左到右执行
- 条件运算符:
- goto语句——跳转到某个标签(不要用,会造成逻辑混乱)
- 注释:(1)// (2)/* */