当前位置: 首页 > news >正文

C++Primer Plus复习题(第六章)

/*复习题*/
/*看下面两个代码片段,第二种比第一种好在哪儿?
* Verssion 1 
* while(cin.get(ch)) //quit on eof
* {
*    if(ch == ' ' )
        spaces++;
    if(ch == '\n')
        newlines++;
}
    Version 2
    while(cin.get(h)) //quit on eof
    {
        if(ch == ' '){
            spaces++
        }else if(ch == '\n'){
            newlines++;
        }
    }


    可读性 2的时间复杂度更低,他只会判断一次,2更适合拓展
*/
/*
2.在程序清单6.2中,使用ch + 1,代替 ++ch 将会发送什么情况
6.2

#include<iostream>
using namespace std;

int main() {
    char ch;
    
    cin.get(ch);
    while (ch != '.') {
        if (ch =='\n') {
            cout << ch;
        }
        else {
        cout<<++ch;
            cout << ch + 1;
        }
        cin >> ch;
    }

    return 0;
}
一个打印的是字符
一个打印的是对于的ASCALL码

*/
/*
* 请认真考虑下面的程序
* 假设输入如下(请在每行末尾按回车键)
* HI!
* Send $10 or $20 now!
* 则其将输出什么(还记得吗,输入被缓冲)

#include <iostream>
using  namespace std;

int main() {
    char ch;
    int ct1 = 0, ct2 = 0;

    while ((ch = cin.get()) != '$') {
        cout << ch;
        ct1++;
        if (ch = '$') {//书上是=  不是 ==
            ct2++;
        }
        cout << ch;
    }
    cout << "ct1=" << ct1 << ", ct2==" << ct2 << endl;
    return 0;

    如果 是= ,则ct2=ct1 = 9 == 则ct1=9 ct2 = 0 
}
*/

/*
*创建表诉下述条件的逻辑表达式
* a.weight 大于或者等于 115 但是小于125   (wieghe>=115 && weight<125)
* b.ch为q或Q  strcmp('q',ch) || strcmp('Q',ch)
* c.x为偶数,但不是26    x>=0 && x%2=0 && x!=26
* d.x为偶数,但不是26的背书 x>=0 && x%2 = 0 && x%26!=0
* e.donation为1000-2000,或者guest为1   (denation>1000 && denation<2000) || guest == 1
* f.ch是小写字母或者大写字母,小写字母依次编码 大写字母依次 大小写没有一次  (ch>='a' && ch <='z')||(ch>='A' && ch<='Z') 
*/

/*5
* 在英语中,"I will not not speak" 与 I will speak  意思相同 
* !!x  与 x是否相同呢

* x是bool的话应该是相同的 其他的不同
*/


/*
*6.创建一个条件表达式  其值为变量的绝对值,
* 如果变量为正即其正,为负,值为-x
* if(x>=0){
    num = x;
}else{
    mum = -1*x;
}

*/

/*7.用switch改写下面的代码片段
* switch(ch){
*    case 'A':
*        a_grade++;
*        break;
* case 'B':
*        b_grade++;
*        break;'
* case 'C':
*        c_grade++;
*        break;
* case 'D':
*        d_grade++;
*        break;

    default:
    f_grade++;
}
    
*/

/*8.对于程序清单 6.10 与使用数字相比,使用字符表示菜单选项和case标签有何优点呢*/
/*可读性 + 易于维护  不需要重新编号之类的*/

/*重新编写下面的代码片段 不适应break和continue *
 int line = 0;
 char ch;
 while(cin.get(ch)){
    if(ch == 'Q')
        break;
    if(ch!='\n')
        continue;
    line++;
 }

 while(ch!='Q'){
    cin.get(ch);
    if(ch =='\n')
        line++;
 }


*/

相关文章:

  • Linux 内核 (十二)进程间通讯 之 消息队列
  • 深入掌握SystemVerilog验证:《SystemVerilog验证 测试平台编写指南》(可下载)
  • 巴中青少年编程:开启未来科技的无限可能
  • Science Online《科学周刊》文献在家如何查找下载
  • 针对k8s集群已经加入集群的服务器进行驱逐
  • OpenSSL新手教程:加密与安全通信基础
  • Hadoop 3.X HA集群部署
  • Vue页面生成PDF后调起浏览器打印
  • 基于Pytorch实现AI写藏头诗
  • JWT工具【工具类】
  • cdh zookeeper报错 Canary 测试建立与 ZooKeeper 服务的连接或者客户端会话失败。
  • C++智能指针举例
  • LabVIEW与Python的比较及联合开发
  • 编程机器人的参数表怎么看
  • 【Python】在运行中使用warnings.filterwarnings,可以忽略测试中遇到的问题
  • Java 最常见的 200+ 面试题:面试必备
  • jQuery(一)
  • Laravel 菜鸟晋级之路
  • Linux各目录及每个目录的详细介绍
  • OSS Web直传 (文件图片)
  • PHP那些事儿
  • vue.js框架原理浅析
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 用mpvue开发微信小程序
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​补​充​经​纬​恒​润​一​面​
  • ​浅谈 Linux 中的 core dump 分析方法
  • #stm32整理(一)flash读写
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (PADS学习)第二章:原理图绘制 第一部分
  • (Redis使用系列) SpringBoot中Redis的RedisConfig 二
  • (力扣题库)跳跃游戏II(c++)
  • (转)Android学习笔记 --- android任务栈和启动模式
  • (转)大型网站架构演变和知识体系
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .Net 8.0 新的变化
  • .net framework 4.8 开发windows系统服务
  • .NET 项目中发送电子邮件异步处理和错误机制的解决方案
  • .NET框架
  • .net企业级架构实战之7——Spring.net整合Asp.net mvc
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)
  • @RestControllerAdvice异常统一处理类失效原因
  • [ C++ ] STL_list 使用及其模拟实现
  • [].shift.call( arguments ) 和 [].slice.call( arguments )
  • [1] 平面(Plane)图形的生成算法
  • [AIGC 大数据基础]hive浅谈
  • [AIGC] Redis基础命令集详细介绍
  • [C#]将opencvsharp的Mat对象转成onnxruntime的inputtensor的3种方法
  • [C/C++]关于C++11中的std::move和std::forward
  • [c]扫雷
  • [C++数据结构之看懂就这一篇]图(上)