1. 介绍
在C语言中,continue
语句是一种控制语句,可用于跳过循环中的部分代码而继续执行下一次循环。该语句可用于for
、while
和do-while
循环中。
2. continue
语句的语法
下面是continue
语句的语法:
continue;
continue
语句可以出现在任何循环语句中,包括for
、while
和do-while
循环中。它的作用是跳过当前循环中剩余的代码,并开始下一次循环。
3. continue
语句的作用
3.1 在for
循环中使用continue
在for
循环中使用continue
语句,可以跳过循环中的某些代码而继续执行下一次循环。例如,如果我们要在一个数组中查找所有的偶数,可以使用continue
语句来跳过奇数的判断:
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
int i;
for(i=0;i<10;i++){
if(arr[i]%2 != 0){
continue; //跳过奇数,执行下一次循环
}
printf("%d ",arr[i]);
}
上述代码将输出如下结果:
2 4 6 8 10
由于我们在循环中使用了continue
语句,所以只有当arr[i]
为偶数时才会执行printf
语句,从而跳过了奇数的判断。
3.2 在while
循环中使用continue
在while
循环中使用continue
语句同样可以跳过循环中的部分代码而继续执行下一次循环。例如,我们要统计一个字符串中所有字符的出现次数,但是要跳过空格这个字符:
char str[] = "hello world";
int i=0,a=0,e=0,i1=0,o=0,u=0,space=0;
while(str[i] != '\0'){
if(str[i] == ' '){ //跳过空格
i++;
continue;
}
if(str[i] == 'a' || str[i] == 'A'){
a++;
}else if(str[i] == 'e' || str[i] == 'E'){
e++;
}else if(str[i] == 'i' || str[i] == 'I'){
i1++;
}else if(str[i] == 'o' || str[i] == 'O'){
o++;
}else if(str[i] == 'u' || str[i] == 'U'){
u++;
}
i++;
}
printf("a=%d,e=%d,i=%d,o=%d,u=%d,space=%d",a,e,i1,o,u,space);
上述代码将输出如下结果:
a=0,e=1,i=0,o=2,u=1,space=1
可以看到,由于我们在while
循环中使用了continue
语句,所以空格字符的出现次数并未被统计。
3.3 在do-while
循环中使用continue
在do-while
循环中使用continue
语句同样可以跳过循环中的部分代码而继续执行下一次循环。例如,我们要计算1到10的所有奇数的平方和,可以使用以下代码:
int i=1,sum=0;
do{
if(i%2 == 0){ //跳过偶数
continue;
}
sum += i*i;
i++;
}while(i<=10);
printf("sum=%d",sum);
上述代码将输出如下结果:
sum=165
可以看到,由于我们在do-while
循环中使用了continue
语句,所以只有当i
为奇数时才会计算平方和,从而跳过了偶数的计算。
4. continue
语句的注意事项
在使用continue
语句时,需要注意以下几点:
4.1 continue
语句只能用于循环语句中
continue
语句只能出现在循环语句中,如for
、while
和do-while
循环。如果在其它语句中使用continue
,编译器会报错。
4.2 判断条件要正确
continue
语句的作用是跳过某些代码而继续执行下一次循环,因此在使用continue
语句时需要谨慎。特别是要注意判断条件的正确性,否则可能会导致死循环或其它错误。
4.3 慎用continue
虽然continue
语句在某些情况下可以使代码更简洁、更清晰,但是过多地使用continue
语句也会令代码难以理解、难以维护。因此,在使用continue
语句时要根据具体情况来判断,避免滥用。
5. 总结
continue
语句是一种控制语句,在C语言中主要用于跳过循环中的某些代码而继续执行下一次循环。该语句可用于for
、while
和do-while
循环中,可以使代码更简洁、更清晰。但是过多地使用continue
语句也会令代码难以理解、难以维护,需要根据具体情况来判断。在使用continue
语句时,需要注意判断条件的正确性。