您的位置:首页 > 编程语言 > C语言/C++

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

2015-09-18 14:35 197 查看

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: