c语言无法跳出while语句,c语言while语句的用法 该循环永远不会结束

您所在的位置:网站首页 c语言while循环中的continue c语言无法跳出while语句,c语言while语句的用法 该循环永远不会结束

c语言无法跳出while语句,c语言while语句的用法 该循环永远不会结束

2023-03-28 03:29| 来源: 网络整理| 查看: 265

导读:说到语句,我们很多人都知道,有朋友问c语言中while的用法,另外,还有朋友想问c语言的while循环语句,这到底怎么回事呢?事实上c语言while的限制呢,今天小编整理了c语言while语句的用法,希望能帮到大家。

acfeb3562e1b54b3dfae8334775eefe2.png

c语言while语句的用法

C语言中while的用法解析如下:

一、1表示true,在bool类型取值false和true,0为false,非0为true(例如-1和2都是true)。程序中,这里1就表示永真,直到循环体内遇到break。

二、while用法演示解析:

1、含义:While 循环会在指定条件为真时循环执行代码块。

2、语法如下:(如果忘记增加条件中所用变量的值,该循环永远不会结束。该可能导致程序崩溃。)

bec62e83f0d3e355950571a7549e94fe.png

3、实例:

例中的循环将继续运行,只要变量 i 小于 5:

deeaef94d27e68a480537abeefcd4a61.png

4、执行结果如下:

db645f5eacd519e443cd8c72ec7f1668.png

比较 for 和 while循环:

for循环控制变量的初始化和修改都放在语句头部分,书写形式较简洁,且适用于循环次数已知的情况。在循环语句中定义一个局部变量,循环结束后,局部变量就被释放了。

而while循环控制变量的初始化一般放在while语句之前,循环控制变量的修改一般放在循环体中,形式上不如for语句简洁,但它比较适用于循环次数不易预知的情况(用某一条件控制循环)。

两种形式各有优点,但它们是等价的,可以相互转换。

没有 while do

只有 while语句和do while 语句

while( i < 10){

i++;

}

在i 小于10 之前一直在while里面循环

do{

i++;

}while(i < 10);

和上例一样

唯一一点不同的是:一个是先判断,再循环;一个是先循环再判断;如果上面2个例子,i的初始值都为10,第一个例子就不会执行while语句了,但是第二个却会执行一次.

c语言中while 、for、switch、case的用法?

1、while() for都是循环语句,使用格式:

while(条件表达式)

{ }

for(表达式1;表达式2;表达式3)

{

}

2、switch是多分支选择语句,case是switch语句中的一个关键字,用来判断从哪个位置开始执行语句。

格式:

switch(表达式)

{case 常量表达式: .....

case 常量表达式: .....

case 常量表达式: .....

default: ....

}

注意:switch语句结束的条件:碰到break语句,或执行到}

C语言的 while中怎么使用break

i=0;

while(i

for_statements ; //多条语句用{}括起来,单条语句可以不用,建议也使用,一:代码清楚,二:便于查错。 其它循环也是这样。

}

//说明:

//e1:变量初始化区,只执行一次

//e2:循环控制区,每次都要先检查e2表达式的结果是否为真,为真则进入循环区,否则,结束循环

//e3:循环变量变化区,每次执行完for_statements ;则转到这里,执行e3,然后转到e2

例:

int i;

for( i=0; i

while_statements ;    //包括循环控制变量 变化

}

//说明:

//e 循环控制条件,e为真则进入循环区,否则,结束循环  执行完while_statements ;后转到这里继续判断

例:

int i;

i=0;

while( i

do_while_statements ;    //包括循环控制变量 变化

} while(e); //注意尾部有分号

//说明:

//与while()不同的是,这里可以没有循环变量的初始化,先进行循环语句的操作,然后,再判断是否继续进行,所以,这种循环,至少要执行一次do_while_statements ;而前两种,有可能一次都不执行循环语句。

例:

int i;

do {

printf("input number " );

scanf("%d", &i ); //循环控制变量 变化

printf("%d\n", i );

} while ( i

int m=1;

int n=1;

double sum=1;

printf("   计算阶乘\n\n");

printf("请输入一个正整数:");

scanf("%d",&m);

if (m>1)

{

while(n

D;

}

等于

A;

while(B)

{

D;

C;

}

ABCD是各个位置的代码

有个问题是当D代码中有continue的话,后面的C代码可能不被执行,要注意

我能吐槽这个循环完全没用么?

b始终是0

C语言while

while(scanf("%d",&a))——只是语法正确,逻辑上有问题。因为scanf("%d",&a)在输入1个正确int型数据时返回1,而输入错误时返回-1,所以输入正确就执行一次循环,等待下一次输入;而输入错误时返回-1也是“真”,而且这个错误数据在输入缓冲区里不被接收,次次判断都是-1,因为形成了死循环。正确写法应该是while(scanf("%d",&a)==1),这样就只有输入正确时为“真”了,避免了输入错误返回-1时为“真”的现象,从而不再会有死循环了……

『青青星座网』原创文章,未经允许不得转载



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3