在C++中,cout代表的是标准输出设备,即显示器,相对于C语言中所使用的printf函数,cout显得更为灵活。下面以30、300和1024三个数为例子,简单说明cout输出时所选格式的输出。cout默认以十进制方式输出数值,也可以设置为八进制(oct)、十六进制(hex)输出方式,同时还可以显示输出方式的基指示符(进制标识符,例如八进制的O,十六进制的Ox)。

 //设置输出格式
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout<<"please input a string"<<endl;
char str[];
cin>>str; //cin默认以空格作为定界符,考虑使用getline()函数
cout<<"str = "<<str<<endl; cout<<"----------------"<<endl; int x = , y = , z = ;
cout<<x<<' '<<y<<' '<<z<<endl; cout.unsetf(ios::dec); //取消十进制输出格式
cout.setf(ios::showbase | ios::uppercase); //showbase是基指示符,指示进制,uppercase只对于OX大写有效
cout<<x<<' '<<y<<' '<<z<<endl; cout.unsetf(ios::showbase | ios::uppercase); //取消showcase和uppercase
cout.setf(ios::oct); //设置八进制输出格式
cout<<x<<' '<<y<<' '<<z<<endl; cout.setf(ios::showbase | ios::uppercase);
cout<<x<<' '<<y<<' '<<z<<endl; cout.unsetf(ios::oct);
cout.unsetf(ios::showbase | ios::uppercase );
cout.setf(ios::hex); //设置十六进制输出格式
cout<<x<<' '<<y<<' '<<z<<endl; //cout.unsetf(ios::showbase | ios::lowercase ); //lowercase在此处不行
//cout<<x<<' '<<y<<' '<<z<<endl; cout.setf(ios::showbase | ios::uppercase);
cout<<x<<' '<<y<<' '<<z<<endl; cout.unsetf(ios::showbase | ios::uppercase);
cout.unsetf(ios::hex);
cout<<x<<' '<<y<<' '<<z<<endl; cout<<"----------------"<<endl;
cout<<x<<' '<<y<<' '<<z<<endl; //按十进制输出
cout<<oct<<x<<' '<<y<<' '<<z<<endl; //按八进制输出 cout<<setiosflags(ios::showbase); //设置基指示符 //setiosflags设置
cout<<x<<' '<<y<<' '<<z<<endl; //仍按八进制输出 cout<<resetiosflags(ios::showbase); //取消基指示符 //resetiosflags取消
cout<<hex<<x<<' '<<y<<' '<<z<<endl; //按十六进制输出 //设置基指示符和数值中的字母大写输出
cout<<setiosflags(ios::showbase | ios::uppercase);
cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六进制输出 //取消基指示符和数值中的字母大写输出
cout<<resetiosflags(ios::showbase | ios::uppercase);
cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六进制输出 cout<<dec<<x<<' '<<y<<' '<<z<<endl; //按十进制输出 return ;
}

程序运行结果:

cout的输出格式初探的更多相关文章

  1. cout的输出格式初探3

    #include <iostream> #include <iomanip> using namespace std; int main() { double f=2.0/3. ...

  2. cout的输出格式初探2

    #include <iostream> #include <iomanip> using namespace std; int main() { cout<<&qu ...

  3. c++ --> cin和cout输入输出格式

    cin和cout输入输出格式 Cout 输出 1>. bool型输出 cout << true <<" or " << false < ...

  4. [转] C/C++中printf和C++中cout的输出格式

    原文地址 一. Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项.各项的意义介绍如下:1.类型类型字符用以表示输出数 ...

  5. C/C++中printf和C++中cout的输出格式

    一. Printf 输出格式 C中格式字符串的一般形式为: %[标志][输出最小宽度][.精度][长度]类型,其中方括号[]中的项为可选项.各项的意义介绍如下:1.类型类型字符用以表示输出数据的类型, ...

  6. POJ 3181 Dollar Dayz && Uva 147 Dollars(完全背包)

    首先是 Uva 147:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_p ...

  7. 2016.6.24——vector<vector<int>>【Binary Tree Level Order Traversal】

    Binary Tree Level Order Traversal 本题收获: 1.vector<vector<int>>的用法 vector<vector<int ...

  8. C++输入流和输出流、缓冲区

    一.C++输入流和输出流 输入和输出的概念是相对程序而言的. 键盘输入数据到程序叫标准输入,程序数据输出到显示器叫标准输出,标准输入和标准输出统称为标准I/O,文件的输入和输出叫文件I/O. cout ...

  9. 【HDU - 2181】哈密顿绕行世界问题(dfs+回溯)

    -->哈密顿绕行世界问题 Descriptions: 一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市.  Input 前2 ...

随机推荐

  1. box-sizing定义的盒模型之间的区别

  2. loadrunner学习笔记之参数设置

    一.关于参数的定义 在你录制程序运行的过程中,脚本生成器自动生成由函数组成的用户脚本.函数中参数的值就是在录制过程中输入的实际值. 例如,你录制了一个Web应用程序的脚本.脚本生成器生成了一个声明,该 ...

  3. JQuery重定向

    window.location.href = "这里写页面的路径"; 如:window.location.href ="www.baidu.com";

  4. 机器学习:KNN-近邻算法

    一.理论知识 1.K近邻(k-Nearest Neighbor,简称KNN)学习是一种常用的监督学习. 工作机制:给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,然后基于这k个的信 ...

  5. leetcode 相交链表 python实现

    这道题 要想解决其实不难, 开两层循环进行遍历就能实现,但是会超时 如果想要O(n) 的时间复杂度, 我考虑用哈希表来存储遍历过的元素,如果发现当前遍历的元素在哈希表里,那说明交叉点就在这 这里利用了 ...

  6. python opencv3 grabcut前景检测

    git:https://github.com/linyi0604/Computer-Vision import numpy as np import cv2 import matplotlib.pyp ...

  7. SQLSERVER2014集群实战——DNS的坑

    近几日生产环境总是偶发的出现数据库连接失败的错误,一开始并未引起重视,因为反馈的人很少,而且应用服务器与数据库服务器都处在同一机房的内网环境,相互之间的访问应该是很稳定的.直到早上有几分钟的时间里出现 ...

  8. [BZOJ3309]DZY Loves Math(莫比乌斯反演+线性筛)

    $\sum\limits_{T=1}^{n}\lfloor\frac{n}{T}\rfloor\lfloor\frac{m}{T}\rfloor\sum\limits_{d|T}f(d)\mu(\fr ...

  9. BZOJ.4552.[HEOI2016/TJOI2016]排序(线段树合并/二分 线段树)

    题目链接 对于序列上每一段连续区间的数我们都可以动态开点建一棵值域线段树.初始时就是\(n\)棵. 对于每次操作,我们可以将\([l,r]\)的数分别从之前它所属的若干段区间中分离出来,合并. 对于升 ...

  10. 【推导】zoj3846 GCD Reduce

    题意:给你n个正整数a1...an,一次操作是选择任意两个数ai,aj,将它们都替换成gcd(ai,aj).让你在5n步内将所有数变为1.或者输出不可能. 如果所有数的gcd不为1,显然不可能. 否则 ...