精华内容
下载资源
问答
  • while条件判断

    千次阅读 2013-02-20 11:45:22
    string text_word; while (cin >> text_word) vec.push_back(text_word); 判断条件是cin>>value ...while条件测试输入操作符的返回结果。意味着测试cin。 当我们使用istream对象作为条件,
    	string text_word;
    	while (cin >> text_word)
    		vec.push_back(text_word);

    判断条件是cin>>value

     它具有从标准输入读取下一个数并且将读入的值保存在value中的效果。输入操作符返回其左操作数。

    while条件测试输入操作符的返回结果。意味着测试cin。

    当我们使用istream对象作为条件,结果是测试流的状态。如果是有效的(也就是说,如果读入下一个输入时可能的)那么测试成功。遇到文件结束符或遇到无效输入时,如读取了一个不是整数的值,则istream对象是无效的。处于无效状态的istream对象将导致条件失败。

    在遇到文件结束符(或一些其他错误输入)之前,测试会成功并且执行while循环体。

    文件结束符:

    windows: ctrl+z

    unix、linux、mac os-x: ctrl+d。

     一旦测试失败,while终止并退出循环体,执行while之后的语句。该语句在输出sum后输出endl,endl输出换行并刷新与cout相关联的缓冲区。

    最后,执行return,通常返回0表示程序 成功运行完毕。


    展开全文
  • 突然想起while可以在条件判断中进行while(nowParam = reg.exec(param) 语句的赋值。 这种用法以前我一直不太敢使用,担心会出现什么问题,一般都是先在循环外部定义好遍历,将值赋给遍历后再作为循环的条件。 所以...

    最近在使用while的时候,由于使用正则的exec方法,同时也是进行全局匹配,需要匹配出全部的内容,所以想用while进行循环获取。突然想起while可以在条件判断中进行while(nowParam = reg.exec(param) 语句的赋值。

    这种用法以前我一直不太敢使用,担心会出现什么问题,一般都是先在循环外部定义好遍历,将值赋给遍历后再作为循环的条件。

    所以今天想弄清楚这个的使用方法:
    原代码:

         while(nowParam = reg.exec(param)){
            console.log(nowParam)
            console.log(123)
        }
    

    打印输出nowParam这个变量是存在的
    在这里插入图片描述

    该变量并没有在循环的外部进行定义过,所以尝试在循环外部前面进行打印该变量,是会直接报错Uncaught ReferenceError: nowParam is not defined
    console.log(nowParam)
        while(nowParam = reg.exec(param)){
            console.log(nowParam)
         }
    

    在这里插入图片描述

    而尝试在循环体后面打印该变量,结果却是null
    while(nowParam = reg.exec(param)){
            console.log(nowParam)
         }
         console.log(nowParam)
    

    在这里插入图片描述

    所以在循环题条件判断语句中直接对一个未定义的变量进行赋值操作,实际上是等于先定义好一个变量,然后再进行赋值操作,而当循环结束后,清空该变量的内容,但是并不销毁这个变量??

    后面又尝试了一下while((aa = i) > -2)这样的赋值写法

     while((aa = i) > -2){
             console.log(aa);
             i--;
        }
        console.log(aa)
    
    打印出来的结果是

    在这里插入图片描述

    这样写结束循环之后,aa的值没有被清空而是保留了下来

    有点神奇,不过个人感觉相比之下还不如循环之前定义好变量,能明确一下你的变量以及变量的内容…

    展开全文
  • linux shell if,while,等条件判断

    千次阅读 2019-03-15 14:37:16
    bash中如何实现条件判断? 条件测试类型: 整数测试 字符测试 文件测试 一、条件测试的表达式: [ expression ] 括号两端必须要有空格 [[ expression ]] 括号两端必须要有空格 test expression 组合测试条件: -a: ...

    转自:http://lovelace.blog.51cto.com/1028430/1211353

    bash中如何实现条件判断?
    条件测试类型:
    整数测试
    字符测试
    文件测试

    一、条件测试的表达式:
    [ expression ] 括号两端必须要有空格
    [[ expression ]] 括号两端必须要有空格
    test expression
    组合测试条件:

    -a: and
    -o: or
    !:  非
    

    二、整数比较:

    -eq 测试两个整数是否相等
    -ne 测试两个整数是否不等
    -gt 测试一个数是否大于另一个数
    -lt 测试一个数是否小于另一个数
    -ge 大于或等于
    -le 小于或等于
    

    命令间的逻辑关系

    逻辑与:&&
    
        第一个条件为假 第二个条件不用在判断,最总结果已经有
        第一个条件为真,第二个条件必须得判断
    
    逻辑或:||
    

    三、字符串比较

    == 等于  两边要有空格
    != 不等
    >  大于
    <  小于
    

    四、文件测试

    -z string 测试指定字符是否为空,空着真,非空为假
    -n string 测试指定字符串是否为不空,空为假 非空为真
    -e FILE 测试文件是否存在
    -f file 测试文件是否为普通文件
    -d file 测试指定路径是否为目录
    -r file 测试文件对当前用户是否可读
    -w file 测试文件对当前用户是否可写
    -x file 测试文件对当前用户是都可执行
    -z  是否为空  为空则为真
    -a  是否不空
    

    五、if语法

    if 判断条件 0为真 其他都为假

    .单分支if语句
    

    if 判断条件;then
    statement1
    statement2

    fi

    .双分支的if语句:
    

    复制代码

    if 判断条件;then
    statement1
    statement2

    else
    statement3
    statement4
    fi

    复制代码

    Note:
    if语句进行判断是否为空
    [ "$name” = “” ]
    等同于

    [ ! “ n a m e &quot; ] [ − z &quot; name&quot; ] [ -z &quot; name"][z"name” ]

    Note:
    使用if语句的时候进行判断如果是进行数值类的判断,建议使用let(())进行判断,对于字符串等使用test[ ] or [[ ]] 进行判断
    (())中变量是可以不使用$来引用的

    example:表述数字范围的时候 可以使用if可以是使用case

    if [ $x -gt 90 -o $x -lt 100 ]
    case $x in
    100)
    9[0-9])

    这个语句的意思是如果$name为空,那么X=X成立折执行下面的结果;

    if [ “X$name” != “x” ]

    写脚本的时候很多时候需要用到回传命令,$?如果上一个命令执行成功,回传值为0,否则为1~255之间的任何一个

    0为真
    非0为假
    

    条件测试的写法:

    1、执行一个命令的结果
    if grep -q “rm” fs.sh;then

    2、传回一个命令执行结果的相反值
    if !grep -q “rm” fs.sh;then

    3、使用复合命令((算式))
    if ((a>b));then

    4、使用bash关键字 [[判断式]]
    if [[ str > xyz ]];then

    5、使用内置命令:test 判断式
    if test “str” > “xyz”;then

    6、使用内置命令:[判断式] 类似test
    if [ “str” > “xyz” ];then

    7、使用-a -o进行逻辑组合
    [ -r filename -a -x filename ]

    8、命令&&命令
    if grep -q “rm” fn.sh && [ $a -lt 100 ];then

    9、命令||命令
    if grep -q “rm” fn.sh || [ $a -lt 100 ];then

    示例脚本(

    写一段脚本,输入一个测验成绩,根据下面的标准,输出他的评分

    成绩(A-F)。

    A: 90–100

    B: 80–89

    C: 70–79

    D: 60–69

    F: <60


    复制代码

    #/bin/bash
    #Verson:0.1
    #Auther:lovelace
    #Pragram:This pragram is calculation your grade
    #import an argument
    read -p “Please input your grade:” x
    declare -i x
    #jugemet x v a l u e i s n o n e o r n o t i f [ &quot; x value is none or not if [ &quot; xvalueisnoneornotif["x" == “” ];then
    echo “You don’t input your grade…”
    exit 5
    fi
    #jugement the gread level
    if [[ “KaTeX parse error: Expected 'EOF', got '&' at position 13: x" -ge "90" &̲& "x” -le “100” ]];then
    echo “Congratulation,Your grade is A.”
    elif [[ “KaTeX parse error: Expected 'EOF', got '&' at position 13: x" -ge "80" &̲& "x” -le “89” ]];then
    echo “Good,Your grade is B.”
    elif [[ “KaTeX parse error: Expected 'EOF', got '&' at position 13: x" -ge "70" &̲& "x” -le “79” ]];then
    echo “Ok.Your grade is C.”
    elif [[ “KaTeX parse error: Expected 'EOF', got '&' at position 13: x" -ge "60" &̲& "x” -le “69” ]];then
    echo “Yeah,Your grade is D.”
    elif [[ “$x” -lt “60” ]];then
    echo “Right,Your grade is F.”
    else
    echo “Unknow argument…”
    fi

    复制代码

    执行结果:
    复制代码

    [root@lovelace if]# ./grade.sh
    Please input your grade:
    You don’t input your grade…
    [root@lovelace if]# ./grade.sh
    Please input your grade:53
    Right,Your grade is F.
    [root@lovelace if]# ./grade.sh
    Please input your grade:88
    Good,Your grade is B.

    复制代码

    总结:条件判断在shell语句中经常用到,需要熟练掌握,在此基础上才能练就一手很好的脚本编写能力。祝各位每天都能获得很大的进步…

    展开全文
  • 一.shell中的for循环 1.for循环的语法格式 shell中的 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致。...for 条件 do 循环主体 done <1>语法一: for 变量 in...

    一.shell中的for循环

    1.for循环的语法格式

            shell中的 for 循环中可以使用 break 和 continue 关键字来跳出循环, 和java 用法一致。

            常用的for循环结构有三种:

    粗略的结构:

    for    条件

    do

              循环主体

    done

    <1>语法一:

    for   变量    in   值1  值2   值3...

    do

            循环主体

    done

    或者

    for   变量    in   {起始值..终止值}                  #这里面的起始值和终止值必须是纯数字,不能是$a,即不能是变量的值

    do

            循环主体/命令

    done

    示例1:

    示例2:

    <2>语法二:

    for   变量    in     `命令`

    do

            循环主体

    done

    示例3:

    <3>语法三:

    for   ((初始值;循环控制;变量变化))

    do

            循环主体

    done

    示例4:

    2.for的嵌套循环

    3.for循环的练习题

    <1>练习1:编写脚本测试172.25.254网段中的主机网是否是通的。

    如果是通的,就显示172.25.254.主机号  is up;如果是不通的,就显示172.25.254.主机号  is  down。

    脚本内容

    脚本运行结果

    <2>练习2:编写脚本实现倒计时10秒。

    显示 Time   秒数

    脚本内容

    脚本运行结果

    <3>练习3:编写脚本实现从输入的分钟数和秒数开始改进行时间的倒计时。

    显示 Time   分钟:秒

    方法一:将分钟数化为秒数

    脚本内容

     #!/bin/bash
    read   -p   "请输入分钟数和秒数:"   a   b
    let   time=$a*60+$b
    #for   i   in   {$time..1}                  #这行代码的写法是错误的。{起始值  终止值},这里的起始值和终止值都必须是纯数字,不能写成某个变量的值
    for   ((i=$time;i>0;i--))
    do
            echo   -n   "TIME   `expr   $i  /  60`:`expr   $i  %  60` "
            echo   -n   -e   "\r"
            sleep   1
    done

    脚本运行结果

    方法二:利用for双循环实现

    脚本内容

     

    脚本运行结果

     

    <4>编写脚本实现打印9*9乘法表。

    显示1*1=1

            2*1=2   2*2=4

            .................................

    写法一:

    脚本内容

    脚本运行结果

    写法二:

    脚本内容

    脚本运行结果

    二.shell中的while循环

    1.while循环的语法格式

             for循环适用于事先知道循环的次数,对于实现不知道循环的次数,for循环将会束手无策。而while循环可以解决实现不知道循

    环次数这类问题。对于事先知道循环次数的问题,for循环和while循环是相通的,for循环能解决的问题,while循环也可以解决。

            常用的while循环的结构有三种:

    粗略的结构:

    while   条件

    do

              循环主体

    done

    <1>语法一:

    初始值

    while  [  条件判断语句  ]

    do

               循环主体

               变量变化                   #这里变量变化的方式有两种,一种是((a++)),另外一种是a=`expr  $a  +  1`

    done

    示例1:

    <2>语法二:

    初始值

    while  ((条件判断语句))

    do

               循环主体

               变量变化                                   #这里变量变化的方式有两种,一种是((a++)),另外一种是a=`expr  $a  +  1`

    done

    示例2:

    <3>语法三:死循环(不同于for循环的地方,能解决实现不知道循环次数的问题的原因所在)

    while   true

    do

               循环主体

    done

    示例3:

    2.while循环的练习题

    编写一个脚本,使用while循环语句新建用户xin{1..20},并且设置这些用户的密码都为"123456"

    脚本内容

    脚本执行结果

    三.shell中的if条件判断(else语句是可以没有的)

    1.if条件判断的语法格式

            常用的if条件判断有三种结构:

    <1>单分支if语句

    if    条件判断;then                    #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

            语句体

    fi

    示例1:

    <2>双分支if语句

    if    条件判断;then                    #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

            语句体1

    else

            语句体2

    fi

    示例2:

    <3>多分支if语句

    if    条件判断;then                   #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

            语句体1

    elif   条件判断;then                 #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

            语句体2

    elif   条件判断;then                 #其中条件判断可以是linux的命令,也可以是[ ]命令的条件判断语句

             语句体3

    ...                         #表示可以有多个

    else

             语句体...

    fi

    示例3:

    四.shell中的case条件判断(*)语句是可以没有的)

    1.case条件判断的语法格式

            case条件判断适用于需要进行多重分支的应用情况。case条件判断只针对于条件判断是某个(单个匹配模式)或某些(合并

    匹配模式)具体的情况而不是一个无限的区间(比如0<a<2,这个无限的区间,为什么是无限区间呢,这是因为它的值是无穷多

    个)。对于条件判断是某个(单个匹配模式)具体的情况,case条件判断能实现的效 果,if条件判断也可以实现同样的效果。

            case语句结构特点如下:

    1. case行尾必须为单词“in”,每一个模式必须以右括号“)”结束。
    2. 双分号";;"表示命令序列结束。
    3. 匹配模式中可是使用方括号表示一个连续的范围,如[0-9];使用竖杠符号“|”表示或。
    4. 最后的“*)”表示默认模式,当使用前面的各种模式均无法匹配该变量时,将执行“*)”后的命令序列。

            常用的case条件判断的结构有两种:

    <1>语法一:单个匹配模式

    case   $变量名    in

               模式1)

               命令序列1

               ;;

              模式2)

               命令序列1

               ;;

              .....                          #表示可以有多个

               *)

               默认执行的序列

               ;;

    esac

    示例1:

    <2>语法二:合并匹配模式

    case   $变量名    in

               模式1|模式2|模式3|......)              #......表示可以有多个

               命令序列1

               ;;

              模式4|模式5|.......)                        #......表示可以有多个

               命令序列1

               ;;

              .....                          #表示可以有多个

               *)

               默认执行的序列

               ;;

    esac

    示例2:

    2.case条件判断的练习题

    编写脚本,实现交互式执行对应的程序功能

    https://www.jb51.net/article/43968.htm

    第一种写法:(使用echo打印)

    脚本内容

    脚本执行结果

    第二种写法:(使用awk命令中的print打印)

    脚本内容

    脚本运行结果

    所有写法汇总:


    脚本运行结果:

    展开全文
  • 判断语句 if语句 if语句语法结构 if语句示例解析 条件表达式 1.标准if条件语句的语法 if expression: if suite else: else_ suite 如果表达式的值非0或者为布尔值True,则代码组if_ suite被执行;否则就去执行...
  • js判断语句 for while循环

    千次阅读 2016-11-20 17:18:30
    //-----------------if判断-------------------------------- // if(条件){ // 满足条件输出 // } if(true){ alert(1); } if(false){ alert(2);
  • 一、while循环语句(while: 先判断,再执行) 语法: 执行步骤: while 只要A条件表达式返回true,就执行B语句块,循环执行,直到A表达式返回false; 例如: (1)打印1…10之间的整数 int num = 1; while(num &...
  • while循环与if条件判断

    千次阅读 2018-03-14 21:12:40
    对于一个字符串,先输出它的大写字母,再输出它的小写字母 错误做法: char a[]="hElASFGoo";...错误原因:因为判断小写字母的循环与判断大写字母的循环是同一个,所以,比如:当第二个字母是E时,进入下一个if
  • while和if判断条件小认识

    千次阅读 2018-08-10 11:17:51
    之前查代码定位问题时对while和if中判断条件有疑惑,后来自己验证了,现记录如下,代码很low,别介意。 while.c代码如下所示: include include
  • continue不会跳过do while条件判断

    千次阅读 2018-06-11 12:41:14
    continue不会跳过do while条件判断先贴一段代码:int i = 0; do { printf("%d\n", i); if(i &lt; 10) continue; }while(++i &lt; 10);1234567以前我一直以为,continue就是跳转到do开始的...
  • C语言while循环语句 do while语句 for循环语句

    万次阅读 多人点赞 2019-06-10 14:17:53
    for语句和while语句一样,它的思想是在做循环之前,也是先有一个初值表达式1,然后判断条件表达式2是否成立,如果成立就执行{}里的语句然后跳转到表达式3,表达式3再跳转到表达式2,再次判断表达式2,如若成立再次,...
  • while条件语句

    万次阅读 多人点赞 2020-11-27 09:37:50
    while条件语句 (条件满足一直循环,适合做守护进程,死循环,while是读整行,for遇见空格就另起一行) 语法 while 条件 do 指令 done 案例: 每个2秒记录一次系统负载情况 while true; do 也可以写成 while :;do #!/...
  • 为什么在pthread_cond_wait()前要加一个while循环来判断条件是否为假呢?.zip
  • while及do while语句

    万次阅读 多人点赞 2019-07-16 21:48:39
    While循环、do while循环、for循环语句,3种循环语句在一般情况下可以相互转换 While 及dowhile语句 While语句和do while语句都是C语言中循环结构的一种实现方式。While语句实现当型循环结构;do while语句较while...
  • 1 )if 条件判断 then 执行命令 fi 2) if 条件判断1;then 执行命令 elif 条件判断2;then 执行条件 else 执行条件 fi ![for循环: 1)for((初始值;条件;步长控制)) do 命令序列 done 2)for 变量 in 变量 do 命令序列...
  • python--条件判断while循环组合(三) 更多原创性能测试文章关注 十年性能测试专家&7DGroup公众号 # if条件分支+while循环 print('--------数字-------------') temp = input('说出我心中所想的数字:')...
  • C语言条件判断语句:if、else if、else

    万次阅读 多人点赞 2018-07-05 13:34:04
    1)简单介绍三种形式的条件判断语句:if、else if、elseif:if(表达式) 执行语句if:判断表达式内容,如果为true(真),就执行语句else if:if(表达式) 执行语句 else if(表达式1) 执行语句1 ......(很多的else if)...
  • 解析while(cin >> value)条件判断

    千次阅读 多人点赞 2019-05-17 11:07:01
    value)这样的条件判断语句一直都没能真正搞明白,最近学习了类型转换运算符相关方面的知识才恍然大悟。类型转换运算符详细内容可参考《C++ Primer》第五版14.9节的内容,或者个人博客“笔记:类型转换运算符”。 ...
  • 如果是多个线程都在等待这个条件,而同时只能有一个线程进行处理,此时就必须要再次条件判断,以使只有一个线程进入临界区处理。 这里做了个实验来说明:我用到两个消费者一个生产者,判定条件是当队列不为空时发...
  • 主要介绍了python基础之while循环及if判断的相关资料,需要的朋友可以参考下
  • Linux shell if条件判断1

    千次阅读 2019-03-17 20:00:00
    shell 逻辑控制语句: 分支判断结构 if case 循环结构 for while until if语句结构 用法1 if CONDITON; then statement statement fi CONDITION条件的写法: ...
  • python中的条件判断语句if while

    千次阅读 2018-07-19 13:07:29
    判断(if)语句 生活中的判断案例: 生活中的判断几乎是无所不在的,我们每天都在做各种各样的选择,如果这,如果 那样…. 判断的定义: 如果条件满足,才能做某件事 如果条件不满足,就做另外一件事情,或者什么也不做 ...
  • Shell语法—— while 条件语句

    千次阅读 2018-10-09 23:25:50
    条件表达式 > do 指令 done 有关脚本运行的相关用法 命令 说明 sh file.sh & 把 file.sh 脚本放到后台运行(后台运行脚本的常用方法) ctl+c 停止执行当前脚本或任务 ctl+z 暂停执行当前脚本或...
  • boolean在while条件判断

    千次阅读 2013-05-01 19:29:16
    为什么需要boolean在while条件判断?  在很多的实际循环操作案例中不能找出一个很明确的循环判断条件,这种情况下可以假设个布尔类型变量附初值false作while的循环判断条件,因为while(条件)判断是“条件”的ture...
  • 条件判断和循环(for,_while)【Java入门教程3】
  • 求两个正整数的最大公约数与最小公倍数如下程序 #include void main() ...其中while判断条件若为while(n=0) 可输出正确值 若为while(n==0) 无法执行 =不是赋值么 ==才是等于 不是应该为while(n==0)么?
  • while 循环判断时 遇到赋值表达式

    千次阅读 2018-01-14 10:21:14
    #define _CRT_SECURE_NO_WARNINGS #include #include #include int main(void) { int a = 10;... while (a = 0) //条件为真,执行,条件为假跳出 { printf("条件为真\n"); } printf("a = %d\n", a);
  • 条件判断和循环_(while,_for)【Python一周入门教程4】
  • shell语言中while循环的break与continue

    千次阅读 2020-09-16 09:42:55
    while [ $times_tried -le 50 ] do echo "times_tried=${times_tried}" >> /0 [ "$times_tried" == 25 ] && echo "试一试!" >> /0 && break times_tried=$((times_tried+1)) done echo...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 458,614
精华内容 183,445
关键字:

while条件判断