重学C++Primer笔记2---输入/输出 操作符 左操作数 右操作数 深入理解

IO对象:

通过标准库定义的4个IO对象,来实现与输入输出设备(键盘、显示器等)的交互。
标准输入对象:cin
标准输出对象:cout
标准错误对象:cerr,无缓冲输出
标准错误对象:clog,有缓冲输出

特殊操纵符:endl

  endl。通过将特殊操作符endl写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区(buffer)。通过刷新缓冲区,用户可以立即看到写入到流中的输出。注意在程序调试过程中插入了cout或者clog输出语句,这些语句都需要刷新输出流,忘记刷新输出流可能会导致输出流停留在缓冲区中,如果程序崩溃,将会导致对程序崩溃位置的错误推断。

常见操作符:

输出操作符:<< ,写入到流
输入操作符:>> ,从流读入数据
作用域操作符::: ,std::cout表示使用定义在命名空间std中的cout
调用操作符:() ,即我们常见的函数名后面成对出现的圆括号
自增操作符:++ 
复合赋值操作符:+=
点操作符:.
赋值操作符:=
等于操作符:==
不等于操作符:!=
小于或等于操作符:<=
小于操作符:<
大于或等于操作符:>=
大于操作符:>

左操作数右操作数:

左右之分是建立在运算符的基础上的,如双目运算符左边的就是左操作数,在右边的就是右操作符。

输入输出格式:

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    int ival = 20;

    /*进制输出*/
    cout <<"oct : " <<oct <<ival <<endl ;        // 24 : 8 进制
    cout <<"dec : " <<dec <<ival <<endl ;        // 20 : 10 进制
    cout <<"hex : " <<hex <<ival <<endl ;        // 14 : 16 进制
    cout <<"hex : " <<hex <<20.22 <<endl ;       // 20.22 : 不受影响
    /*输出当前机器上内置类型的大小*/
    cout <<"bool:" << sizeof(bool) << endl;
    cout <<"char:" << sizeof(char) << endl;
    cout <<"short:" << sizeof(short) << endl;
    cout <<"int:" << sizeof(int) << endl;
    cout <<"long:" << sizeof(long) << endl;
    cout <<"float:" << sizeof(float) << endl;
    cout <<"double:" << sizeof(double) << endl;
    cout <<"long double:" << sizeof(long double) << endl;
    /*浮点数显示*/
    cout << fixed << setprecision(1) << 12.3456789 << endl; //12.3
    cout << fixed << setprecision(2) << 12.3456789 << endl; //12.35
    cout << fixed << setprecision(3) << 12.3456789 << endl; //12.346

    return 0;
}

系统大小端判断

/*
大端:低地址存储高字节
小端:低地址存储低字节
*/
#include <stdio.h>

int main(void)
{
    union ppt{
        int a;
        unsigned char b[4];
    }dl;
    dl.a=0xabcdefef;
    printf("HEX:0x%02x\n",dl.a);
    printf("b[0] address:%p\n",&dl.b[0]);
    printf("b[1] address:%p\n",&dl.b[1]);

    printf("b[0]=0x%02x\n",dl.b[0]);
    printf("b[1]=0x%02x\n",dl.b[1]);

    if(dl.b[0] == 0xab)
    {
        printf("This is bigterm!\n");
    }
    else if(dl.b[0] == 0xef){
        printf("This is littleterm!\n");
    }

    return 0;
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值