首页 > 编程语言 >合肥工业大学C++期末考试极限复习Day 1

合肥工业大学C++期末考试极限复习Day 1

时间:2024-12-16 21:57:00浏览次数:5  
标签:输出 cout int 合肥工业大学 C++ setw 对齐 include Day

第一日应试规划:输入输出与格式化学习(setw

结合分析的近年试卷,我明确了一些输入输出与格式化常考知识点,并制定以下功利化的学习计划,以帮助你在考试中高效得分。


学习目标
  1. 熟练掌握C++中输入输出流的基本用法。
  2. 理解并能够正确应用iomanip库中的格式化功能(如setwsetprecision)。
  3. 熟悉相关考点的典型题型及高效解法。

学习内容
1. 输入输出流基础
  • 输入(cin)与输出(cout):
    • 格式化输入:cin >>的基本用法。
    • 输出时的换行符与对齐方式。
  • 常考问题:
    • 多组输入如何处理(如循环读取)。
    • 混合输入(数字与字符串混用时)导致的流状态问题。
2. 格式化输出
  • setw用法:
    • 功能:设置输出宽度。
    • 使用场景:考试中通常出现在表格对齐输出题中。
    • 注意事项:
      • 宽度不足时不自动填充空格,需要结合setfill
      • setw仅对当前行的下一个输出有效。
  • setprecision与小数位控制:
    • 控制输出的浮点数精度。
    • 默认使用科学计数法时如何显示小数。
3. 常见组合使用
  • 配合setwleftright控制对齐方向。
  • 使用setfill填充特定字符。

应试高频考点
考点 1:使用setw进行对齐输出
  • **题型例子:**2022年【填空题3】和2020年【阅读题2】均要求对齐输出数字或字符串。
  • 典型题:
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main() {
        int data[] = {1, 23, 456, 7890};
        for (int i = 0; i < 4; i++) {
            cout << setw(6) << data[i] << endl;  // 每行右对齐,宽度6
        }
        return 0;
    }
    
  • 易错点:
    • 忘记每次都需调用setw
    • 使用setw时意外的输出未对齐。
考点 2:小数点精度与格式化
  • **题型例子:**2021年【编程题1】要求输出精确到小数点后2位。
  • 典型题:
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main() {
        double pi = 3.141592653589793;
        cout << fixed << setprecision(2) << pi << endl;  // 输出3.14
        return 0;
    }
    
  • 易错点:
    • 忘记固定浮点显示模式(fixed)。
    • 设置精度后意外改变全局浮点数输出样式。
考点 3:多列数据的表格输出
  • **题型例子:**2020年【阅读题5】。
  • 典型题:
    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main() {
        cout << setw(10) << "Name" << setw(10) << "Score" << endl;
        cout << setw(10) << "Alice" << setw(10) << 95 << endl;
        cout << setw(10) << "Bob" << setw(10) << 88 << endl;
        return 0;
    }
    
考点 4:混合输入问题
  • **题型例子:**2023年【阅读题4】中有混合输入(字符数组与整数)。
  • 典型题:
    #include <iostream>
    using namespace std;
    int main() {
        int num;
        char str[10];
        cin >> num >> str;
        cout << "Number: " << num << ", String: " << str << endl;
        return 0;
    }
    

每日任务
  1. 学习视频/课本内容:

    • 阅读《C++程序设计基础》关于setw的章节。
    • 自行整理笔记,特别关注与输入/输出相关的代码示例。
  2. 练习题目:

    • 2017年【填空题1】、【阅读题3】。
    • 2020年【阅读题2】。
    • 2021年【编程题1】。
    • 2023年【阅读题4】。
    • 自编题:给定10个学生的姓名与成绩,输出对齐表格。
  3. 总结与错题整理:

    • 记录setw类试题常见问题。
    • 将不熟练的细节标记出来,并在后续复习时强化。

预期结果

通过本日的学习与练习,你将:

  1. 熟悉考试中关于输入输出与格式化的高频考点。
  2. 能够灵活应用setwsetprecision等进行格式化输出。
  3. 提高对常见题型的应试熟练度,在此类考题中确保拿到满分。

Initially(头文件:)

fixed

用法:

只要出现了fixed,则后面都是以fixed输出。
那么只需要写

cout<<fixed<<x<<endl;
cout<<y<<endl;//之后不用再打一遍fixed了

作用:

无科学记数法而且小数点后的位数是6位!!!
无论输入的是整数还是浮点数,最终在输出的时候都会是浮点型


//类型一:整数位很多
double x=12345678;
//类型二:小数位很多,有效小数位少
double y=0.00001234;

cout<<fixed<<x<<endl;
cout<<fixed<<y<<endl;

输出结果是:

12345678.000000
0.000012

setw()

若想用setw(int n)呢,要加头文件 < iomanip > [io+manipulator的意思]
其控制后面输出的长度,默认右对齐,输出内容长度不够用空格补齐,输出内容长度超过则正常输出。
注:1. setw()只对后面紧跟的输出有限制。
2.标点符号占一位!

double x = 0.1;
double y = 0.123456; 
cout <<setw(7)<< x << endl; 
cout << x << endl; 
cout << setw(3)<<y << endl;\

输出结果是

    0.1
0.1
0.123456

setprecision()

若想用setprecision()呢,要加头文件 < iomanip >
提示
这里不能输入变量,但是可以输入定义的常量或者const修饰的常变量

作用:

同样能够控制精度,控制整数位 + 小数位
当并未使用fixed语句时,而是直接使用setprecision语句的话,他计算的位数是整数位 + 小数位

控制小数位

当像下面这么使用时,

cout << fixed << setprecision(n);

在输出时,输出的小数小数点后面就有n位

注意

需要注意的是:这fixed,setprecision两个控制语句能控制这条语句后面的所有语句,当需要改变时,需要重新写一条语句

并且这两条语句只是控制输出格式,并不会对数据本身造成改变

这一篇是大致复习方向接下来我还会出一份合肥工业大学相对应的真题练习及解析,欢迎大家关注。

PS:总共21天的内容。

标签:输出,cout,int,合肥工业大学,C++,setw,对齐,include,Day
From: https://blog.csdn.net/2401_86563429/article/details/144515607

相关文章

  • 【C++】C++11(lambda、可变参数模板、包装器、线程库)
      ......
  • 实验6 C++
    任务四:Vector.hpp#pragmaonce#include<iostream>#include<stdexcept>usingnamespacestd;template<typenameT>classVector{public: Vector(intn,intp=0); Vector(constVector<T>&v); ~Vector(); intget_size()c......
  • 前端面经每日一题Day13
    script放到head中会怎么样?script标签可以放到head标签里面,也可以放到body标签里面,但是由于浏览器解析HTML文件会从上到下,所以为了防止阻塞页面渲染,我们一般放到body标签的最下面。阻塞页面渲染。因为浏览器解析HTML,遇到script标签会停止解析HTML,先下载执行脚本。如果脚本过大......
  • MySQLDay1
    MySQLDay1MySQL简介MySQL是一个典型的关系数据库,目前是Oracle公司产品之一,也是目前主流使用的关系型数据库之一。使用MySQL可以进行最基本的数据存储、管理、查询等操作,也可以方便的组建数据库集群,配置读写分离。MySQL数据库同样使用SQL(结构化查询语言)来进行操作,同时MySQL数据......
  • C++ 出现异常“.... \debug_heap.cpp Line:980 Expression:__acrt_first_block==head
      1. “修改了当前程序的vc运行库配置,问题解决(1)修改:项目-属性-配置属性-C/C++-代码生成-运行库,将其改为“多线程调试(/MTd)”。”其中:【多线程/MT】【多线程调试/MTd】-----【多线程DLL/MD(默认)】-------【多线程调试DLL/MDd】 /MT、/MTd、/MD、/MDd什么......
  • 读书笔记:C++20设计模式
    C++20设计模式:可复用的面向对象设计方法:reusableapproachesforobject-orientedsoftwaredesign,secondedition(俄)德米特里·内斯特鲁克(DmitriNesteruk)著,冯强国译译者序你需要有C++基础,了解C++新特性(lambda,auto,override)第1章引论1《设计模式:可复用面向对象软件......
  • Day33:安全开发-JavaEE应用&SQL预编译&Filter过滤器&Listener监听器&访问控制
    一,JavaEE-过滤器Filter1,过滤器的含义:Filter被称为过滤器,过滤器实际上就是对Web资源进行拦截,做一些处理后再交给下一个过滤器或Servlet处理,通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理。开发人员利用filter技术,可以实现对所有Web资源的管理,例如实现......
  • 打卡信奥刷题(431)用C++信奥B3969[普及组/提高]B3969 [GESP202403 五级] B-smooth 数
    [GESP202403五级]B-smooth数题目描述小杨同学想寻找一种名为$B$-smooth数的正整数。如果一个正整数的最大质因子不超过$B$,则该正整数为$B$-smooth数。小杨同学想知道,对于给定的$n$和$B$,有多少个不超过$n$的$B$-smooth数。输入格式第一行......
  • C++:异常(上)
    一:C语言的处理错误机制1.assert:大家肯定都用过,错了直接终止程序,这个挺暴力的。你想,比如你在软件中输入一个违禁词,直接把你软件崩了,那多不好。2.返回错误码:这个需要程序员自己去找错误。二:C++中异常概念在C++中,异常处理是一种在程序运行时处理错误的机制。它使用try、catch......
  • 【华为OD-E卷-ai面板识别 100分(python、java、c++、js、c)】
    【华为OD-E卷-ai面板识别100分(python、java、c++、js、c)】题目AI识别到面板上有N(1≤N≤100)个指示灯,灯大小一样,任意两个之间无重叠。由于AI识别误差,每次别到的指示灯位置可能有差异,以4个坐标值描述AI识别的指示灯的大小和位置(左上角x1,y1,右下角x2,y2),请输出先行后......