卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章64334本站已运行4115

for循环迭代的不同变体有哪些?

for循环迭代的不同变体有哪些?

for语句的一般形式如下 −

'
for (initialization; condition; operation)
statement;
  • 初始化是一个赋值语句,用于设置循环控制变量。

  • 条件是一个关系表达式,用于确定循环何时退出。

  • 操作定义了循环变量在每次循环重复时如何改变。

  • for循环中,条件测试在循环顶部执行。这意味着当条件为假时,循环内的代码可能不会被执行。

首先如下例所示:

'
x = 10;
for (y=10; y != x; ++y)
printf (“ %d”, y);

Variation 1

这包括逗号运算符。通过逗号运算符,可以实现for循环的变体,如下例所示 −

'
for(x=0, y=0; x+y < 10; ++x);

在这里,x和y都控制着循环。

Variation 2

这包括了循环定义中缺失的部分。for循环的一个有趣特点是循环定义的部分可以不必存在。

例如,

'
for (x=0; x!=456; )
scanf ("%d", &x);

在这里,每次循环重复时,x被测试以检查是否等于456。当输入456时,循环条件变为false并终止循环。

Variation 3

这包括无限循环。如果循环定义中的所有部分都缺失,则创建一个无限循环。break语句用于跳出循环,如下面的示例所示 −

'
for(;;){
   ch = getchar();
   if(ch == 'A')
      break;
}

Variation 4

这包括没有主体的for循环。for循环的主体也可以为空。这提高了一些代码的效率。

例如,

让我们从指向str的流中删除前导空格 −

'
for ( ; *str==' '; str++) ;

另一个循环的应用是一个空体的时间延迟,如下面给出的示例所示 −

'
for (t=0; t<1000; t++);
卓越飞翔博客
上一篇: 将以下内容翻译为中文:尽量减少移除非相邻相同字符的次数,以使给定的字符串变为空字符串
下一篇: 使用C++编写,找到和小于K的子数组的数量
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