新人初学编程,这个输出看不懂呀,请大神指教一下
发表在C语言图书答疑 2022-02-19 悬赏:20 学分 《零基础学C语言》第3章 C语言基础
是否精华
版块置顶:

#include <iostream>

#include <iomanip>

using namespace std;

void main()

{

double adouble = 123.456789012345;                        // 定义double类型的变量adouble

cout << adouble << endl;                             // 输出变量adouble的值,并输出换行

cout << setprecision(9) << adouble << endl;     // 设置浮点数的输出精度为9

cout << setprecision(6);                                   // 恢复默认格式(精度为6)

// << setiosflags(ios::fixed);                          // 设置格式标志

// 设置格式标志和精度,并输出adouble和回车

//cout << resetiosflags(ios::fixed);

cout <<  setiosflags(ios::fixed)<<setprecision(8) << adouble << endl;

// 设置格式标志,并输出adouble和回车

cout  << setprecision(5)<<adouble << endl;

// 设置格式标志和精度,并输出adouble和回车

cout <<  setprecision(1) << adouble << endl;

cout << setiosflags(ios::scientific) << adouble << endl;




// 整数输出

int aint = 123456;                                        // 对aint赋初值

cout << aint << endl;                                   // 输出: 123456

cout << hex << aint << endl;                           // 输出: 1e240

cout << setiosflags(ios::uppercase) << aint << endl; // 输出: 1E240

cout << dec << setw(10) << aint << ',' << aint << endl;   // 输出:     123456,123456

cout << setfill('*') << setw(10) << aint << endl;    // 输出: **** 123456

cout << setiosflags(ios::showpos) << aint << endl;   // 输出: +123456



////////////////////////////////////////////////////////////////////////////////

// 输出大写的十六进制

int aint_i = 0x2F, aint_j = 255;            // 定义变量

cout << aint_i << endl;           // 输出10进制整数

cout << hex << aint_i << endl;   // 输出十六进制整数

cout << hex << aint_j << endl;   // 输出十六进制整数

// 输出大写的十六进制整数



////////////////////////////////////////////////////////////////////////////////

// 控制输出精确度

int aint_x = 123;                  // 定义整型变量并赋值

double adouble_y = -3.1415;          // 定义双精通浮点型变量并赋值


cout << "aint_x=";               // 输出字符串

cout.width(10);             // 设置宽度为10

cout << aint_x<<endl;                  // 输出aint_x变量的值:'       123',前面有7个空格

cout << "adouble_y=";               // 输出字符串

cout.width(10);             // 设置宽度为10

cout << setprecision(3)<<adouble_y << endl;     // 输出adouble_y变量的值:'   -3.1415',前面有3个空格


cout.setf(ios::left);      // 设置为左对齐

cout << "aint_x=";               // 输出字符串

cout.width(10);             // 设置宽度为10

cout << aint_x;                  // 输出aint_x变量的值:'123       ',后面有7个空格

cout << "adouble_y=";               // 输出字符串

cout << adouble_y << endl;      // 输出adouble_y变量的值:'-3.1415   ',后面有3个空格


cout.fill('*');             // 设置填充的字符为*

cout.precision(4);          // 设置精度为4位

cout.setf(ios::showpos);   // 设置输出时显示符号

cout << "aint_x=";               // 字符串

cout.width(10);             // 设置宽度为10

cout << aint_x;                  // 输出aint_x变量的值:'+123******'

cout << "adouble_y=";               // 输出字符串

cout.width(10);             // 设置宽度为10

cout << setprecision(3) << adouble_y << endl;           // 输出adouble_y变量的值:'-3.142****'


////////////////////////////////////////////////////////////////////////////////

// 流输出小数控制

float afloat_x = 20, afloat_y = -400.00;

cout << setprecision(0) << afloat_x << ' '<<setprecision(0) <<   afloat_y << endl;

cout.setf(ios::showpoint);         // 强制显示小数点和无效0

cout << setprecision(2) << afloat_x << ' ' <<setprecision(1)<< afloat_y << endl;

cout.unsetf(ios::showpoint);

cout << setprecision(0)<<afloat_x << ' ' << setprecision(0) << afloat_y << endl;

cout << setprecision(0) << afloat_x << ' ' << setprecision(0) << afloat_y << endl;

}

输出的结果为

微信截图_20220219180235.png

里面一个是0x1.edd3c07fb4c69p+6这个显示的看不懂

还有最后面4行为什么输出的是一样的

分享到:
精彩评论 2
15910186596
学分:23 LV2
2022-02-19
沙发

我用的是VS2021,这个输出结果0x1.edd3c07fb4c69p+6要怎么看呀,感觉完全看不懂

game99258
学分:2266 LV10
2022-06-21
板凳

配置控制台试试

首页上一页 1 下一页尾页 2 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照