C语言初学者WEEK03
1.循环:
定义:某些代码会被重复执行
分类:
for(重点)
格式:for(1;2;3)
语句A;
执行流程:【for循环是编程语言中的一种常见循环语句,主要由初始化、条件判断和更新三部分组成。其基本语法结构为:for (表达式1; 表达式2; 表达式3) { 语句块 }。具体运行过程如下:
1.首先执行“表达式1”,此部分通常用于进行变量的初始化。
2.接着执行“表达式2”,如果表达式2的结果为真(非0),则执行循环体中的代码;否则,结束循环。
3.在循环体执行完毕后,会执行“表达式3”,这部分内容通常用于更新循环变量或其他操作。
4.重复执行步骤2和3,直到“表达式2”的结果为假,此时循环结束。
注:“表达式1”仅在for循环开始时执行一次,之后的循环中不会再执行。可以将“表达式1”视为一个初始化语句,而“表达式2”则是控制循环是否继续的条件,而“表达式3”则是每次循环后执行的操作。
另外,尽管for循环在某些方面与while循环有所不同,但它们的本质功能是相似的,只是在某些格式和使用细节上存在差异。】
图解:
while:
格式 while(表达式)
语句A;
与for的比较:for与 while可以相互转换,但for的逻辑性更强
for(1;2;3)
A;
equals to
1;
while(2)
{
A;
3;
}
do…while:该语句并不等价于for和while
格式 do
{
A;
} while(表达式)
while与do…while之间的区别:
1.循环条件的检查时间点不同:while循环结构先检查循环条件是否为真,如果为真则执行循环体;而do…while循环结构是先执行循环体中的语句,然后再检查循环条件是否为真。
2.循环结构的表达式形式不同:while循环结构的表达式为:while(表达式) {循环体};而do…while循环结构的表达式为:do {循环体;} while (条件表达)。
3.执行次数:由于do…while循环结构确保了循环体至少被执行一次,所以它比while循环结构更为特殊,因为在某些情况下,while循环可能一次都不执行。
break和continue:
break:
<1>若用于循坏是用来终止循坏
<2>若用于switch语句是用来终止switch
<3>不能直接用于if,除非if为循坏内部的一个子句
<4>在嵌套循坏中,break只能用于终止离它最近的循坏语句
continue:
用于跳过本次循坏剩下的语句,转而判断是否需要进行下次循坏
2.进制:
n进制:逢n进一
把n进制转换为十进制:即乘该位上的数的位次幂
把十进制转换为n进制:即连续不断除以n并取余
不同进制所代表的数值之间的关系:
十进制的3981转换为十六进制是F8D
十进制的3981和十六进制的F8D本质上为同一个数字,只不过是不同进制下的不同表现形式罢了
3.自增:
前自增(++i)
后自增 (i++)
相同点:最终都使i的值加1
不同点:前自增整体表达式的值为i加1之后的值
后自增整体表达式的值为i加1之前的值
【“i++”优先运算i,后运算i++(即i=i+1);“++i”优先运算i++(即i=i+1),后运算i】
例如:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,k,m;
i=j=3;
k=i++;
m=++j;
printf("i=%d,j=%d,k=%d,m=%d",i,j,k,m);
return 0;
}
运行结果:
i=4,j=4,k=3,m=4
4.三目运算符:
格式: A ? B : C
equals to
if (A)
B;
else
C;
5.逗号表达式:
(A , B , C , D)
功能:从左至右执行
最终表达式的值是最后一项的值(即为D的值)