c++复习_第一天(引用+小众考点)

https://en.cppreference.com/w/cpp/io/manip

参考一下,这一部分比较基础,所以就一遍过

eg1:转16进制

复制代码
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
    int n;
    cout << "请输入一个整数:";
    cin >> n;

    cout << "十六进制输出为:" << showbase << hex << n << endl;
    return 0;
}

eg2:表格对齐

cpp 复制代码
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    // 表头
    cout << left << setw(10) << "姓名"
         << right << setw(5) << "年龄"
         << setw(8) << "成绩" << endl;

    // 学生信息
    cout << left << setw(10) << "张天一"
         << right << setw(5) << 19
         << setw(8) << 85.5 << endl;

    cout << left << setw(10) << "Alice"
         << right << setw(5) << 21
         << setw(8) << 90.0 << endl;

    cout << left << setw(10) << "欧阳中天"
         << right << setw(5) << 22
         << setw(8) << 78.2 << endl;

    return 0;
}

eg3:设置精度

cpp 复制代码
#include<iostream>
#include<iomanip>
using namespace std;

int main()
{
    double num;
    cout << "请输入一个浮点数: ";
    cin >> num;

    //设置精度为3
    cout << fixed << setprecision(3);
    cout << "保留三位小数:" << num << endl;

    //恢复默认精度
    cout.unsetf(ios::fixed);
    cout << setprecision(6); //恢复默认精度
    cout << "恢复默认精度" << num << endl;
    return 0;
}

e g4:小数点

cpp 复制代码
//保留小数点后3位
#include<iostream>
#include<iomanip>

using namespace std;

int main()
{
    double num;
    cout << "请输入一个浮点数:";
    cin >> num;

    cout << fixed << setprecision(3);
    cout << "保留3位小数的输出结果为:" << num << endl;

    return 0;
}

eg5://值传递:不会真正交换主函数中的变量

//地址传递,使用指针,交换主函数变量的值

//引用传递,最简单最安全的方式,直接交换主函数变量

cpp 复制代码
#include<iostream>
using namespace std;

//值传递:不会真正交换主函数中的变量
void swapByValue(int a ,int b){
    int temp = a;
    a = b;
    b = temp;
}

//地址传递,使用指针,交换主函数变量的值
void swapByAddress(int *a,int *b)
{
    int temp = *a;
    *a = *b;
    *b = temp;
}

//引用传递,最简单最安全的方式,直接交换主函数变量
void swapByReference(int& a,int& b)
{
    int temp = a;
    a = b;
    b = temp;
}
int main()
{
    int x =10,y = 20;
    //值传递
    cout << "初值: x =  " << x <<", y = " << y << endl;
    swapByValue(x,y);
    cout << "main中值传递后: x =  " << x <<", y = " << y << endl;
    //地址传递
    swapByAddress(&x,&y);
    cout << "main中地址传递后: x =  " << x <<", y = " << y << endl;
    //引用传递
    swapByReference(x,y);
    cout << "main中引用传递后: x =  " << x <<", y = " << y << endl;

    return 0;
}

eg6:函数重载

cpp 复制代码
//重载(overload)函数就是在同一个作用域内几个函数名字相同但形参列表不同。一个函数名对应多个不同的代码。
#include<iostream>
using namespace std;

void add(int x,int y)
{
    cout << "int:" << x + y << endl;
}
void add(float x)
{
    cout << "float: " << 10 + x << endl;
}
double add(double x,double y)
{
    return x + y;
}

int main()
{
    add(10.2);
    add(1,3);
    return 0;
}

e g7:默认参数

cpp 复制代码
#include<iostream>
using namespace std;

void greetings(string name,string greeting = "Hello")
{
    cout << greeting << "," << name << endl;
}

int main()
{
    greetings("Alice");
    greetings("Bob","Hi");

    return 0;
}

e g8:函数重载

cpp 复制代码
#include<iostream>
#include<cmath>
#define PI 3.14
using namespace std;

double caculateArea(double radius)
{
    return PI * radius * radius;
}

double caculateArea(double length,double width)
{
    return length * width;
}

double caculateArea(double a ,double b,double c)
{
    double s = (a + b + c)/2.0;
    return sqrt(s*(s-a)*(s-b)*(s-c));
}

int main()
{
    cout << "圆的面积" << caculateArea(5.0) << endl;

    cout << "矩形面积" << caculateArea(4.0,6.0) << endl;

    cout << "三角形面积" << caculateArea(3.0,4.0,5.0) << endl;

    return 0;
}

eg9:字符串

cpp 复制代码
 #include<iostream>
 #include<string>
 using namespace std;
 int main()
 {
    string s;
    //cin >> s; //无法读取含有空格的字符串
    getline(cin,s); //这个就可以读取一行的
    cout << s.length() << endl;
    cout << s.front() << "," << s.back() << endl;
    for(auto& ch : s)
    if(ch == 'a') ch = 'A';
    cout << s << endl;
    return 0;

 }
相关推荐
hnjzsyjyj4 小时前
东方博宜OJ 2190:树的重心 ← 邻接表 or 链式前向星
数据结构·链式前向星·树的重心
ChoSeitaku6 小时前
NO15数据结构选择题考点|线性表|栈和队列|串
数据结构
醇氧6 小时前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
hetao17338377 小时前
2025-12-12~14 hetao1733837的刷题笔记
数据结构·c++·笔记·算法
椰子今天很可爱7 小时前
五种I/O模型与多路转接
linux·c语言·c++
一直都在5727 小时前
数据结构入门:时间复杂度与排序和查找
数据结构
MapGIS技术支持7 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
程序员zgh7 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
小灰灰搞电子7 小时前
Qt 重写QRadioButton实现动态radioButton源码分享
开发语言·qt·命令模式
by__csdn8 小时前
Vue3 setup()函数终极攻略:从入门到精通
开发语言·前端·javascript·vue.js·性能优化·typescript·ecmascript