首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2011中考 | 2011高考 | 2012考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 雅思 | 专四专八 | 口译笔译 | 博思 | GRE GMAT
新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 | 法语 | 德语 | 韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师考试 | 秘书资格 | 心理咨询师考试 | 出版专业资格 | 广告师职业水平
驾驶员 | 网络编辑
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > C加加 > 复习资料 > 正文

计算机等级考试二级C++各章内容摘要:第10章

来源:考试吧Exam8.com) 2007-6-11 15:57:57 考试吧:中国教育培训第一门户 模拟考场

  【考点二】 输入输出的格式控制
  1.默认的输入输出格式在没有特地进行格式控制的情况下,输入输出采用默认格式。(1)默认的输入格式C+ +流所识别的输入数据的类型及其默认的输入格式包括:short、int、long(signed、unsigned):与整型常量同float、double、long double:与浮点数常量同char(signed、unsigned):第一个非空白字符 char *(signed、unsigned):从第一个非空白字符开始到下一个空白字符结束void*:无前缀的16进制数bool:把true或1识别为true,其他的均识别为false(vc6.0中把0识别为false,其他的值均识别为true)(2)默认的输出格式C+ +流所识别的输出数据的类型及其默认的输出格式包括:char(signed、unsigned):单个字符(无引号)short、int、long(signed、unsigned):一般整数形式,负数前有-号char *(signed、unsigned):字符序列(无引号)float、double、long double:浮点格式或指数格式(科学表示法),取决于哪个更短void *:无前缀的16进制数bool: 1或0

  2.格式标志与格式控制在作为流库根类的ios_base中,有一个作为数据成员的格式控制变量,专门用来记录格式标志;通过设置标志,可以有意识地对有格式输入输出的效果加以控制。各种格式标志被定义为一组符号常量。这些作为格式标志的常量与整数的对应关系是精心安排的,每一个标志对应一个二进制位,为1时表示对应标志已设置,为0时表示对应标志未设置。这些作为标志的二进制位保存在格式控制变量的低端的若干位中,每一个流对象都有这样一个作为数据成员的格式控制变量。在外部使用这些格式标志时,必须在标志前加上ios_base::修饰。格式标志中的有些关系密切的相邻标志被规定为域,一共有三个:由left、right和 internal组成的域称为adjustfield(对齐方式域);由dec、oct和hex组成的域称为basefield(数制方式域);由scientific和fixed组成的域称为floatfield(浮点方式域)。adjustfield、basefield和floatfield也是在ios_base中定义的,因此在外部使用时也必须加上域修饰前缀ios_base::(如ios_base::adjustfield)。可以通过调用流对象的下列三个成员函数直接设置格式控制标志:●fmtflags setf(fmtflags fmtfl,fmtflags mask);

  其中类型fmtflags实际上就是类型int。参数fmtf1为格式控制标志,参数mask为域。此函数用于设置某个域中的标志,设置前先将该域中所有标志清除。函数返回设置前的格式控制标志。●fmtflags setf(fmtflags fmtf1);

  其中参数fmtf1为格式控制标志。此函数用于设置指定的标志,即将指定的标志位置为1,其他标志位不受影响。函数返回设置前的格式控制标志。此函数多用于adjustfield、basefield和floatfield三个域之外的格式控制标志的设置。●void unsetf(fmtflags fmtf1);
     其中参数fmtf1为格式控制标志或域。此函数用于清除指定标志或域,即将指定标志位或域清0。除了使用上述函数外,还可以用操作符进行格式控制。对应于上述setf函数的操作符是:setiosflags(<格式控制标志>),对应于上述的unsetf函数的操作符是 :resetiosflags(格式控制标志或域)。

  3.输入输出宽度的控制宽度的设置可用于输入,但只对字符串输入有效。对于输出,宽度是指最小输出宽度。当实际数据宽度小于指定的宽度时,多余的位置用填充字符(通常是空格)添满;当实际数据的宽度大于设置的宽度时,仍按实际的宽度输出。初始宽度值为0,其含义是所有数据都将按实际宽度输出。宽度的设置与格式标志无关。有关的操作符是:●setw(int n):设置输入输出宽度;等价函数调用:io.width(n) 其中n为一个表示宽度的表达式。如果用于输入字符串,实际输入的字符串的最大长度为n-1。也就是说宽度n连字符串结束符也包含在内。函数 width返回此前设置的宽度;如果只需要这个返回值,可不给参数。注意:宽度设置的效果只对一次输入或输出有效,在完成了一个数据的输入或输出后,宽度设置自动恢复为0(表示按数据实际宽度输入输出)。宽度设置是所有格式设置中唯一的一次有效的设置。

  4.浮点数输出方式的控制在初始状态下,浮点数都按浮点格式输出,输出精度的含义是有效位的个数,小数点的相对位置随数据的不同而浮动;可以改变设置,使浮点数按定点格式或指数格式(科学表示法,如3.2156e+2)输出。在这种情况下,输出精度的含义是小数位数,小数点的相对位置固定不变,必要时进行舍入处理或添加无效0。设置的输出方式一直有效,直到再次设置浮点数输出方式时为止。有关操作符有:●resetiosflags(ios_base::floatfield):(此为默认设置)浮点数按浮点格式输出;等价函数调用:o.unsetf(ios_base::floatfield)●fixed :浮点数按定点格式输出;等价函数调用:o.setf(ios_base::fixed,ios_base::floatfield)●scientific:浮点数按指数格式(科学表示法)输出;等价函数调用:o.setf(ios_base::scientific,ios_base::floatfield)。

  5.输出精度的控制输入输出精度是针对浮点数设置的,其实际含义与浮点数输出方式有关:如果采用的是浮点格式,精度的含义是有效位数;如果采用的是定点格式或指数格式(科学表示法),精度的含义是小数位数。精度的设置用于输出,默认精度为6,可以通过设置改为任意精度;将精度值设置为0意味着回到默认精度6。设置的精度值一直有效,直到再次设置精度时为止。精度的设置与格式标志无关。有关操作符是:●setprecision(int n) :设置浮点数的精度(有效位数或小数位数);等价函数调用:io.precision(n)其中n为表明精度值的表达式。函数返回此前设置的精度;如果只需要这个返回值,可不给参数。

希望与更多计算机等级考试的网友交流,请进入计算机等级考试论坛

更多信息请访问:考试吧计算机等级考试栏目

上一页  1 2 3 4 5 下一页
文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。