C++ Primer学习总结_1_开始(续)

来源:互联网 发布:纹理算法 编辑:程序博客网 时间:2024/06/02 04:18

  1.4控制流

  1.4.1  while语句

   while语句反复执行一段代码,直至给定条件为假为止。

    

#include<iostream> int main(){     int sum=0,val=1;//只要val的值小于等于10,while循环就会持续执行while(val <= 10){sum += val; // += 是符合运算符,相当于sum = sum + val++val; //前缀递增运算符(++),将运算对象的值增加1,++val等价于val=val+1}std::<<"Sum of 1 to 10 inclusive is "<<sum<<std::endl;return 0;}
   while语句的形式为

   while (condition)

statement

       条件(condition)是一个产生真或假的结果的表达式。只要condition为真,statement就会被执行;当执行完statement,会再次检测condition。如果condition仍为真,statement会再次被执行。如果condition为假,则会跳出循环,执行循环体之后的语句。

    

      1.4.2  for语句

      

#include<iostream> int main(){     int sum=0;    //从1加到10/* *每个for语句包含两部分:循环头和循环体 *循环头组成:初始化语句、循环条件、表达式*/for(int val=1;val <= 10;++val)  sum += val;std::<<"Sum of 1 to 10 inclusive is "<<sum<<std::endl;return 0;}
     以上面代码为例讲述一下for循环的总体执行流程:

     1)创建变量val,将其初始化为1。

     2)检测val是否小于等于10。若检测成功,执行for循环体。若失败,退出循环,继续执行for循环图之后的第一条语句。

     3)将val的值增加1。

     4)重复第2步中的条件检测,只要条件为真就继续执行剩余步骤。


     1.4.3  读取数量不定的输入数据

      

#include<iostream> int main(){     int sum=0,value=0;    //读取数据直到遇到文件尾,计算所有读入的值的和while(std::cin>>value)  //从标准输入读取下一个数,保存在value中。当遇到文件结束符(end-of-file)或遇到一个无效输入时,条件为假。sum += value;std::<<"Sum is "<<sum<<std::endl;return 0;}
    

      从键盘输入文件结束符

      Windows:Ctrl+Z(按住Ctrl键的同时按Z键)

     Unix(包括Mac OS X):Ctrl+D

     

     再探编译

     常见的编译器可以检查出的错误:

     1)语法错误

     2)类型错误

     3)声明错误

     编译器无法检测出的错误:

      逻辑错误,该类错误一般需要单步跟踪等进行调试,工具如gdb等。

     

     1.4.4  if语句

     我们在程序中经常会用到的还有条件结构,使用if语句。

#include<iostream> int main(){     int i;std::cout<<"请输入一个数字:";std::cin>>i;if(i==0) //C++用=进行赋值,用==作为相等运算符,这个容易出错,需要多加注意std::cout<<"i 等于 0 !"<<std::endl;else std::cout<<"i 不等于 0 !"<<std::endl;return 0;}
    

      

1 0