goto语句也称作无条件转移语句,其一般格式为goto语句标号:其中语句标号是按照标识符规定书写的符号,放在某一行语句行的前面,标号后加冒号(:)。
break在 do-while for while 循环语句中 可使程序终止循环 执行循环后面的语句 常与if语句连在一起使用。break 对if-else语句无用 多层循环中break只能向外跳出一层。
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
1、goto语句
goto语句也称作无条件转移语句,其一般格式为goto语句标号:其中语句标号是按照标识符规定书写的符号,放在某一行语句行的前面,标号后加冒号(:)。
goto语句放语义是改变程序流向,转去执行语句标号所标识的语句,其通常与条件语句配合使用,可用来实现条件转移,构成循环,跳出循环体等功能。
一般不主张使用goto语句 容易造成程序流程的混乱,容易出错。goto与汇编里面的jmp指令相同。
2、break
大多数情况下是终止上一层的循环,C语言中break在switch中执行一条case后跳出语句的作用,使程序跳出switch执行switch以后的语句。如果没有break switch会从满足条件的地方执行到switch结构结束。
break在 do-while for while 循环语句中 可使程序终止循环 执行循环后面的语句 常与if语句连在一起使用。break 对if-else语句无用 多层循环中break只能向外跳出一层。
扩展资料
实例——
#include
#include
#define pi 3.14
int main()
{
int a,b;
S1: printf("请输入密码:");
scanf("%d",&a);
a=b;
if(a>b){
printf("密码错误");
goto S1;
}
else{
printf("密码正确");
usleep(10000);
return void;//*这段报错了*/
usleep(10000);
printf("*********");
}
int main(viod)
int c=3;
float r;
printf("请输入圆的半径:");
scanf("%f",&r);
printf("圆的半径为:%.f\n",r);
printf("正在努力计算中:%d\n",c--);
usleep (100000);
printf("正在努力计算中:%d\n",c--);
usleep (100000);
printf("正在努力计算中:%d\n",c--);
usleep (100000);
printf("面积=%.f\n",pi*r*r);
printf("周长=%.f\n",2*pi*r);
return 0;
}
答:
确实如此,如果楼主用Break语句,就会跳出case循环。最好是用continue语句,只结束当前if语句,而不跳出整个循环。
请看两者区别:
while(判断式)
{
if(判断式) Break;
}
//跳出while,结束循环
while(判断式)
{
if(判断式)
continue;
}
//结束本次循环,继续进入while里进行下一个循环。
if除了自身的判断条件没有跳出关键字
if(x<0)当满足x<0是酒自己跳出了
你也可以用goto 语句强制转移
if从句里面不能用break,跳出if从句的关键是看if后面的条件是否为真。