zoukankan      html  css  js  c++  java
  • C++ Primer 4 CPP Note 1.4 控制结构

    1.4.1  while 语句

               
         C++中的while语句的结构依然是 :while(condition){ while_body_statement }  .
       和 C#,Java相比.C++中的while语句中的条件(condition) 值非0则为真。意思是 -1 负值同样为真 ,只要 不是0都为真.
    而C#和Java中的条件只能是boolean值.

    所以以下为死循环
               while(-1 || 1){
    std::cout << "printf" << std::endl;
    }
              PS : 突然想到如果条件不是不是表达式 而是一个对象,我在思考当对象为null等于false,不为空就等于true(类似javascript).这个等以后论证,学习就是这样不停的填补漏洞..因为我学习的角度不同与正规学生。可能在学习模式上有点不一样... 条条道路通罗马.但是Groovy中的while满足以上所有条件.(在1.4.3有部分论证)
    所以可以将上一段代码改成.
              int sum = 0,value; //注意这里的sum要初始化,不然要报错.
    while(std::cin >> value){
    sum += value;
    }
    std::cout << "sum is : " << sum <<std::endl;
        PS:因为是死循环.所以要退出循环后才能看见结果,在windows下面是通过ctrl+z来退出,unix中是ctrl+d
    1.4.2 for 语句
     
      for语句的结构和C#,Java的一样:
           一个初始化语句,一个条件,一个表达式. 初始化一次,然后判断条件,然后执行循环体代码,然后执行表达式,然后再判断条件...直到条件为假退出循环.
    至于在循环体中显示的使用break ,return 来退出循环. C++也是一样的.
     
    C++ 、C# 、Java中for语句大体如下:
                  for(int i = 0 ;i<100 ;i++){
    //.....
    if(i==10) break;
    }
    Groovy的很有意思:
    for(i in 0..10)
    println "this is ${i} "
    说到for语句顺便说说foreach语句 :
           C++中有没有,我目前学到这里还不知道.但是C#和JAVA的要说下
    在java中结构是这样的 :
    for( iterable_type iterable_element : iterable ) {

    }
    而在C#中:
    foreach( iterable_type iterable_element in iterable ) {

    }
    Groovy依然那样简洁:
    def list = ['a','b','c','d','f']
    list << 'e'<< 'f'<< 'g'
    //
    def say = {val->
    println "word : ${val}"
    }
    //
    for(i in list)
    say(i)
    其结果:
    word : a
    word : b
    .
    .
    word : g


     
    1.4.3 if语句
     同while一样,if(0) == false , if(-1||1) == true       
         另外就想我在1.4.1while中的那个推断一样(类似javascript)
                    int sum = 0,value;
    while(std::cin >> value){
    if(!""){
    sum += value;
    }
    }//此段代码结果永远为0
    于是推导出:
    while(!""){
    std::cout << "printf"<<std::endl;
    }//永远不会打印出 'printf'
    所以可能我刚才的猜测是正确的.(如果""字符串在C++中和在JAVA中一样也属于对象的话.)
     
     
  • 相关阅读:
    Docker 国内镜像源
    SeMF安装指南
    CGI environment variables
    OpenResty + ngx_lua_waf使用
    OpenResty源码编译安装
    Ubuntu安装DVWA
    C安全编码实践
    [译]The Complete Application Security Checklist
    HTTP 安全头配置
    AWVS 10.5使用指南
  • 原文地址:https://www.cnblogs.com/coveted/p/2207382.html
Copyright © 2011-2022 走看看