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

来源:互联网 发布:淘宝企业店铺上淘客 编辑:程序博客网 时间:2024/05/24 05:32

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;}
0 0