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;

 }
相关推荐
十二1 小时前
【洛谷题解】P1083 [NOIP 2012 提高组] 借教室(二分答案 + 差分)
数据结构·c++·算法·蓝桥杯
心祭丫丫1 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
露天赏雪2 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
D e re k ZH3 小时前
C++ 从零入门(一):基础语法与程序结构
数据结构·c++·算法
yeccheng4 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试
联犀4 小时前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
zjxtxdy4 小时前
C++面向对象程序开发-类与对象
开发语言·c++
東隅已逝,桑榆非晚6 小时前
算法6. 双指针法-查找总价格为目标的两个商品
c++·学习·算法
qq_406981037 小时前
c++拷贝构造函数
开发语言·c++
爱喝雪碧的可乐7 小时前
MATLAB
开发语言·算法·matlab