常用概念注意点

  1. printf(“%d”, “C++”); //输出宇符串”C++”的地址

  2. 实际上,在内存中为每一个数据流开辟一个内存缓冲区,用来存放流中的数据。当用cout和插入运算符“<<”向显示器输出数据时,先将这些数据送到程序中的输出缓冲区保存,直到缓冲区满了或遇到endl,就将缓冲区中的全部数据送到显示器显示出来。在输入时,从键盘输入的数据先放在键盘的缓冲区中,当按回车键时,键盘缓冲区中的数据输入到程序中的输入缓冲区,形成cin流,然后用提取运算符“ >>”从输入缓冲区中提取数据送给程序中的有关变量。总之,流是与内存缓冲区相对应的,或者说,缓冲区中的数据就是流。

  3. cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插 人一个endl时,不论缓冲区是否已满,都立即输出流中所有数据,然后插入一个换行符, 并刷新流(清空缓冲区)。注意如果插人一个换行符”\n“(如下),则只输出和换行,而不刷新cout流(但并不是所有编译系统都体现出这一区别)。
    cout<<a<<"\n";

  4. cerr流对象是标准错误流,cerr流已被指定为与显示器关联。cerr的作用是向标准错误设备(standard error device)输出有关出错信息。cerr与标准输出流cout的作用和用法差不多。但有一点不同:cout流通常是传送到显示器输出,但也可以被重定向输出到磁盘文件,而cerr流中的信息只能在显示器输出。当调试程序时,往往不希望程序运行时的出错信息被送到其他文件,而要求在显示器上及时输出,这时应该用cerr。cerr流中的信息是用户根据需要指定的。

使用控制符控制输出格式

#include <iostream>
#include <iomanip>//不要忘记包含此头文件
using namespace std;
int main()
{int a;cout<<"input a:";cin>>a;cout<<"dec:"<<dec<<a<<endl;  //以十进制形式输出整数cout<<"hex:"<<hex<<a<<endl;  //以十六进制形式输出整数acout<<"oct:"<<setbase(8)<<a<<endl;  //以八进制形式输出整数achar *pt="China";  //pt指向字符串"China"cout<<setw(10)<<pt<<endl;  //指定域宽为,输出字符串cout<<setfill('*')<<setw(10)<<pt<<endl;  //指定域宽,输出字符串,空白处以'*'填充double pi=22.0/7.0;  //计算pi值//按指数形式输出,8位小数cout<<setiosflags(ios::scientific)<<setprecision(8);cout<<"pi="<<pi<<endl;  //输出pi值cout<<"pi="<<setprecision(4)<<pi<<endl;  //改为位小数cout<<"pi="<<setiosflags(ios::fixed)<<pi<<endl;  //改为小数形式输出return 0;
}

运行结果如下
input a:34↙(输入a的值)
dec:34 (十进制形式)
hex:22 (十六进制形式)
oct:42 (八进制形式)
China (域宽为)
****China (域宽为,空白处以’‘填充)
pi=3.14285714e+00 (指数形式输出,8位小数)
pi=3.1429e+00 (指数形式输出,4位小数)
pi=3.143 (小数形式输出,精度仍为)

用流对象的成员函数控制输出格式

#include <iostream>
using namespace std;
int main( )
{int a=21cout.setf(ios::showbase);//显示基数符号(0x或)cout<<"dec:"<<a<<endl;         //默认以十进制形式输出acout.unsetf(ios::dec);         //终止十进制的格式设置cout.setf(ios::hex);           //设置以十六进制输出的状态cout<<"hex:"<<a<<endl;         //以十六进制形式输出acout.unsetf(ios::hex);         //终止十六进制的格式设置cout.setf(ios::oct);           //设置以八进制输出的状态cout<<"oct:"<<a<<endl;         //以八进制形式输出acout.unsetf(ios::oct);char *pt="China";              //pt指向字符串"China"cout.width(10);                //指定域宽为cout<<pt<<endl;                //输出字符串cout.width(10);                //指定域宽为cout.fill('*');                //指定空白处以'*'填充cout<<pt<<endl;                //输出字符串double pi=22.0/7.0;            //输出pi值cout.setf(ios::scientific);    //指定用科学记数法输出cout<<"pi=";                   //输出"pi="cout.width(14);                //指定域宽为cout<<pi<<endl;                //输出pi值cout.unsetf(ios::scientific); //终止科学记数法状态cout.setf(ios::fixed);        //指定用定点形式输出cout.width(12);               //指定域宽为cout.setf(ios::showpos);      //正数输出“+”号cout.setf(ios::internal);     //数符出现在左侧cout.precision(6);            //保留位小数cout<<pi<<endl;               //输出pi,注意数符“+”的位置return 0;
}

