广告网站建设与制作,网站建设 豫icp备,尚义住房和城乡规划建设局网站,北京网站建设的C入门——输入输出、缺省参数
一、C标准库——命名空间 std
C标准库std是一个命名空间#xff0c;全称为standard#xff0c;其中包括标准模板库#xff08;STL#xff09;#xff0c;输入输出系统#xff0c;文件系统库#xff0c;智能指针与内存管理入门——输入输出、缺省参数
一、C标准库——命名空间 std
C标准库std是一个命名空间全称为standard其中包括标准模板库STL输入输出系统文件系统库智能指针与内存管理字符串与文本处理等等我们以输入输出流和标准模板库为例简单地认识一下C标准库里面有哪些内容
1.输入输出系统
1流Streams
基础流iostreamcin, cout, cerr文件流fstream, ifstream, ofstream字符串流stringstream用于内存数据格式化
2格式化工具
std::formatC20类型安全字符串格式化本地化支持locale与wcout宽字符输出
2.标准模板库STL
1 容器Containers
序列容器vector, list, deque, arrayC11关联容器map, set, unordered_mapC11, unordered_setC11适配器stack, queue, priority_queue
2 算法Algorithms
非修改序列操作find, count, for_each修改序列操作copy, transform, replace排序与搜索sort, binary_search, lower_bound
3 迭代器Iterators
五类迭代器输入/输出、前向/双向/随机访问范围遍历C20引入ranges::简化迭代操作 在本期内容中我们只需要认识一下输入输出流中iostream的cin,cout完成一些简单的输入输出操作即可。
二、输入输出——cin / cout
我们先来看这样一段代码
1.#include iostream
C的输入输出需要包含头文件 iostream 并且展开命名空间stdC标准库刚才上面的内容中我们已经介绍了cin/cout是包含在头文件 iostream 中而 iostream 又包含在命名空间std中在上期内容的讲解中我们知道想要使用命名空间里的内容就需要展开命名空间或者指定访问命名空间。在这里由于是平时学习的代码内容不是很多所以我们就直接展开命名空间写起来比较方便如果不展开命名空间输入的内容就要就相对多一些如图所示
使用域作用限定符指定访问命名空间中的内容 使用using将命名空间的cout、endl成员引入 我们来看下面一段代码
要注意的是展开命名空间要写在头文件之后这是规范的写法符合顺序逻辑也就是编译器的解析流程这里不过多赘述。
2.cout与cin
1cout——标准输出流
基础输出语法cout Hello World; // 输出字符串
cout 10 is the answer; // 链式输出拼接不同类型 数据类型支持 cout通过运算符重载支持所有内置类型
int num 2025;
double pi 3.1415926;
bool flag true; cout num endl; // 输出2025
cout pi endl; // 输出3.14159默认精度6位
cout flag endl; // 输出1true为1false为0 在这里我们就不需要像printf那样使用%d,%f,%lf等来输出对应类型的值了因为cout可以自行判断。当然如果需要输出小数点后指定多少位或者一个数字占多少位这里就不是那么简单了在这种情况下还是使用printf输出比较方便因为C是兼容C的。
2cin——标准输入流
头文件#include iostream本质cin是std::istream类的全局实例绑定标准输入设备通常为键盘缓冲机制输入内容暂存于内存缓冲区按需提取至变量基础数据读取
int age;
double salary;
cin age salary; // 输入30 85000.5后age30, salary85000.5 自动类型转换将输入字符序列转换为目标类型数据空格分隔默认跳过前导空白以空格/换行为数据分隔符链式操作支持连续提取多个变量。
总而言之cin就相当于C语言中的scanf。
3endl——流操纵器
endl是C标准库中定义的流操纵器Manipulator其行为包含两个不可分割的原子操作 换行输出向输出流插入换行符\n使后续输出从新行开始 强制刷新调用flush()方法立即将流缓冲区内容写入目标设备如控制台、文件、网络套接字。
简单来讲先将endl理解为\n即可。
3. 流插入与 流提取
流插入运算符
流插入运算符是C中输出流操作的核心工具其本质是ostream类中重载的运算符函数。通过该运算符数据从内存对象流向输出设备如控制台、文件、网络套接字。什么是控制台黑框框就是
流提取运算符
流提取运算符是C输入流istream的核心操作符用于从输入源如键盘、文件、网络提取数据到变量。其本质是istream类中重载的运算符函数遵循链式调用规则。 如图所示 这里就是将键盘上输入的10提取出来赋给变量a。
三、缺省参数
1.缺省参数的概念
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时如果没有指定实参则采用该形参的缺省值否则使用指定的实参举个简单的例子 如图所示Fun函数中提供了一个缺省参数a1也就是说当我们没有传参的时候它就会默认调用a1输出结果为1如果传参了比如这里传了一个10那么就传什么输出什么。
2.缺省参数的分类
全缺省参数 如图所示 这里在函数定义中三个参数都是缺省参数还是这样的原则没传参就使用缺省参数如果传参那么就传什么输出什么并且这里是有顺序的Fun(20)就是先把20传给ab和c使用缺省参数Fun(20,30)就是先传给a,bc依然使用缺省参数。半缺省参数 如图所示 需要注意的是半缺省参数必须从右往左依次来给出不能间隔着给如图 前一个例子是缺省的两边中间没有缺省参数后一个是从左往右安排的缺省参数这些都是不对的。
本期总结下期预告
本期内容为大家详细介绍了C的输入输出和缺省参数下期内容将为大家带来函数重载和引用相关的知识
感谢大家的关注我们下期再见