c++primer plus 6 读书笔记 第五章 循环和关系表达式

简介: c++primer plus 6 读书笔记 第五章 循环和关系表达式

第5章 循环和关系表达式

for循环、while循环、do~while循环三种循环都执行循环(重复)操作,语法与C语言基本相同。

5.1 for循环

5.1.1 for循环的组成部分

for(initialization; test-expression; update-expression)

body

for循环完成了1.initialization 设置初始值,2.test执行测试3.执行循环体(body)4.更新用于测试的值。

C++特性:可以在for中的初始initialization中声明变量。

for(int i=0; ...;...)

{

}

5.2 while 循环

while(test-condition)

body

while循环和for循环 本质相同,可以完成相同的工作。

5.3 do while

do

body

while(test-condition);

5.4基于范围的for循环(C++11)

对数组或容器类进行操作。

E:

double array[5] ={1.00,2.23,2.1,3.3,4.5};

for (double x : array)

cout<<x<<”/n”;

如果要修改值。使用(&(引用))

for (double &x : array)

 x = x*0.80;

 

5.5 循环和文本输入

5.5.1 cin+while进行条件输入 //存在问题,会跳过空格回车等。

5.5.2cin.get(char) 逐个字符输入,

5.5.3

5.5.4 文件尾条件(EOF)

EOF结束输入,

2. 常见的字符输入做法。

cin.get(char);

while( !cin.fail() )

{

...

cin.get(char)

}

或者是更简单的while(cin.get(ch))

{

...

}

5.5.5另一个cin.get()

ch = cin.get();

cout.put(ch);

 

5.6嵌套循环与二维数组

与C语言类似。

相关文章
|
2月前
|
算法 编译器 程序员
C++ 11新特性之Lambda表达式
C++ 11新特性之Lambda表达式
16 0
|
4月前
|
安全 编译器 C++
C++一分钟之-泛型Lambda表达式
【7月更文挑战第16天】C++14引入泛型lambda,允许lambda接受任意类型参数,如`[](auto a, auto b) { return a + b; }`。但这也带来类型推导失败、隐式转换和模板参数推导等问题。要避免这些问题,可以明确类型约束、限制隐式转换或显式指定模板参数。示例中,`safeAdd` lambda使用`static_assert`确保只对算术类型执行,展示了一种安全使用泛型lambda的方法。
60 1
|
4月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
5月前
|
算法 编译器 C++
C++一分钟之—Lambda表达式初探
【6月更文挑战第22天】C++的Lambda表达式是匿名函数的快捷方式,增强函数式编程能力。基本语法:`[capture](params) -&gt; ret_type { body }`。例如,简单的加法lambda:`[](int a, int b) { return a + b; }`。Lambda可用于捕获外部变量(值/引用),作为函数参数,如在`std::sort`中定制比较。注意点包括正确使用捕获列表、`mutable`关键字和返回类型推导。通过实践和理解这些概念,可以写出更简洁高效的C++代码。
53 13
|
5月前
|
算法 程序员 编译器
C++的四类循环分享
C++的四类循环:Entry or Exit controlled, Ranged-based or For_each
|
5月前
|
C++
C++一分钟之-循环结构:for与while循环
【6月更文挑战第18天】在C++中,`for`循环适合已知迭代次数,如数组遍历;`while`循环适用于条件驱动的未知次数循环。`for`以其初始化、条件和递增三部分结构简洁处理重复任务,而`while`则在需要先检查条件时更为灵活。常见错误包括无限循环和逻辑错误,解决办法是确保条件更新和正确判断。了解两者应用场景及陷阱,能提升代码效率和可读性。
65 6
|
5月前
|
C++
C++语言的lambda表达式
C++从函数对象到lambda表达式以及操作参数化
|
5月前
|
C++
C++一分钟之-理解C++的运算符与表达式
【6月更文挑战第18C++的运算符和表达式构成了编程的基础,涉及数学计算、逻辑判断、对象操作和内存管理。算术、关系、逻辑、位、赋值运算符各有用途,如`+`、`-`做加减,`==`、`!=`做比较。理解运算符优先级和结合律至关重要。常见错误包括优先级混淆、整数除法截断、逻辑运算符误用和位运算误解。解决策略包括明确优先级、确保浮点数除法、正确使用逻辑运算符和谨慎进行位运算。通过实例代码学习,如 `(a &gt; b) ? &quot;greater&quot; : &quot;not greater&quot;`,能够帮助更好地理解和应用这些概念。掌握这些基础知识是编写高效、清晰C++代码的关键。
36 3
|
5月前
|
C++
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
c++primer plus 6 读书笔记 第十四章 C++中的代码重用
|
5月前
|
程序员 编译器 C++
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
47 0