while () {}
int main ()
{
int i = 0,n = 0;
printf("Enter number of entries int table \n");
scanf_s("%d",&n);
i = 1;
while(i <= n)
{
printf("%-5d %5d => %5d",i,i,i*i);
i++;
}
return 0;
}
int main ()
{
int n = 0,sum = 0;
printf("Enter intergers :\n);
while(scanf_s("%d",&n),n != 0)
{
sum += n;
}
printf("The sum is:%d \n",sum);
return 0;
}
for( ; ; )
int main ()
{
for (int i = 0,i < 10,i++)
{
printf("%d",i); //i属于块内定义变量
}
printf("%d",i);//此时i不可用
return 0;
}
int main ()
{
int n = 10;
int i = 0;
for ( ;i < n;)
{
printf("%d",i);//表达式1,3可分别写在上下,若省略表达式2,则为死循环/无限循环
++i;
}
}
逗号表达式-----优先级最低
int main ()
{
int a = 1,b = 2,c = 3,d = 4;
int x = 0;
x = (a+b,b+c,c+d);//若去掉括号,x = a+b,b+c,c+d;输出x的值为3
printf("%d \n",x);//x的值为7
return 0;
}
for (int i = 0;i < n,i;++i,printf("%d",i))
因为存在逗号表达式,不会执行i < n,会执行i
eax,ebx,ecx,edx-----通用寄存器(存数据)
eip-----存代码段地址(地址寄存器)
esp-----栈地址寄存器
ebp-----栈帧地址寄存器
esi------源地址寄存器
edi------目的地地址寄存器
//从0向上加到n-1
for(i = 0,i < n;++i)
//从1向上加到n
for(i = 1;i <=n;++i)
//从n-1向下减到0
for(i = n-1;i >= 0;–i)
//从n向下减到1
for(i = n;i > 0;–i)
**break:**语句只能用在switch语句和循环语句,用来跳出switch语句或提前终止循环,转去执行switch语句或循环语句之后的语句,每次只能跳出一次循环。
**continue:**语句只能用在循环语句中,用来终止本次循环。当程序执行到continue语句时,将跳过其后未执行的循环体语句。开始下一次循环。下一次循环是否执行仍然取决于循环条件的判断。continue语句与break语句的区别在于,continue语句结束的只是本次循环,而break语句结束的时整个循环。
goto:语句和标号一起使用,所谓标号语句是用标识符标识的语句,它控制程序从goto语句所在的地方转移到标号语句处。设置标号时,只需在一个字符串后面加”:“即可。标号由字母,数字,下划线组成,以字母下划线开头。(不要让goto:语句轻易往上跳)
**return:**语句用于结束函数的执行,返回调用者,如果时主函数,则返回至操作系统(终止程序的执行)。return一旦执行,就从当前函数退出,若从主函数中执行return,则程序终止执行。exit(1);与return;在主函数中没有区别都是终止程序,但在其他函数中,exit(1)结束进程,而return是从当前函数退出