matlab和C语言的break及continue测试
break和continue语句
有两个附加语句可以控制while和for循环:break和continue语句。break语句可以中止循环的执行和跳到end后面的第一句执行,而continue只中止本次循环,然后返回循环的顶部。如果break语句在循环体中执行,那么循环体的执行中止,然后执行循环后的第一个可执行性语句。用在for循环中的break语句的例子如下:
程序执行的结果为:
% 功能: % 测试break,当ii=3时,break执行 % 更为重要的是: % break后,程序不仅仅调到第一个end后,而是跳出了循环体(for/while) % 这也就解释了,在C语言中,break也是使循环体停止,而不仅仅是跳出循环体中一个if{},继续 % 执行循环体 for ii =1:5; if ii ==3 break; end fprintf('ii = %d \n',ii); end disp('跳出循环');
>> test_break
>>ii = 1
>>ii = 2
>>跳出循环
注意break语句在ii为3时执行,然后执行disp('End of loop!');语句而不执行fprintf('ii = %d \n', ii);语句。
建一个C工程来验证:
#include <stdio.h> void main() { printf("建一个C工程来测试break是否跳出循环体\n"); int i=0; for(i=1;i<5;i++) { if (i==3) { break; } printf("i == %d\n",i); } printf("跳出循环体\n"); }
j结果:
continue语句只中止本次循环,然后返回循环的顶部。在for循环中的控制变量将会更新到下一个值,循环将会继续进行。下面是一个在for循环中的continue的例子。
%test_continue.m
% 执行循环体 for ii =1:5; if ii ==3 continue; end fprintf('ii = %d \n',ii); end disp('跳出循环');
程序运行的结果为;
ii = 1
ii = 2
ii = 4
ii = 5
跳出循环
注意continue语句在ii为3时执行,然后程序返回循环的顶部而不执行fprintf语句。break和continue语句可用在while循环和for循环中。
C语言版:
#include <stdio.h>
void main()
{
printf("建一个C工程来测试continue是否跳出循环体\n");
printf("continue只是不在执行后面内容,跳到了循环体的结尾处,进而进行下次循环\n");
int i=0;
for(i=1;i<5;i++)
{
if (i==3)
{
continue;
}
printf("i == %d\n",i);
}
printf("跳出循环体\n");
}
结果: