Home  >  Article  >  Backend Development  >  What are the statements that can be used to change the flow of a loop statement in C language?

What are the statements that can be used to change the flow of a loop statement in C language?

青灯夜游
青灯夜游Original
2021-01-30 18:14:143839browse

The statements that can be used to change the flow of a loop statement in C language are: break, continue and goto. The break statement can terminate the loop and execute the code behind the entire loop statement; the continue statement can skip the remaining statements in the loop body and force entry into the next loop.

What are the statements that can be used to change the flow of a loop statement in C language?

The operating environment of this tutorial: windows7 system, c99 version, Dell G3 computer.

break keyword

When the break keyword is used in while and for loops, the loop will be terminated and the code behind the entire loop statement will be executed. The break keyword is usually used together with the if statement to break out of the loop when the condition is met.

Use a while loop to calculate the value of 1 added to 100:

#include <stdio.h>
int main(){
    int i=1, sum=0;
    while(1){  //循环条件为死循环
        sum+=i;
        i++;
        if(i>100) break;
   }
    printf("%d\n", sum);
    return 0;
}

Running result:

5050

while loop condition is 1, which is an infinite loop. When the 100th loop is executed, the value of i after calculating i is 101. At this time, the condition of the if statement i> 100 is established, and the break; statement is executed to end the loop.

In a multi-level loop, a break statement only jumps one level outward. For example, output a 4*4 integer matrix:

#include <stdio.h>
int main(){
    int i=1, j;
    while(1){  // 外层循环
        j=1;
        while(1){  // 内层循环
            printf("%-4d", i*j);
            j++;
            if(j>4) break;  //跳出内层循环
        }
        printf("\n");
        i++;
        if(i>4) break;  // 跳出外层循环
    }
    return 0;
}

Operation result:

1   2   3   4
2   4   6   8
3   6   9   12
4   8   12  16

When j>4 is established, execute break; and jump out of the inner loop; the outer loop is still executed, Until i>4 is established, jump out of the outer loop. The inner loop is executed a total of 4 times, and the outer loop is executed once.

continue statement

The function of the continue statement is to skip the remaining statements in the loop body and force entry into the next loop. The continue statement is only used in while and for loops, and is often used together with the if conditional statement to determine whether the condition is true.

Let’s take a look at an example:

#include <stdio.h>
int main(){
    char c = 0;
    while(c!=&#39;\n&#39;){  //回车键结束循环
        c=getchar();
        if(c==&#39;4&#39; || c==&#39;5&#39;){  //按下的是数字键4或5
            continue;  //跳过当次循环,进入下次循环
        }
        putchar(c);
    }
    return 0;
}

Running result:

0123456789↙
01236789

When the program encounters while, the value of variable c is '\0', and the loop condition c!=' \n' is established and the first cycle starts. getchar() causes the program to pause execution, wait for user input, and does not start reading characters until the user presses the Enter key.

In this example, we input 0123456789. When 4 or 5 is read, the if condition c=='4'||c=='5' is established, and the continue statement is executed to end the current loop. , directly enter the next loop, which means putchar(c); will not be executed. When other numbers are read, the if condition does not hold, the continue statement will not be executed, and putchar(c); will output the read characters.

Comparison between break and continue: break is used to end all loops, and the loop statement no longer has a chance to be executed; continue is used to end the current loop and jump directly to the next loop, if the loop condition is true , and the cycle will continue.

goto statement

The goto statement in C language allows unconditional transfer of control to a marked statement within the same function.

Note: It is not recommended to use goto statement in any programming language. Because it makes the control flow of the program difficult to track, making the program difficult to understand and modify. Any program that uses goto statements can be rewritten in a way that does not require goto statements.

The syntax of the goto statement in C language:

goto label;
..
.
label: statement;

Here, label can be any plain text except C keywords, and it can be set before or after the goto statement in the C program .

What are the statements that can be used to change the flow of a loop statement in C language?

Flow chart

What are the statements that can be used to change the flow of a loop statement in C language?

Example:

#include <stdio.h>
 
int main ()
{
   /* 局部变量定义 */
   int a = 10;

   /* do 循环执行 */
   LOOP:do
   {
      if( a == 15)
      {
         /* 跳过迭代 */
         a = a + 1;
         goto LOOP;
      }
      printf("a 的值: %d\n", a);
      a++;
     
   }while( a < 20 );
 
   return 0;
}

When the above code is compiled and executed , it will produce the following results:

a 的值: 10
a 的值: 11
a 的值: 12
a 的值: 13
a 的值: 14
a 的值: 16
a 的值: 17
a 的值: 18
a 的值: 19

For more programming-related knowledge, please visit: Introduction to Programming! !

The above is the detailed content of What are the statements that can be used to change the flow of a loop statement in C language?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn