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