[零基础学软件开发13]循环语句介绍goto


声明:我写这一系列文章在讲述过程中可能用了一些大白话,也可能有的地方墨迹了一些,但旨在把一些没有基础但很想学软件开发的一些人领进门来,另外该文章我同时也在百度经验发表。

让计算机打印输出50个星号

以我们现在的知识,第一种方法我们可以

printf("**************************************************");

第二中方法我们可以

printf("*");

printf("*");

......重复50次

我们看起来第一种方式简单一些,但如果是500000个星号呢?

第二种方法就是重复地执行printf("*");这行代码,如果我们学会了让让程序重复执行的命令那就简单多了,这节要学习的goto语句就是做这个用的,请看下面的代码:

int main()

{

    printf("一个循环语句的例子\n");

    mark:printf("*");

    goto mark;

    printf("hello\n");

}

我们在printf("*);这句的前面做了一个标记,给一句c代码做标记的方法是标记名加冒号的形式,标记名你可以随便起但要符合"字母数字下划线组成不能以数字开头"的规则,例如这里我就起了个mark作为标记名。

goto这个关键字你可以理解成跳转到的意思,那么程序的第三行goto mark;就可以翻译成跳转到标记为mark的地方执行。

我们分析下程序的执行过程:

执行printf("一个循环语句的例子\n");

标记第二行的开始位置位置,起名为mark。

执行printf("*");

跳转到mark位置。

执行printf("*);

跳转到mark位置。

执行printf("*);

跳转到mark位置。

执行printf("*);

......

这样就达到了重复执行printf("*);的目的,你可以运行下程序试试,你会发现程序一直在输出星号,实际上printf("hello\n");这句是得不到执行机会的,因为程序一直在重复执行printf("*);这句。

我们怎样才能控制重复执行的次数呢,这就需要我们用一个变量来计数,请看下面的例子:

 知识补充:

  int i=0;  相当于 int i; i=0; 两步操作,这是一种简写方式,注意这句话要写在前面因为c语言要求定义变量的语句要写在开头的位置。

  i=i+1; 把i的值取出来加1后再存回到i变量里,实现了i变量里的值增加1的运算

例子代码:

int main()

{

    int i=0;

    printf("一个循环语句的例子\n");

    mark:printf("*");

    i=i+1;//这个i变量就像一个能查数的人一样,每执行一次printf("*");i的值就加1

    if(i<10)//这样当i数到10的时候,if条件为假不执行goto,循环就结束了。

    {

    goto mark;

    }

    printf("hello\n");

}

上面的例子用了一个变量i和一个if判断达到了控制循环次数的目的。

这里重复执行的代码为

printf("*");

i=i+1;

if(i<10);

每重复执行一次i的值都不一样,所以if(i<10)才可能不成立,循环才能退出。

我们可以认为i是控制这个循环的变量,i<10是循环的条件,


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值