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

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:表格对齐

#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:设置精度

#include<iostream>
#include<iomanip>
using namespace std;int main()
{double num;cout << "请输入一个浮点数: ";cin >> num;//设置精度为3cout << fixed << setprecision(3);cout << "保留三位小数:" << num << endl;//恢复默认精度cout.unsetf(ios::fixed);cout << setprecision(6); //恢复默认精度cout << "恢复默认精度" << num << endl;return 0;
}

e g4:小数点

//保留小数点后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://值传递:不会真正交换主函数中的变量

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

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

#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:函数重载

//重载(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:默认参数

#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:函数重载

#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:字符串

 #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;}

http://www.xdnf.cn/news/668251.html

相关文章:

  • c#,vb.net使用OleDb写入Excel异常:字段太小而不能接受所要添加的数据的数量
  • etcd:高可用,分布式的key-value存储系统
  • 鸿蒙OSUniApp 实现登录状态管理与持久化#三方框架 #Uniapp
  • 如何通过ES实现SQL风格的查询?
  • linux快速入门-VMware安装linux,配置静态ip,使用服务器连接工具连接,快照和克隆以及修改相关配置信息
  • 【机器学习基础】机器学习入门核心算法:逻辑回归(Decision Tree)
  • 第一章 LVS 负载均衡群集核心概念与体系架构
  • 计算机网络实验课(三)——直接使用数据构造以太网帧,打包并发送|使用SharpPcap库函数构造以太网帧,并发送出去
  • 哈希算法:原理、应用、安全演进与推荐
  • 学习路之PHP--easyswoole入门及文件热加载
  • 织梦dedecms arclist最新发布日期显示红色
  • Android 15 控制亮屏灭屏接口实现
  • WPF【11_2】WPF实战-重构与美化(Entity Framework)-示例
  • 数据仓库基础知识总结
  • Python-ArcGIS蒸散发组分解析与GPP估算技术
  • 数据中台(大数据平台)之数据仓库建设
  • LLM+RAG:文本分块处理策略
  • Apache DolphinScheduler存储系统详解| AI生成技术文档系列
  • Vue3进阶教程:1.初次了解vue
  • Mobaxterm解锁Docker
  • Docker Desktop for Windows 系统设置说明文档
  • DBCP连接池的使用方法和源码分析
  • PCB布局/走线
  • 2025年上半年第2批信息系统项目管理师论文真题解析与范文
  • 深入理解Java中的BigDecimal:高精度计算的核心工具
  • 第二批考更有利?软考高项两个批次考试难度对比分析!
  • 银河麒麟V10×R²AIN SUITE:用AI重构安全,以国产化生态定义智能未来
  • Ansible 配置Playbook文件格式、关键字和语法详解
  • 每日Prompt:古花卷
  • 探究Azure devops 流水线缓存