循环结构
使用循环结构的步骤一般分三步:
- 初始化循环条件,常见的手段是通过一个变量来控制循环,那么第一步就应该给这个变量赋初值。
- 编写循环结构要执行的操作,其中必须要有一步是改变循环条件,最终让循环条件不成立,比如增加变量使其超越临界值。
- 检查循环条件是否符合成立,以便在某个时该跳出循环。不能跳出的循环称为死循环,死循环会严重占用CPU 的时间片资源,除非有意为之,否则编程中应该尽量避免。
while 与do-while 循环
while(循环条件)
{
语句块;
}do
{
语句块;
}while(循环条件);
(后面有分号)- 循环正常结束的条件是,括号里面的计算结果为0(包括数值0,空间指针NULL,函数返回值为0)。
- do-while 循环与while 循环的区别是,do-while 的循环体语句至少会被执行一次,而while 循环的语句则有可能一次都不执行。
for 循环
for(表达式1;表达式2;表达式3)
{
语句块;
}在C99 标准中,可以在for 语句的三个表达式中定义并初始化变量。
for(int i = 0; i < 100; i++)
{
//语句块;
}
break 与continue
break
程序在遇到break 语句后,将自动跳出本循环,break 只能结束一层循环,多层的循环需要通过多个break 才可以完全跳出。
continue
continue 只用于结束本轮循环,如果循环条件符合,则循环还会继续下去。
goto 语句
使用goto 语句可以在程序中进行无条件地跳转。
goto 语句的格式如下:
…
语句标号:
…
goto 语句标号;
…任何一本关于C 语言的书上都会提到,使用goto 语句会破坏C 程序的结构,不主张使用goto 语句。
符号常量
- 可以通过#define 定义符号常量,方法如下:
#define 常量名称 值
- #define 后面不需要加分号,因为它是预编译指令,不是C 语言的语句。一般程序在正式编译之前,会由预处理器对源码进行预处理操作,操作的对象就是以#开头的预处理指令。
- 类似于#define 这样的指令执行的是宏替换操作。
转义字符
转义字符:用于表示无法输入的字符或不可见的字符。形式:“\”后面跟一个字符或数字。
-
- \n 换行,将当前位置移到下一行开头
- \t 横向跳格,横向跳到下一个输出区