基本数据类型
数据类型强制转换
操作类型(操作数) 或 (数据类型)操作数
short(32)与double(1.8) 正确
short(32769)将32769变为-32767(溢出) unsigned short(-1)将-1变为65535(丢失负号)
自动转换
常量
数字常量?????
#define A 5 //习惯上使用大写字母。结尾不加分号“ ;”
运算
输入与输出
cin>>x>>y; //依次输入
cout<<x<<x*x; //是没有间隔的,比如显示结果1234
endl //换行
引用与指针
引用:变量的别名
举例:定义一个整型x 及其引用变量xa
int x; int &xa =x;
或者
int x, &xa =x;
甚至
int x,y, &xa =x; //同时完成
指针:内存地址
cout<< x;
cout<< &x;
相同数据类型的指针变量之间可以相互赋值
常变量不能修改
const int x = 10;
const int *p; //定义指向常变量的指针,通过该指针不能修改所指向的常变量的值
则不能通过 *p = 5 ; 来修改原始数据
int * const p = &x; //指针类型的常变量,需定义时初始化,以后不能再改变其指向
1.必须先初始化!!2.不能再令 p = &b; // 无法修改他指向谁
下:所需时间,越小越好
int *p;
p = new int; //动态分配一个变量,无变量名
*p = 10; //通过指针变量p间接访问所分配的内存单元,向其中写入数据10
cout<< *p ; //通过指针变量p间接访问所分配的内存单元
delete p; //内存使用完后,用delete释放该内存空间
上述前3条语句可简化为如下1条:
int *p = new int(10);
int *p = new int[5]; //动态分配一个一维数组变量
*(p+1) = 10; //访问并赋值
cout<< *(p+1); //或通过下标访问: cout<< p[1];
delete []p; //使用完后,释放该数组变量所分配的内存空间
字符类型与 ASCII码..
“”与‘’是不同的!
‘A’ 字符常量 “CHINA”字符串常量、“A”、“give me five” 事实上末尾有 \0
char *p;
p = "china"; //字符串常量
C++对字符数组的整体输入/输出,不需要用循环,直接 int str[10]; cout<< str ;