当前位置:首页 > 网络技术 > linux while循环怎么写(linux脚本编写教程)

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

longge2022年03月24日 00:16:42网络技术16
  • return 语句

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

  int check_num(int num)
  {
    if ((num < 1) || (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 <= n; ++i)
        result = result * i;
    return result;
}

其中++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 <stdio.h>

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

  for (i=1; i<=9; i++)
  {
    for (j=1; j<=9; j++)
    {
      printf("%d\t", i*j);
    }

    printf("\n");
  }

  return 0;
}
  • 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做出错处理。

免责声明
本站部分资源来源于互联网 如有侵权 请联系站长删除
龙哥网是优质的互联网科技创业资源_行业项目分享_网络知识引流变现方法的平台为广大网友提供学习互联网相关知识_内容变现的方法。#转载请注明出处!

“linux while循环怎么写(linux脚本编写教程)” 的相关文章

js cancelAnimationFrame兼容低版本浏览器(支持IE9)

js cancelAnimationFrame兼容低版本浏览器(支持IE9)

与 requestAnimationFrame() 方法一样,javascript window对象的 cancelAnimationFrame() 方法同样不支持IE9及其它低版本浏览器,毕竟 c...

Linux CentOS zip unzip命令安装及参数详解

Linux CentOS zip unzip命令安装及参数详解

CentOS的zip、unzip命令分别用于压缩和解压zip文件。 安装命令 可以一起安装 yum install -y unzip zip 也可分别单独安装 yum ins...

jquery判断数组中是否存在指定的值的方法$.inArray()(判断数组中是否存在某值)

jquery判断数组中是否存在指定的值的方法$.inArray()(判断数组中是否存在某值)

$.inArray()方法用于在数组中搜索指定的值,并返回数组中该指定值的索引值,如果数组中不存在指定的值,则返回-1。 语法 $.inArray( value, array [, fro...

Flexslider轮播图插件支持HTML5视频播放代码

Flexslider轮播图插件支持HTML5视频播放代码

FlexSlider.js是款简单易用的轮播图jQuery插件,但没有提供支持HTML视频播放的参数(插件参数请参考《jquery幻灯片插件FlexSlider插件的详细设置参数》),如果直接使用h...

Sublime text3关闭更新检查提示

Sublime text3关闭更新检查提示

1、点击sublime窗口的Preferences -> Settings 2、在配置文件中修改update_check的值为false,如果没有该配置,则添加"update_check...

简约大气全屏背景壁纸蜗牛导航网站模板(背景图片大全 唯美 全屏高清)

简约大气全屏背景壁纸蜗牛导航网站模板(背景图片大全 唯美 全屏高清)

简约大气全屏背景壁纸蜗牛导航网站模板 带天气插件 无需数据库 非常好看、简约大气的导航网站,可以自由切换不同的搜索引擎进行内容查找,同时配置了一些常用的网站快捷使用 无环境要求,单纯使用htm...