linux while循环怎么写(linux脚本编写教程)

  • return 语句

return 语句的作用是提供整个函数的返回值,并结束当前函数返回到调用它的地方。在没有返回值的函数中也可以使用return 语句。例如当检查到一个错误时提前结束当前函数的执行并返回:

  int check_num(int num)
  {
    if ((num  12))
    {
      printf("invalid number!n");
    }

    return num;
  }

函数返回一个值相当于定义一个和返回值类型相同的临时变量并用return 后面的表达式进行初始化。

  • while 语句

和 if 语句类似,while 语句由一个控制表达式和一个子语句组成,子语句可以是由若干条语句组成的语句块。

语句 ==> while(控制表达式)语句

如果控制表达式的值是真,子语句就被执行,然后再次测试控制表达式的值,如果还是真,就把子语句再执行一遍,再测试控制表达式的值,这种控制流程称为循环(Loop), 子语句称为循环体。如果某次测试控制表达式的值为假,就跳出循环执行后面的return 语句,如果第一次测试控制表达式的值就是假,那么直接调到return语句,循环体一次都不执行。

  • do/while 语句

do/while 语句的语法是:

语句 ==> do语句while (控制表达式);

while 语句先测试控制表达式的值再执行循环体,而do/while 语句先执行循环体再测试控制表达式的值。如果控制表达式的值一开始就是假,while语句的循环体一次都不执行,而do/while语句的循环体仍然要执行一次再跳出循环。

  • for 语句

for 语句的语法是:

for (控制表达式1;控制表达式2; 控制表达式3) 语句

int factorial(int n)
{
    int result = 1;
    int i;
    for(i = 1; i 

其中++i 这个表达式相当于i = i + 1, ++ 称为前缀自增运算符,– 称为前缀自减运算符,–i相当于i = i – 1。

++ 和 — 运算符 也可以用在变量后面,例如i++和i–, 为了和前缀运算符区别,这两个运算符称为后缀自增运算符和后缀自减运算符。

  • break 语句和continue语句

break 语句的一种用法是用来跳出switch语句块,这个语句也可以用来跳出循环体。continue 语句也会终止当前循环,和break语句不同的是,continue语句终止当前循环后又回到循环体的开头准备执行下一次循环。对于while循环和do/while循环,执行continue语句之后测试控制表达式,如果值为真则继续执行下一次循环;对于for 循环,执行continue语句之后首先计算控制表达式3,然后测试控制表达式2,如果值为真则继续执行下一次循环。

#include 

int main(void)
{
  int i = 0;
  int j = 0;

  for (i=1; i
  • goto 语句

如果在一个嵌套循环中遇到某个错误条件需要立即跳出最外层循环做出错处理,就可以使用goto 语句。

for (...)
    for (...) {
        ...
        if (error)
            goto ERROR;
    }
ERROR:
    handle error;

这里的ERROR: 叫做标号,任何语句前面都可以加若干个标号,每个标号的命名也要遵循标识符的命名规则。

goto 只能跳转到同一个函数中的某个标号处,而不能跳到别的函数。

和标号有关的语法规则如下:

语句 ==> 标识符: 语句

语句 ==> case 常量表达式: 语句

语句 ==> default: 语句

C 标准库函数setjmp和longjmp 配合起来可以实现函数间的跳转,但只能从被调用的函数跳回到它的直接或间接调用者(同时从栈空间弹出一个或多个栈帧),而不能从一个函数跳转到另一个和它毫不相干的函数中。setjmp/longjmp函数主要也是用于出错处理,比如函数A调用函数B,函数B调用函数C,如果在C中出现某个错误条件,使得函数B和C继续执行下去都没有意义了,可以利用setjmp/longjmp机制快速返回到函数A做出错处理。

秒鲨号所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈!本站将在三个工作日内改正。
(0)

大家都在看

  • 履约担保函属于什么担保(履约担保的三种形式)

    01 一、 履约保函的定义 是指担保人(银行、保险公司、担保公司)应供货方或劳务承包方的请求而向买方或业主方作出的一种关于合同履约保证承诺。承包商不履行合同的,业主可要求担保人在保…

    2022年5月25日
  • 好贷款的平台有那些(哪个平台好申请贷款)

    移动支付、互联网信贷、消费金融已经融入了现代人的生活,当我们急需用钱,或者需要分期付款时,就可以选择一些靠谱的贷款。那么,哪些贷款是靠谱的呢?下面就为大家盘点一下。 1、蚂蚁借呗 …

    2022年6月14日
  • 直播预告文案(汽车直播预告文案)

    这份完整版内容,在文末领取 需要的时候,拿出来看看,提高效率,多一个思路和方向!!! 如果你需要这份资料学习和使用。 领取方式只需完成:“转发+关注”然后私信我,私信留言:666,…

    2022年5月29日 投稿
  • 基金定投怎么取消(定投没钱会影响征信吗)

    基金定投是一种对理财小白及理财老手都适用的基金投资方式。由于基金定投操作起来比较简单,同时也不需要有太多的经验,因此成为了很多刚入基金市场的投资者的首选投资方式。不过,很多人在做基…

    2022年3月24日
  • 腊八蒜怎么腌制又绿又好吃(九州醉餐饮网)

    马上就到腊八节了,自然少不了腌制腊八蒜的环节,对于北方人来说,腊八节很隆重,在我们这就有“小孩小孩你别馋,过了腊八就是年”的说法,腊八节就像一层“幕布”,过了腊八,也就拉开了春节的…

    2022年6月18日 投稿
  • gf厂与zf厂积家月相大师哪个更好?主要看这几个特征

    我不会花言巧语,一向实事求是。在我这里我可以确保物超所值,诚信与你 ▼更多详情添加微:52226813 gf厂与zf厂积家月相大师究竟哪个好?首先,最早做积家月相的大厂是VF厂,机…

    2022年7月4日 投稿
  • netty客户端发送数据并接收返回值(netty获取数据结束)

    简介 我们知道由两种数据的传输方式,分别是字符流和字节流,字符流的意思是传输的对象就是字符串,格式已经被设置好了,发送方和接收方按照特定的格式去读取就行了,而字节流是指将数据作为最…

    2022年2月20日
  • 理财平台排行榜(银行理财平台排行榜)

    1、中国理财网 这个网站看名头就很靠谱啦。是经中国银行业监督管理委员会批准建立的全国银行业理财产品信息披露门户网站。通过理财新闻、理财产品、统计分析、法律法规、理财研究、投资者教育…

    2022年6月8日 投稿
  • vivox9参数详细(vivo参数和配置)

    产品:X9(全网通)vivo手机 1vivoX9搭载2000万前置双摄 中关村在线消息:就在今天vivo官微曝光vivo X9将会使用索尼独家定制的IMX376 2000万像素前置…

    2022年1月17日
  • 电脑怎么截图(怎么截图快捷键)

    关注职场办公,分享实用干货,洞察科技资讯,这里是「职场科技范」。 相信很多人电脑截图,都还在用微信QQ截图,其实这样截出来图片画质都被压缩了,非常模糊,今天就来教你6个电脑截图的方…

    2022年6月17日 投稿
品牌推广 在线咨询
返回顶部