第三章 处理数据
1.命名规则
(1) 名称中只能使用字母字符、数字和下划线(_)
(2) 名称的第一个字符不能是数字
(3) 区分大写字符与小写字符
(4) 不能将C++关键字用作名称
(5) 以两个下划线或下划线和大写字母打头的名称被保留给实现使用,以一个下划线开头的名称被保留给实现,用作全局标识符
2.以16进制或8进制输出
cout<<hex;
//告诉cout采取何种行为 ,输出16进制
cout<<"waist="<<waist<<endl;
cout<<oct;
//输出8进制
cout<<"instem="<<inseam<<endl;
3.后缀为UL或LU
22033UL或22033LU 代表存储为unsigned long
后缀为ull,就是unsigned long long
‘M’字符用单引号
“money”字符串用双引号
4.wchar_t 宽字节
wchar_t bob = L'P';
wcout << L"tall" <<endl; //可以输出tall
5.const限定符
const限定符 :修改变量声明和初始化,类似于C语言中的#define
const int Months = 12
6.cout.setf()
cout.setf() 定点表示法,防止程序把较大的值切换为E表示法,并使程序显示到小数点后6位,参数 ios_base::fixed和ios_base::floatfield是通过包含iostream来提供的常量。
7.类型转换
(1) 初始化和赋值进行的转换
#include <iostream>
using namespace std;
int main()
{
cout.setf(ios_base::fixed,ios_base::floatfield);
float tree=3;//int 转换成 float
int guess{3.9832};//double 转换成 int
//丢弃小数部分,变成3.
int debt=7.2E12;
//int 变量debt无法存储3.0E12.
cout<<"tree="<<tree<<endl;
cout<<"guess"<<guess<<endl;
cout<<"debt="<<debt<<endl;
return 0;
}
(2) 表达式中的转换
整型提升:在计算表达式时,C++将bool、char、unsigned char、signed char和short值转换为int。
eg:
short chicken=20;
short ducks=35;
short fowl=chickens+ducks;
/*将chicken和duck转换为int型相加之后的结果转换成short型然后赋值给fowl。*/
图1:C++11 版本 表达式中的转换校验表
(3) 强制类型转换
(long)thorn //将thorn转换成long类型 ,C语言格式
long(thorn) // C++格式
注:强制类型转换不会修改thorn变量本身,而是创建一个新的、指定类型的值,可以在表达式中使用这个值。
static_cast<long> (thorn)//更加严格的强制类型转换
8.C++11 中的auto声明
初始化中,若不指定变量的类型,编译器将把变量的类型设置成与初始值相同:
anto n=100;//n is int
anto x=1.5;//x is double