C++ Primer Plus(五)——循环和关系表达式

  1. 优先级表表明,赋值运算符是从右向左结合的
  2. 定义一个const值来表示数组中元素的个数是一个好办法
  3. 对同一条语句的同一个值递增或递减多次,C++没有定义这种行为,也就是说这条语句在不同的系统上将生成不同的结果。
  4. 前缀运算符的效率高于后缀运算符
  5. 前缀运算符和解除引用运算符的优先级相同,以从右向左的方式结合;

    后缀运算符的优先级高于前缀运算符和引用运算符,以从左向右的方式结合。

  6. 当C++语法只允许放一个表达式时,可使用逗号运算符将几个表达式合为一个,但不能将两个声明组合起来,可使用一个声明语句表达式来创建并初始化两个变量。
  7. 在所有运算符中,逗号表达式的优先级是最低的:它确保首先计算第一个表达式再计算第二个表达式,它的值是最后一个表达式的值。
  8. C++提供了6种运算符来对数字进行比较,也可将这些运算符用于字符,但不能用于C-风格字符串,但可用于string类对象。
  9. C-风格字符串应用strcmp( )函数来比较,若第一个字符串小于第二个则返回赋值,若大于返回正值,若相等返回0,即不等时是true,相等时是false。
  10. C-风格的两个字符串即使存储在长度不同的数组中,也可能是相同的,这是因为C-风格字符串是通过结尾的空值字符定义的,而不是其所在的数组长度定义的。
  11. C++一般使用for循环进行循环计数,在无法预先知道将执行的次数时,使用while循环。
  12. for循环中省略了测试条件时,则认为条件为true。
  13. 编写延时循环:
    1. ANSI和C++库中的clock( )函数返回程序开始执行后所用的系统时间。
    2. 头文件ctime提供了常量CLOCKS_PER_SEC,该常量等于每秒钟包含的系统单位数
    3. 将系统时间除以该常量得到秒数,或将秒数乘以该常量得到以系统时间为单位的时间
    4. clock_t类型可将得到的乘积结果转换成适合当前系统的结果
  14. C++11新增了一种基于范围的for循环:
    1. 仅仅显示元素:

      for ( 类型 : 数组)循环体

    2. 修改数组元素:

      for ( & 类型 : 数组)循环体

  15. 使用cin进行输入:
    1. 原始的cin进行输入:cin>>char
      1. 忽略空格和换行符,制表符
      2. 输入内容被缓冲,只有用户在按下回车键后,输入的内容才被发送给程序
    2. 使用cin.get(char)进行输入:读取空格,换行符,制表符
属性 cin.get(ch) ch=cin.get( )
传输输入字符的方式 赋给参数ch 将函数返回值赋给ch
用于字符输入时函数的返回值 istream(执行bool转换后为true) int类型的字符编码
到达EOF时函数的返回值 istream(执行bool转换后为false) EOF
    1. 检测到EOF后,cin将两位(eofbit和failbit)设置为1,可通过cin.eof( )来查看eofbit是否被设置,而cin.fail( )可以查看eofbit或failbit是否被设置
    2. istream类提供了一个可以将istream对象转换为bool值的函数;当cin出现在需要bool值的地方时,该转换函数自动被调用
    3. 由于EOF不是的不是有效的字符编码,因此有可能不与char类型兼容。如果要使用cin.get( )测试EOF,则必须将返回值赋给int变量,在显示时强制转换为char类型。
    4. get( )的主要用途是将stdio.h的getchar( )和putchar( )函数转换为iostream的cin.get( )和cout.put( )
时间: 2024-10-20 18:48:50

C++ Primer Plus(五)——循环和关系表达式的相关文章

第五章 循环和关系表达式

第五章  循环和关系表达式 5.1  for循环 5.1.1  for循环的使用 For循环的组成部分完成下面4个步骤: 1)        设置初始值: 2)        执行测试,看看循环是否应当继续运行: 3)        执行循环体: 4)        更新用于测试的值. For循环的形式如下: for (init-expresstion; test-expresstion; update-expresstion) body-statement 说明: 1)        C++将

