【阅读笔记】c++ Primer Plus——第五章

循环和关系表达式

for循环

  • 为执行重复的操作提供了循序渐进的步骤
for (int i=0 ; i<5 ; i++)
 //  初始化  判断条件 每轮结束时都执行一遍
  • 基于范围的for循环
double arr[5] = {12.21, 23.32, 34.34, 454.45, 56.56}
for (double x: arr)
{
    cout << x << endl;
}
  • 递增运算符(++)和递减运算符(–)

    • 自加(减)1
    • 可放在操作数前或后
int i = 1;
cout << i++ << "   " << i << endl;
cout << ++i << "   " << i << endl;
  • 递增/减运算符与指针

    • *与前缀运算符的优先级相同,所以前缀运算符与’*的运算从右往左结合
    • 后缀运算符的优先级比前缀运算符与*的优先级都要高,所以先执行++的操作
int arr[5] = {1, 10, 100, 1000, 10000};
int*pt = arr;
cout << *pt<< endl;
cout << *pt++ << "  " << *pt<< endl;
cout << *++pt << "  " << *pt << endl;
cout << ++*pt << "  " << *pt << endl;

在这里插入图片描述

  • 组合赋值运算符
操作符作用
L+=R将L+R赋值给L
L-=R将L-R赋值给L
L*=R将L*R赋值给L
L/=R将L/R赋值给L
L%=R将L%R赋值给L
  • 复合语句
    • 两个花括号构造一条复合语句,里面可以包含多条语句
      逗号表达式
    • 同样允许两个表达式放到c++句法只允许放一个表达式的地方
      关系表达式
    • 关系运算符优先级比算术运算符低
    • 关系运算符返回值0或1
  • c-风格字符串比较
    • strcmp()比较两个字符串是否相等,相等返回0,否则返回值大于0
  • string类字符串比较,使用关系运算符!=,不相等返回0,相等返回1

while循环

  • 没有初始化和更新部分的for,表达式的结果为True,则执行循环体中的语句
  • 循环原则:
    • 指定循环终止条件
    • 首次循环之前要初始化条件
    • 每次循环都必须刷新更新条件

do while循环

  • 先执行循环体,然后再判断测试表达式(至少执行一次循环语句的内容)
  • 条件为False结束循环

类型别名

  • 使用预处理,用char来替换所有的BYTE
#define BYTE char
  • 通过关键字typeof创建别名,
typeof char type

循环和文本输入

  • cin在读取char的时候,会忽略空格和换行符
    cin.get(ch)/ch=cin.get(),读取输入中的下一个字符,并赋值给ch这个变量,可用于逐个检查输入的字符
cin.get(ch)ch=cin.get()
传递输入字符的方式赋值给ch将函数返回值赋给ch
用于字符输入时函数的返回值istream对象int类型的字符编码
到达EOF时函数的返回值istream对象EOF
  • 文件尾条件,检测文件尾(EOF),来检测cin输入结束,即使再次调用cin也不会读取输入,需要cin.clear()清楚EOF标记来恢复输入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值