计算机科学类专升本复习之“C语言for循环中的三个表达式”(初稿)

时间:2025-01-19 14:13:13

//C语言for循环中的三个表达式

for 循环中的“表达式1(初始化条件)”、“表达式2(循环条件)”和“表达式3(自增或自减)”都是可选项,都可以省略(但分号;必须保留)。

//3个表达式可以同时省略
for( ; ; ); "√"  // 不需要空格,空格只是为了让大家能看得更加清晰

"for( ; ; )语句 相当于 while(1)  语句"

"表达式一:"
//举例: 修改咱们刚刚的 从1加到100的程序代码

  1. #include<>
  2. int main()
  3. {
  4.     int i=1,sum=0//注意,刚刚i是没用赋予初始值的,但是这边i赋予初始值为1
  5.     for(;i<=100;i++)
  6.     {
  7.         sum+=i;
  8.     }
  9.     printf("%d\n",sum);
  10.     return 0;
  11. }

//这么写也是对的噢!


"表达式2:"
//省略了“表达式2(循环条件)”,如果不做其它处理就会成为死循环。

  1. #include<>
  2. int main()
  3. {
  4.     int i,sum=0//注意,刚刚i是没用赋予初始值的,但是这边i赋予初始值为1
  5.     for(i=1; ;i++)      //本段程序 省略了“表达式2(循环条件)” 直接成死循环,因为他都不知道i被限制的条件是多少!!
  6.     {
  7.         sum+=i;
  8.     }
  9.     printf("%d\n",sum);
  10.     return 0;
  11. }

//相当于

  1. #include<>
  2. int main()  
  3. {
  4.     i=1;
  5.     while(1){
  6.         sum=sum+i;
  7.         i++;
  8.     }
  9. }

"这边说明一下死循环"
所谓死循环,就是循环条件永远成立,循环会一直进行下去,永不结束。
死循环对程序的危害很大,一定要避免。


"表达式3"
// 省略了“表达式3(自增或自减)”,就不会修改“表达式2(循环条件)”中的变量,
// 解决办法:   在循环体中加入修改变量的语句。

//原本程序段

  1. for( i=1; i<=100; ){  //第三个表达式被省略了
  2.     sum=sum+i;

//经过修改

  1. for( i=1; i<=100; ){  
  2.     sum=sum+i;
  3.     i++;//在循环体中加入修改变量的语句。



//省略了“表达式1(初始化语句)”和“表达式3(自增或自减)”

  1. for( ; i<=100 ; ){
  2.     sum=sum+i;
  3.     i++;
  4. }


//相当于
 

  1. while(i<=100){
  2.     sum=sum+i;
  3.     i++;
  4. }