当前位置:网站首页>C language circular statement
C language circular statement
2022-07-06 03:28:00 【Don't be confused afterwards】
Catalog
One 、 Type of cycle
C The language provides the following types of loops .
Type of cycle | describe |
---|---|
while loop | When a given condition is true , Repeat a statement or group of statements . It tests the condition before executing the loop body . |
for loop | Execute a sequence of statements multiple times , Simplify the code for managing loop variables . |
do...while loop | Except that it tests the condition at the end of the loop body , Others and while Statements like . |
Nested loop | You can go to while、for or do..while Use one or more loops within the loop . |
for Loop compiler error
Some compilers will report errors when running the above statements , as follows :
[Error] 'for' loop initial declarations are only allowed in C99 or C11 mode
intend “ Do not allow the for Internally defined variables ”.
Change it to :
int a=10;
for(; a<20; a=a+1){
}
Then it can run .
If you are using Dev C++ The above problems occur , You can find tools directly above the editor --> Compilation options --> The generated code / Optimize --> Code generation --> Language standard ISO C99 Then click below to save .
do...while loop
Unlike for and while loop , They test the loop conditions at the loop head . stay C In language ,do...while A loop is to check its condition at the end of the loop .do...while Circulation and while Circulation similar , however do...while The loop will ensure that At least once loop .
grammar
do
{
statement(s);
}while( condition );
example
// example
#include <stdio.h>
int main ()
{
/* Definition of local variables */
int a = 10;
/* do Loop execution , Execute at least once before the condition is tested */
do
{
printf("a Value : %d\n", a);
a = a + 1;
}while( a < 20 );
return 0;
}
When the above code is compiled and executed , It will produce the following results :
a Value : 10
a Value : 11
a Value : 12
a Value : 13
a Value : 14
a Value : 15
a Value : 16
a Value : 17
a Value : 18
a Value : 19
C Nesting in languages do...while The syntax of circular statements :
do
{
statement(s);
do
{
statement(s);
... ... ...
}while (condition2);
... ... ...
}while (condition1
example
//do-while Nested instances
#include <stdio.h>
int main()
{
int i=1,j;
do
{
j=1;
do
{
printf("*");
j++;
}while(j <= i);
i++;
printf("\n");
}while(i <= 5);
return 0;
}
When the above code is compiled and executed , It will produce the following results :
*
**
***
****
*****
Two 、 Loop control statement
Loop control statements change the execution order of the code . It can realize the jump of code .C The following loop control statements are provided .
Control statement | describe |
---|---|
break sentence | End loop or switch sentence , The program flow will continue to execute immediately following the loop or switch The next sentence of . |
continue sentence | Tell a loop body to stop this iteration immediately , Restart the next iteration of the loop . |
goto sentence | Transfer control to the marked statement . however It is not recommended to use goto sentence . |
break sentence
C In language break Statement has the following two uses :
- When break When a statement appears in a loop , The loop ends immediately , And the program flow continues to execute the next statement that follows the loop .
- It can be used to terminate switch One of the sentences case.
If you are using nested loops ( That is, one loop embeds another ),break Statement will stop executing the innermost loop , Then start executing the next line of code after the block .
grammar
break;
example
// example
#include <stdio.h>
int main ()
{
/* Definition of local variables */
int a = 10;
/* while Loop execution */
while( a < 20 )
{
printf("a Value : %d\n", a);
a++;
if( a > 15)
{
/* Use break Statement to terminate the loop */
break;
}
}
return 0;
}
When the above code is compiled and executed , It will produce the following results :
a Value : 10
a Value : 11
a Value : 12
a Value : 13
a Value : 14
a Value : 15
continue sentence
C In language continue It's a little bit like that break sentence . But it's not a mandatory termination ,continue Code in the current loop will be skipped , Force to start the next cycle .
about for loop ,continue After the statement is executed, the auto increment statement will still execute . about while and do...while loop ,continue Statement to re execute the conditional judgment statement .
grammar
continue;
example
// example
#include <stdio.h>
int main ()
{
/* Definition of local variables */
int a = 10;
/* do Loop execution */
do
{
if( a == 15)
{
/* Skip iteration */
a = a + 1;
continue;
}
printf("a Value : %d\n", a);
a++;
}while( a < 20 );
return 0;
}
When the above code is compiled and executed , It will produce the following results :
a Value : 10
a Value : 11
a Value : 12
a Value : 13
a Value : 14
a Value : 16
a Value : 17
a Value : 18
a Value : 19
3、 ... and 、 Infinite loop
If the conditions are never false , Then the loop will become an infinite loop .for Loop can be used to realize infinite loop in traditional sense . Because none of the three expressions that make up the loop is necessary , You can leave some conditional expressions blank to form an infinite loop .
// example
#include <stdio.h>
int main ()
{
for( ; ; )
{
printf(" The cycle will go on forever !\n");
}
return 0;
}
When the conditional expression does not exist , It is assumed to be true . You can also set an initial value and an incremental expression , But in general ,C Programmers tend to use for(;;) Structure to represent an infinite loop .
Be careful : You can press Ctrl + C Key to terminate an infinite loop .
边栏推荐
- [padding] an error is reported in the prediction after loading the model weight attributeerror: 'model' object has no attribute '_ place‘
- How to choose PLC and MCU?
- How to do function test well
- Polymorphic day02
- MADDPG的pythorch实现——(1)OpenAI MADDPG环境配置
- ESBuild & SWC浅谈: 新一代构建工具
- 多态day02
- SAP ALV单元格级别设置颜色
- 【RISC-V】外部中断
- 2. GPIO related operations
猜你喜欢
给新人工程师组员的建议
记录一下逆向任务管理器的过程
Record the process of reverse task manager
1.16 - check code
2.1 rtthread pin设备详解
教你用Pytorch搭建一个自己的简单的BP神经网络( 以iris数据集为例 )
The real machine cannot access the shooting range of the virtual machine, and the real machine cannot Ping the virtual machine
JS music online playback plug-in vsplayaudio js
Redo file corruption repair
1、工程新建
随机推荐
Recommended foreign websites for programmers to learn
【Rust 笔记】18-宏
Performance analysis of user login TPS low and CPU full
Princeton University, Peking University & UIUC | offline reinforcement learning with realizability and single strategy concentration
Analyze menu analysis
js凡客banner轮播图js特效
Remote Sensing Image Super-resolution and Object Detection: Benchmark and State of the Art
How to choose PLC and MCU?
Edcircles: a real time circle detector with a false detection control translation
[Li Kou] the second set of the 280 Li Kou weekly match
Cross origin cross domain request
The solution of permission denied (750 permissions should be used with caution)
Four logs of MySQL server layer
给新人工程师组员的建议
Redis cache breakdown, cache penetration, cache avalanche
Item 10: Prefer scoped enums to unscoped enums.
3.1 detailed explanation of rtthread serial port device (V1)
Audio audiorecord binder communication mechanism
Safety science to | travel, you must read a guide
Distributed service framework dobbo