精华内容
下载资源
问答
  • C/C++——C语言跳出多重循环方法

    千次阅读 多人点赞 2019-08-06 17:34:26
    c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法: 1. 使用goto for (int i = 0; i < MAX1; i++) { for (int j = 0; j < MAX2; j++) { ...

    c语言的break语句只能跳出离它最近的一层循环,但是我们有时候需要跳出多层循环,以下有几种跳出多重循环的方法:

     

    1. 使用goto

     

    for (int i = 0; i < MAX1; i++)
    {
        for (int j = 0; j < MAX2; j++)
        {
            if (condition)
            {
                symbol = 1;
                goto outloop;
            }
        }
    }
    outloop:
    //somecode

     

     

    2. 写成函数 return

    for ()
    {
        for ()
        {
            for ()
            {
                if(condition)
                {
                    symbol = 1;
                    return;
                }
            }
        }
    }
     

     

    3. 直接修改外层循环条件

     

    for(int i = 0; i < MAX1; i++)
    {
        for(int j = 0; j < MAX2; j++)
        {
            if(condition1)
            {
                symbol = 1;
                i = MAX1;
                break;
            }
        }
    }

     

     

    4. 在外层循环设置判断条件

    内层循环判断满足条件修改标志后 外层循环进行判断:

     

    for(;symbol != 1 && condition1;)
    {
        for(;symbol != 1 && condition2;)
        {
            for(;symbol != 1 && condition3;)
            {
                if(condition)
                {
                    symbol = 1;
                }
            }
        }
    }
    

    5. 在大循环后面判断标志加入break

     

    for(;condition1;)
    {
        for(;condition2;)
        {
            for(;condition3;)
            {
                if(condition)
                {
                    symbol = 1;
                }
            }
            if (symbol == 1){
                break;
            }
        }
        if(symbol == 1){
            break;
        }
    }

     

    展开全文
  • C语言跳出循环

    2018-03-06 17:29:00
    使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。 break关键字 在《C语言switch语句》一节中,我们讲到了break,用它来跳出 switch 语句。当 ...

    使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。

    break关键字

    在《C语言switch语句》一节中,我们讲到了break,用它来跳出 switch 语句。

    当 break 关键字用于 while、for 循环时,会终止循环而执行整个循环语句后面的代码。break 关键字通常和 if 语句一起使用,即满足条件时便跳出循环。

    使用 while 循环计算1加到100的值:

    1. #include <stdio.h>
    2. int main(){
    3. int i=1, sum=0;
    4. while(1){ //循环条件为死循环
    5. sum+=i;
    6. i++;
    7. if(i>100) break;
    8. }
    9. printf("%d\n", sum);
    10. return 0;
    11. }

    运行结果:
    5050

    while 循环条件为 1,是一个死循环。当执行到第100次循环的时候,计算完i++;后 i 的值为 101,此时 if 语句的条件 i> 100 成立,执行break;语句,结束循环。

    在多层循环中,一个 break 语句只向外跳一层。例如,输出一个4*4的整数矩阵:

    1. #include <stdio.h>
    2. int main(){
    3. int i=1, j;
    4. while(1){ // 外层循环
    5. j=1;
    6. while(1){ // 内层循环
    7. printf("%-4d", i*j);
    8. j++;
    9. if(j>4) break; //跳出内层循环
    10. }
    11. printf("\n");
    12. i++;
    13. if(i>4) break; // 跳出外层循环
    14. }
    15. return 0;
    16. }

    运行结果:

    1   2   3   4
    2   4   6   8
    3   6   9   12
    4   8   12  16

    当 j>4 成立时,执行break;,跳出内层循环;外层循环依然执行,直到 i>4 成立,跳出外层循环。内层循环共执行了4次,外层循环共执行了1次。

    continue语句

    continue 语句的作用是跳过循环体中剩余的语句而强制进入下一次循环。continue语句只用在 while、for 循环中,常与 if 条件语句一起使用,判断条件是否成立。

    来看一个例子:

    1. #include <stdio.h>
    2. int main(){
    3. char c = 0;
    4. while(c!='\n'){ //回车键结束循环
    5. c=getchar();
    6. if(c=='4' || c=='5'){ //按下的是数字键4或5
    7. continue; //跳过当次循环,进入下次循环
    8. }
    9. putchar(c);
    10. }
    11. return 0;
    12. }

    运行结果:
    0123456789↙
    01236789

    程序遇到while时,变量c的值为'\0',循环条件c!='\n'成立,开始第一次循环。getchar() 使程序暂停执行,等待用户输入,直到用户按下回车键才开始读取字符。

    本例我们输入的是 0123456789,当读取到4或5时,if 的条件c=='4'||c=='5'成立,就执行 continue 语句,结束当前循环,直接进入下一次循环,也就是说putchar(c);不会被执行到。而读取到其他数字时,if 的条件不成立,continue 语句不会被执行到,putchar(c);就会输出读取到的字符。

    break与continue的对比:break 用来结束所有循环,循环语句不再有执行的机会;continue 用来结束本次循环,直接跳到下一次循环,如果循环条件成立,还会继续循环。

    转载于:https://www.cnblogs.com/zhugeanran/p/8515608.html

    展开全文
  • c语言for循环

    2018-11-21 23:18:01
    C语言里面,循环语句有好多种,比如for语句,do...while,while。在我们的日常使用中,for语句是使用的最多的。而在for语句中,最应该注意的就是取值的问题。 1. for(a=1;a&lt;9;a++) 这只有一个for,...

    在C语言里面,循环语句有好多种,比如for语句,do...while,while。在我们的日常使用中,for语句是使用的最多的。而在for语句中,最应该注意的就是取值的问题。

    1.

    for(a=1;a<9;a++)

    这只有一个for,比较好理解。a=1,小于9,然后执行下面的循环体,执行完循环体之后再执行a++,注意是执行完循环体之后再执行a++。这样循环,直到a=9,跳出循环。

    2.

    下面说一下for循环的嵌套,在这里面取值的问题。这里拿九九乘法表来举例:

    #include<stdio.h>

    int main()

    {

    int i,j;

    for(i=1;i<=9;i++)

    {

    for(j=1;j<=i;j++)

    {

    printf("%d*%d=%d ",i,j,i*j);

    }

    printf("\n");

    }

    return 0;

    }

    第一个for,i=1,小于等于9,进入下一个for循环j=1,小于等于i=1,然后执行printf语句,打印出乘法。直到j<=i不符合时,执行第一个for里面的i++。

    然后i=2,小于等于9,进入嵌套的for语句,此时应注意,进入嵌套的for语句之前,j的值为2,进入嵌套的for语句之后,因为有j=1,所以j重新赋值,j又等于1.一直循环,直到j=3,不符合j<=i=2,跳出嵌套的for语句,然后在执行第一个for语句的i++。后面的循环就不在赘述了。应当注意的是,每次开始执行嵌套的for语句时,j都是1,然后循环。

    3.

    关于for语句的使用,还应当注意的是大括号的使用。例如:

    int i,j,sum=0;

    for(i=0;i<101;i++)

    {

    sum=sum+i;

    printf(“%5d”,sum);

    }

    在输出之后,你会得到101个数字,但是如果你没有用大括号把for循环里的两个语句括起来的话,最后打印出来的只有5050这一个数字,因为for语句的循环只执行到了“sum=sum+i”这个语句,没有执行printf语句。总的来说,不加大括号的话,for语句的循环只会循环跟在for语句后面的那一个语句。关于大括号的使用,在if语句里也是类似的道理。

    4.

    关于for语句分号的使用。for后面的括号里有三个表达式,但for语句的特点是,这三个表达式你都可以省略,但这没啥意义。

    但是,当你省略第一个表达式时,分号不能丢,如:

    i=1;

    for(;i<10;i++)

    这样写才是合法的。总之,括号里的表达式可以省,但分号不能省,如:

    i=1;

    for(;;)

    printf(“%d”,i);

    这样是合法的,但是这没啥意义。

    然后是for后面的括号的末尾不能加分号。

                                               

     

     

    展开全文
  • ![图片说明](https://img-ask.csdn.net/upload/201602/16/1455583971_78576.png)
  • for循环 在序列里,使用for循环遍历 语法: - for iterating_var in sequence: statement(s) 常用for循环for i in range(1, 11): print i 对序列做个遍历。 含有if条件的for循环for i in range(1, 11): if...

    if 条件

    if 语法

    - if expression

    statement(s)

    注意:python 使用缩进作为其语句的分组方法,建议使用4个空格

    if not 1 > 2 and 1 == 1:

    print 'hello python'

    print 'True'

    这个例子中,逻辑非的优先级比较高

    先执行:

    not 1 > 2

    在执行:

    1==1

    if 10 

    print 'hello python'

    print 'True'

    else:

    print 'ha'

    print 'main'

    这个例子中,print  'main' 这个条件是排除在 if 语句外的,无论如何都会输出。

    if 多个条件,例子如下:if 10 

    print 'hello python'

    print 'True'

    elif 'a':

    print 'a'

    else:

    print 'ha'

    print 'main'

    总结:

    if条件练习,成绩分类

    score = int(raw_input("Please a num: "))

    if score >= 90:

    print "A"

    print 'very good'

    elif score >= 80:

    print 'B'

    print 'good'

    elif score >= 70:

    print 'C'

    print 'pass'

    else:

    print 'D'

    print 'END'

    布尔值

    逻辑值(bool)包含了两个值:

    -True : 表示非空的量(比如:string、tuple、list、set、dictionary),所有非零数。

    -False :   表示0,None,空的量等。

    54ef229aa865856425b6bd1819d71341.png

    上栗中,用到了一个字符串的方法,yn.lower ,这个方法的作用把收到的字符串转为小写的。

    for序列

    循环

    循环是一个结构,导致程序要重复一定的次数。

    条件循环也是如此,当条件变为假,循环结束。

    for循环

    在序列里,使用for循环遍历

    语法:

    - for iterating_var  in  sequence:

    statement(s)

    常用for循环for i in range(1, 11):

    print i

    对序列做个遍历。

    含有if条件的for循环for i in range(1, 11):

    if i % 2 == 0:

    print i

    注意缩进

    列表的重写:

    几个栗子:print [i for i in range(1, 11)]

    print [i * 2 for i in range(1, 11)]

    print [i for i in range(1, 11) if i % 2 == 0]

    print [i ** 2 for i in range(1, 11)]for i in [i ** 2 for i in range(1, 11)]

    print i,

    在一行中打印出列表里的元素。

    用遍历的方式访问字典

    定义字典的方法:dic = {'a':1, 'b':2}

    dic.fromkeys('abcdefgh',100)

    创建字典

    4035951f0102a0fd586dd36e28b6bdec.png

    2.遍历字典的key和值

    1daae1776e9a6efdea4fb66172e2eb25.png

    3.格式化输出

    f7e21626d6b25538aa37d3abd8b70318.png

    4.items方法

    ed5e476381a0cf75a4dc92cb2f12df73.png

    5.iteritems 方法

    0ccf00fe2569daf2dd8d0bda09b6c0aa.png

    同range和xrange的区别一样,items和iteritems也累死,iteritems也返回的是对象,不占用内存,

    只有调用到的时候,才会占用单个的内存。

    6.乘法口诀for i in xrange(1,10):

    for j in xrange(1, i+1):

    print "%sx%s=%s" % (j, i, j*i)

    print

    i 控制行,j 控制列,末尾 print 表示打印换行符

    循环退出

    for循环也有else

    for 循环如果正常结束,才会执行else语句。

    举例:for i in xrange(10):

    print i

    else:

    print 'main end'

    else 后面的也会输出。

    1.如果不让语句执行完 ,break ,退出循环,继续执行程序,则else不会输出:for i in xrange(10):

    print i

    if i == 5:

    break

    else:

    print 'main end'

    有 break 没有正常结束,不输出最后的代码。

    2.continue 退出当前循环,继续后面的循环for i in xrange(10):

    if i == 3:

    continue

    if i == 5:

    break

    print i

    else:

    print 'main end'

    当 i 等于3 时候,循环内部,下面的语句不继续执行了,跳出当前,继续下一次循环

    3.pass  占位for i in xrange(10):

    if i == 3:

    countinue

    elif i == 5:

    break

    elif i == 6:

    pass

    print i

    else:

    print 'main end'

    4.彻底退出程序import sys

    import time

    for i in xrange(10):

    if i == 3:

    continue

    elif 1 == 5:

    continue

    elif i == 6:

    pass

    elif i == 7:

    sys.exit()

    print i

    else:

    print 'main end'

    print "hahahah"

    所有sys.exit()下的程序,都不会输出。

    random.randint() 随机数模块

    d0d46607301bc4ba324b3962b5c1ec5a.png

    while 循环

    while 和 for 循环的区别

    - for 循环用在有次数的循环上

    - while 循环用在有条件的控制上

    while 循环,直到表达式为假,才退出。

    while 循环,表达式是一个逻辑表达式,必须返回一个True或False。

    语法:

    while expression:

    statement(s)

    while循环里有break,也可以退出循环

    死循环:

    永远成立,永远不会退出的循环。while True:

    print 'hello'

    判断初始值n = 0

    while True:

    if n == 10:

    break

    print n, 'hello'

    n += 1

    执行10次就break了~

    读取键盘输入while True:

    print 'hello'

    x = raw_input("Please input something, q for quit:")

    if x == "q":

    break

    变量使用:x = ''

    while x != 'q':

    print 'hello'

    x = raw_input("Please input something, q for quit:")

    判断的使用x = ''

    while x != 'q':

    print 'hello'

    x = raw_input("Please input something, q for quit:")

    if not x :

    break

    当 x 为 非空的时候,就退出循环。

    while 也有elsex = ''

    while x != 'q':

    print 'hello'

    x = raw_input("Please input something, q for quit:")

    if not x :

    break

    else:

    print 'world'

    如果不是正常结束,就会执行else。

    continue 用法x = ''

    while x != 'q':

    print 'hello'

    x = raw_input("Please input something, q for quit:")

    if not x :

    break

    if x == 'quit':

    continue

    print 'continue'

    else:

    print 'world'

    展开全文
  • void MakeShortName(uint8 *str) { uint8 i = 0; uint8 ext[3]; memcpy(ext, &str[8], 3); for (; i ; i++) { if (str[i] == ' ') { break; //这里的break当满足条件
  • 的问题是有你想达到和你的方法是什么之间的不匹配。您试图确定该城市是否有效,如果是,请打印出一些数据。但是,你在做什么,而不是被检查,如果特定行有一个有效的城市,这导致对每次迭代正在执行的if声明;...
  • C语言跳出多重循环

    千次阅读 2013-11-06 20:04:54
    如何在C语言跳出多重循环? 如何在C语言跳出多重循环?——C足够强大,唯一限制你的就是思维 问题的提出:如何快速跳出多重循环,例如一个数组,如果要检查数组内有无相同的变量,如果有就置标志跳出。 ...
  • 以下面for循环举例: for(A; B; C) { D; } E; 执行顺序为: A -> B -> D -> C -> B -> D -> C -> B -> D … 若某个B语句返回值为0(或者不满足判断条件),则从该B语句开始, 执行 B ->...
  • C语言跳出循环(break,continue)

    千次阅读 2019-05-20 18:56:26
    使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。 break关键字 当 break 关键字用于 while、for 循环时,会终止循环而执行整个循环语句后面的...
  • 推荐如何在C语言跳出多重循环?——C足够强大,唯一限制你的就是思维 问题的提出:如何快速跳出多重循环,例如一个数组,如果要检查数组内有无相同的变量,如果有就置标志跳出。 #define MAX_SIZE 4 UINT i...
  • for(初始值赋值操作A;终止条件B;... 直到B条件不满足,则跳出循环体,这里需要着重强调的是:首次初始化之后,也一定要先执行一遍条件B语句。 转载于:https://www.cnblogs.com/jiayouwyhit/p/314790...
  • while语句的基本语法:  while(表达式){  循环体;  }  语义:  1.先判断表达式是否成立,如果成立,则跳转2,否则跳转3 ... 2.执行循环体,执行完毕跳转到1 ... 3.跳出循环循环结束  
  • for循环的嵌套实验题一:1、下面有关for循环的正确描述是: DA) for循环只能用于循环次数已经确定的情况B) for循环是先执行循环体语句,后判断表达式C) 在for循环中,不能用break语句跳出循环体D) for循环的循环体语句...
  • goto语句可以跳出循环.ppt... 主要内容 for循环 do循环 while循环 循环的中断 任务1 任务功能: 计算1~100之间的奇数和及偶数和 学习目的: 利用for循环解决简单问题; 程序代码 private void button1_Click(obj...
  • C语言——循环结构(for循环,while循环,do-while循环) 1.for循环 for循环的格式为: for(初始化;条件;调整) { 循环体; } eg: ``for(int i=1;i<=n;i++) 初始化:int i=1;//初始时将1赋值给i,即i=1。 ...
  • 04 C语言基础-循环语句while/do…while/for while /************************** 1+2+...+99+100 **************************/ #include "stdio.h" int main() { int a=1,sum=0; while(a<=100) { sum=...
  • 直接跳出for循环,由此可以看出,for循环执行顺序,应该是先执行n++,这时候n为10,再执行n,所以跳出。 后来我 又思考了一下,如果是这么执行的话,n==0无法在for块内发挥作用了。但是经过调试,n==0时,在for内容块...
  • int main() ...= 100 条件,如果条件为真,执行{}语句,如果条件为假,跳出for() 3、执行{}语句,sum +=i; 4、执行完{}语句后,执行++i 5、重复 2、3、4步骤 6、重复 2、3、4步骤 7、重复 2、3...
  • c语言中while循环

    千次阅读 2019-04-29 15:11:35
    条件测试是在每个循环开始的时候就进入测试,并且这是包含第一个周期的,如果测试第一次的时候就为假,那就不会执行for循环语句里面的东西的。 对条件的测试只在一个循环周期内开始进行;如果碰巧条件值在循环体内...
  • 三大循环for while 和 do{ }while; 四大跳转 : 无条件跳转语句 go to; 跳出循环语句 break; 继续跳出循环语句 continue; 返回值语句 return 判断语句 if,if else,if else if else if…else ifelse 组合 if(0 == x...
  • For循环 一、while循环 1、形式: while (表达式) // { //语句 } 表达式 每一次循环都要判定表达式的值 如果为真(表达式的值为1)执行循环 否则不再执行循环 为假的时候不循环(跳出循环),执行后面的代码。 ...
  • #include /* 找出10000-99999满足万位,千位,百位,十位,个位之和等于万位,千位,百位,十位,个位的乘积的数 */ int main(void) ... for (i1=1;i1;i1++) //i1*10000 for (i2=1;i2;i2++) //i2*1000 f
  • 1.for循环介绍 语法:for(表达式1;表达式2;表达式3) { 循环体; } 语义: 第一步:先执行表达式1,再跳转到表达式2 第二步:判断表达式2是否为...第五步:跳出循环,for循环结束 2、for循环的其他格式: 表达式1、表
  • 使用while或for循环时,如果想提前结束循环(在不满足结束条件的情况下结束循环),可以使用break或continue关键字。 break关键字 break,用它来跳出 switch 语句。 当 break 关键字用于 while、for 循环时,会终止...

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 312
精华内容 124
关键字:

c语言跳出for循环

c语言 订阅