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;}
- C++ Primer学习总结_1_开始(续)
- C++ Primer学习总结_1_开始
- C++ Primer 学习笔记_1_快速入门
- [C++ Primer Plus]开始学习C++(一)
- Redis学习总结_1_底层数据结构
- 《C++primer》第一章--开始
- c++primer第一章:开始
- C++ Primer Plus学习:第二章 开始学习C++(1)
- C++ Primer Plus学习:第二章 开始学习C++(2)
- C++primer学习及OPENCV总结
- c++primer学习摘抄之一(第一章 开始)
- 《C++primer(第五版)》学习之路-第一章:开始
- 【足迹C++primer】42、13_1_拷贝、赋值与销毁(2)
- C++Primer读书笔记:1 开始
- C++PRIMER复习现在开始!!
- C#_1_初探
- 看C++Primer总结
- UML学习_1_模型
- 统计一个数字二进制中一的个数。
- 详解回调函数——以JS为例解读异步、回调和EventLoop
- 编写java项目启动bat
- PackageInfo方式获取App签名信息(含MD5)
- UITextField 限制输入长度
- C++ Primer学习总结_1_开始(续)
- MVC mode
- Subclassdlgitem
- docker1.7 搭建spark1.4.0-hadoop2.6集群
- 数据结构与算法面试题80道
- POJ 1947 树形DP(分组背包)
- How To Use the Windows Phone 8.1 GridView and ListView Controls
- 启动eclipse时遇到Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in ...
- 数据结构之队列 C++实现