运行情况如下
dec:21(十进制形式)
hex:0x15 (十六进制形式,以x开头)
oct:025 (八进制形式,以开头)
China (域宽为)
****China (域宽为,空白处以’‘填充)
pi=**3.142857e+00 (指数形式输出,域宽,默认位小数)
+***3.142857 (小数形式输出,精度为,最左侧输出数符“+”)

C/C++——输入输出特别注意点相关推荐

  1. [BZOJ] 1911 [Apio2010]特别行动队

    题目描述 你有一支由 n 名预备役士兵组成的部队,士兵从 1 到 n 编号,要将他们拆分 成若干特别行动队调入战场.出于默契的考虑,同一支特别行动队中队员的编号 应该连续,即为形如 (i, i + 1 ...

  2. linux脚本重定向到输入,linux shell输入输出重定向

    新建一个文本文件包含所需要的脚本.举例,我会使用pico编辑器写一个脚本用来运行程序tar,带上必要的可选项可以用来解压从因特网下载下来的*.tar的文件(我好像总是记不住tar的所有参赛).我决定把 ...

  3. python eval 入门_Python学习笔记整理3之输入输出、python eval函数

    Python学习笔记整理3之输入输出.python eval函数 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python学习笔记整理3之输入输出.python eval函数 ...

  4. python输入输出-python 输入输出 - 刘江的python教程

    输入输出 阅读: 18476 评论:6 无论是从我们一开始的"hello world",还是前面章节的里各种例子,基本都是些"自说自话",展示类的代码片段.只有 ...

  5. ACM中Java输入输出

    最初写算法时,是用Scanner的.因为当时接触的测试数据基本都是以算法的复杂度为主,但是后面遇到大量的输入数据时.发现Scanner远远不能满足条件.下面列出几种常用的输入输出方式.(输出统一用pr ...

  6. python输出变量代码_Python中变量的输入输出实例代码详解

    1.变量的输入: input函数: input() input("请输入银行卡密码") password = input("请输入银行卡密码") 变量名 = i ...

  7. ACM的输入输出总结

    关于ACM的输入输出(一) 一般来说ACM的现场赛会规定输入输出 或者是文件输入标准输出 也可能是文件输入文件输出 如果没有规定的话那么一般就是标准的输入输出了 那说一下输入输出的重定向 一般用下面两 ...

  8. Java学习笔记(7)——输入输出

    1.File 不同的操作系统对于档案系统路径的设定各有差别,例如在Windows中,一个路径的表示法可能是: "c:\\Windows\\Fonts\\" 而在Linux下的路径设 ...

  9. Linux c学习--从标准输入输出看流和缓冲区

    学习标准输入输出,我们都会遇到一个概念,流和缓冲区,但到底什么是流,什么是缓冲区呢? 书<C Primer Plus>上说,C程序处理一个流而不是直接处理文件.后面的解释十分抽象:『流(s ...

最新文章

  1. DataSnap如何监控Tcp/IP客户端的连接情况
  2. OPatch cannot find a valid oraInst.loc file to locate Central Inventory
  3. m40型工业机器人_工业机器人在汽车生产中有的应用范围
  4. java多线程基础视频_【No996】2020年最新 Java多线程编程核心基础视频课程
  5. 【线上分享】高性能视频推理引擎优化
  6. LeetCode之Excel Sheet Column Number
  7. EOSIO:EOSIO最新版1.4.0创建测试账户
  8. keytool生成证书_基于 TrueLicense 的项目证书验证
  9. 8篇文章系统梳理ARM开发中的文件类型
  10. Javascript:json数据根据某一个字段进行排序
  11. 物体检测算法:R-CNN,SSD,YOLO 动手学深度学习v2 pytorch
  12. 固态硬盘和机械硬盘的区别(7大区别,简单易懂)
  13. 真正的骨传导耳机有哪些品牌、性价比高的骨传导耳机排名
  14. 1.计算机指令系统,深入学习计算机指令系统唐书
  15. python打开网页被禁止_Python请求无法刮取403禁止的网页
  16. linux驱动文件目录
  17. 20210514面试题自我分类及总结(一)
  18. [ohasd(61322)]CRS-0715:Oracle High Availability Service has timed out waiting for init.ohasd to be..
  19. C#_图片存取数据库Winform
  20. 关于“参商两曜斗西东”中“参商”和“两曜”具体指什么

热门文章

  1. 爬虫模拟登陆手机验证码_爬虫入门到精通-headers的详细讲解(模拟登录知乎)...
  2. 虚函数和虚表指针的例子
  3. Linux ${}表达式详解
  4. 宝塔 + 百度BCC + centos + vue + 搭建nginx服务器
  5. 兰空图床Lsky Pro 免费开源图床网站程序v1.6.3
  6. WordPress5.7版本下载及更新内容
  7. addeventlistener事件参数_从Chrome源码看浏览器的事件机制
  8. python爬app_Python爬虫抓取手机APP的传输数据
  9. 指北针邮件工具 v1.5.6.1
  10. 福建二级计算机考试12,福建农林大学2016年12月计算机二级考试通知