c++primerplus(第六版)编程题——第5章(循环和关系表达式)

声明:作者为了调试方便,每一章的程序写在一个工程文件中,每一道编程练习题新建一个独立文件,在主函数中调用,我建议同我一样的初学者可以采用这种方式,调试起来会比较方便. (具体方式参见第3章模板) 1. 编写一个要求用户输入两个整数的程序.该程序将计算并输出这两个整数之间(包括这两个整数)所有整数的和. #include <iostream> using namespace std; void cprimerplus_exercise_5_1() { cout << "Pl

《C++ Primer Plus》第5章 循环和关系表达式 学习笔记

C++提供了3种循环: for 循环. while 循环 和 do while 循环 .如果循环测试条件为 true 或非零,则循环将重复执行一组指令: 如果测试条件为 false 或 0 , 则结束循环. for 循环 和 while 循环都是入口条件循环,这意味着程序将在执行循环体中的语句之前检查测试条件.do while 循环是出口条件循环,这意味若其将在执行循环体中的语句之后检査条件.每种循环的句法都要求循环体由一条语句组成.然而, 这条语句可以是复合语句,也可以是语句块(由花括号括起的

[C++ Primer Plus] 第5章、循环和关系表达式——(二)课后习题

1.编写一个要求用户输入两个整数的程序,将程序将计算并输出这两个整数之间(包括这两个整数)所有的整数的和.这里假设先输入较小的整数,例如如果用户输入的是2和9,则程序将指出2-9之间所有整数的和为44. 1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 int a, b; 7 int cnt = 0; 8 cin >> a >> b; 9 for (int i = a; i <= b;

C++ Primer Plus第六版编程练习---第5章 循环和关系表达式

1. #include <iostream> int main() { int startNum = 0; int endNum = 0; std::cout << "please enter tow num:" << std::endl; std::cin >> startNum; std::cin >> endNum; long long sum = 0; for(int i = startNum; i <= end

循环和关系表达式

fooloop.cpp /*forloop.cpp*/ #include<iostream> int main() { using namespace std; int i; /*该循环首先将整数变量i设置为0:i=0 这是循环的初始化部分. 然后,循环测试部分检查i是否小于5:i<5 如果确实小于5,则程序将执行接下来的语句——循环体 然后,程序使用循环更新部分将i加1 直到循环将i更新为5为止.这样接下来的测试失败,程序将接着执行循环后的语句.*/ for (/*循环的初始化部分*/

重拾c++第三天(5):循环和关系表达式

1.改变步长 for(i=0;i<4;i=i+2) 2.*与++优先级相同,从右向左 3.strcmp函数比较两个字符串,=0两个相同,><0 ----> str1><str2 4.对string直接!=或者==就行 5.二维数组定义 int a[2][2] = { {1,2}, {3,4} } 原文地址:https://www.cnblogs.com/dai-yu/p/12197131.html

C++ Primer 第五版:第2章

*****C++ Primer 第五版第2章学习笔记***** *****实验代码在Red Hat 6.6或VS 2013中调试***** *****文章内容依据当前知识撰写,存在认识的局限性***** 今天学习C++ Primer 的第2章,还没有看完,先写一点看书的心得和笔记. 对象类型决定对象包含的数据和能参与的运算操作,同时还决定了存储空间大小.算术表达式中不要使用char,因为不同机器实现不一样,导致结果不同.单精度计算不一定比双精度快. C++类型不匹配时,是自动进行类型的转换. C

C++ Primer(第五版)学习笔记_8_标准模板库_map映照容器

C++ Primer(第五版)学习笔记_8_标准模板库_map映照容器 map映照容器的元素数据是由一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系. map映照容器的数据结构也是采用红黑树来实现的. 1.map创建.元素插入和遍历访问 #include <iostream> #include <stdio.h> #include <vector> #include <map> #include <string> using n