C++基础---C语言部分1

常变量

const double pi = 3.14;

常变量必须在定义时赋值,它的值在程序运行过程中不会再改变。

位运算

按位与(&):都是1为1,否则为0

按位或(|):有一位为1则是1,均为0才是0

按位异或(^):对应位不同,结果为1,对应位相同,结果为0

按位取反(~):

左移(<<):将a按二进制位向左移动n位,移出的最高位舍弃,最低位补0,相当于乘2操作。

右移(>>):将a按二进制位向右移动n位,移出的最低位舍弃,高位补0或者1,若是有符号的整型量,补符号位,若无符号则补0.

 格式化输出:

1.操作符实现:

需要引入头文件   #include <iomanip>

setw(5):为每个输出数据项指定宽度。

cout<<setw(6)<<value<<value2<<endl;    //将对value起作用,对后面的不起作用,对齐方式为右对齐

setprecision(6):指定浮点数的输出精度,即输出有效位数。

cout<<setprecision(5)<<  fvalue  <<  fvalue2  <<endl;   //系统默认的有效数字的位数为6位,四舍五入,setprecision对fvalue2也起作用
dec 置基数为10 setiosflags(ios::fixed) 固定的浮点显示
hex  置基数为16 setiosflags(ios::scientific) 科学计数法
oct 置基数为8 setiosflags(ios::left) 左对齐
endl 插入换行符,并刷新流 setiosflags(ios::right) 右对齐
ends 插入空字符 setiosflags(ios::skipws) 忽略前导空白
setfill(c) 设填充字符为c setiosflags(ios::uppercase) 16进制数大写输出
setprecision(n) 设显示小数精度为n位 setiosflags(ios::lowercase) 16进制数小写输出
setw(n) 设域宽为n个字符    

 

2.函数成员实现格式化输出:(即cout的对象函数)

cout.width(5):指定了输出项的域宽为5,与在变量前使用setw(5)效果等同。

cout.precision(5):设定浮点数的精度,该设定会保持到重新设定或程序的结束。

cout.setf(ios::fixed): 与setiosflags(ios::fixed)的功能相同。

与setf()功能相反的函数成员是unsetf(),用于清除已经设置的状态标志。比如:

cout.unsetf(ios::fixed | ios::left);

 

 指定输入的域宽:cin.width(5)

cin与cout有类似的函数成员。

也可以使用setw(5)的方法。

 

读取一行:

char ch[80];

cin.getline(ch , 80);    //cin.getline()将读取换行符之前的所有字符

读取一个字符:

char ch;
cin.get(ch);//读取第一个字符,包括空格,回车,Tab等
1 char ch;
2 cin>>ch;    //读取第一个字符,但是会跳过空格,Tab和Enter

跳过键盘缓冲区的字符:  

cin.ignore(n , c);  //cin跳过n个字符,或者是直到遇到字符c为止。

如果cin.ignore() 没有参数,则表示跳过键盘区的第一个字符。

   char ch[5];
    char ch2[10];
    cout << "输入一个单词:";
    cin >> setw(2) >> ch;        //超出的部分会被截断
    cin.ignore(20, '\n');
    cout << "输入第二个单词:";
    cin >> ch2;
    cout << "输入的单词为:"<< ch << "word" << endl;
    cout << "输入的第二个单词为:" << ch2 << endl;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2016-02-25 09:54  一将功成  阅读(310)  评论(0编辑  收藏  举报