C++学习笔记5 - 循环与关系表达式
来源:互联网 发布:淘宝注销后有什么后果 编辑:程序博客网 时间:2024/06/09 19:59
《C++ Primer Plus 第6版》读书笔记
知识点:
1.y = (4 + x++) - (6 + x++);
无法保证在(4 + x++)之后x的值会加1,只能保证顺序点";"之后x值加1
2.for(n = lim; n > 0; n--) 与 for(n = lim; n > 0; --n) 效果相同
如果是内置类型,前缀与后缀效率相同。如果是自定义类型前缀的效率更高,以为后缀需要创建副本。
3.
前缀递增和前缀递减和解引用优先级相同;
后缀递增和递减比前缀优先级高;
double arr[5] = { 10.1, 20.1, 30.1, 40.1, 50.1 };double *p = arr;double *q = arr;double *a = arr;double *b = arr;cout << "arr[0]:" << arr[0] << " arr[1]:" << arr[1] << endl;cout << "*++p = " << *++p << endl; // 20.1 - 先加1 在取值cout << "arr[0]:" << arr[0] << " arr[1]:" << arr[1] << endl;cout << "++*q = " << ++*q << endl; // 11.1 - 先取值在加1cout << "arr[0]:" << arr[0] << " arr[1]:" << arr[1] << endl;cout << "(*a)++ = " << (*a)++ << endl; // 11.1 - 先取值在加1cout << "arr[0]:" << arr[0] << " arr[1]:" << arr[1] << endl;cout << "*b++ = " << *b++ << endl; // 12.1 - 位置顺序点之后才移动cout << "arr[0]:" << arr[0] << " arr[1]:" << arr[1] << endl;return 0;
结果:
arr[0]:10.1 arr[1]:20.1
*++p = 20.1
arr[0]:10.1 arr[1]:20.1
++*q = 11.1
arr[0]:11.1 arr[1]:20.1
(*a)++ = 11.1
arr[0]:12.1 arr[1]:20.1
*b++ = 12.1 // b++ 下个顺序点才变化
arr[0]:12.1 arr[1]:20.1
4. -= += *= /= %=
5.语句块
语句块中定义的变量,在语句块结束后失效,语句块中可以运行外部变量
int main()
{
int a;
{
int x = 1;
cout << x <<endl;
cout << a <<end; //ok
}
cout << x <<endl; //invalid
}
6.“,” 逗号是顺序点,保证逗号前的表达式运算完
i = 20, j = 2 + i;
j结果 40
cats = 17, 240; 相当( cats = 17), 240 240 不起作用
cats = (17 , 240); // cats = 240
7.基于范围的for循环
double arrf[5] = { 10.1, 20.1, 30.1, 40.1, 50.1 };for (double x : arrf){cout << x << endl;}for (double &x : arrf){x *= 0.5;cout << x << endl;}for (int x : {1, 2, 3, 4}){cout << x << endl;}8.文件结束 “EOF” win32表示EOF为 <Ctrl> + <Z> linux表示EOF为<Ctrl> + <D>
9.cin.fail() == false 监测EOF, cin.clear() 清除 EOF
10.“!=” 优先级高于“=”
- C++学习笔记5 - 循环与关系表达式
- C++学习笔记(四)循环和关系表达式
- C++学习笔记之九 循环和关系表达式
- [c++primeplus6th]-第5章.循环和关系表达式
- 【C++】第5章 循环和关系表达式 知识总结
- 5 循环和关系表达式
- C语言学习笔记:05_关系运算符和关系表达式
- Objective-C 学习笔记 5 循环结构
- C++|C++学习笔记|二、判断与循环
- 第5章 循环和关系表达式
- Lesson 5:循环和关系表达式
- 循环和关系表达式
- C++Primer学习笔记5 表达式
- C学习笔记(七)运算符与表达式
- 【C++PrimerPlus6学习笔记】之四:循环、分支、表达式、运算符(第五六章)
- objective-c学习笔记第三章《objective-c循环结构与java中的区别》
- Day4 循环和关系表达式
- Objective-C学习笔记 循环结构
- Log4j源码阅读之三—initialConfiguration方法
- IplImage, CvMat, Mat 的关系
- SQL Server 2008R2编写脚本时智能提示功能丢失的处理方法
- 数字证书原理(ssl, https)
- Web工程Deployment Assembly 丢失maven dependencies
- C++学习笔记5 - 循环与关系表达式
- 偏执却管用的 10 条 Java 编程技巧
- AndroidStudio如何引用一个Module
- 计算机网络七层模型中对应的协议
- BeautifulSoup学习笔记
- Java反射探索-----从类加载说起
- Snappy Ubuntu 入门
- sql查询不重复记录,多表之间查询
- 如何查询某论文是否被EI/SCI检索