基本数据类型
指针类型
引用类型
构造类型
计算机处理数据方式:二进制形式
以补码的形式存放。
类型说明符:int
所占字节:4
类型说明符:unsigned int
所占字节:4
类型说明符:short int
所占字节:2
类型说明符:unsigned short int
所占字节:2
类型说明符:long int
所占字节:4
类型说明符:unsigned long int
以ASCII码表示(可进行算数和比较运算)。
类型说明符:char
所占字节:1
类型说明符:float
所占字节:4
类型说明符:double
所占字节:8
类型说明符:long double
所占字节:8
类型说明符:bool
所占字节:1
#include
using namespace std;
int main ()
{
cout<<"XX型:"<
用于标识程序中的变量、符号、常量、数组、函数、数据类型等操作对象的名称,分为关键字、预定义标识符、用户定义标识符3种。
例如:for、int、if、do、while等。
又称“保留字”。
预定义标识符不属于关键字。
例如:printf、define等。
十进制数
八进制数:以0打头的整数。(0-7)
十六进制数:以0x或0X打头的整数。(0-9和a-f,大小写不限)
就是实数,也称为浮点数,默认为double。
三部分:尾数部分 + E(e) + 整数阶码(一个都不能少)
尾数部分:整数部分 + 小数点 + 小数部分
阶码:正负皆可,只能为整型,不能为实数,
错误示范:E2、12.E-3.0、3.8e
分为可视字符常量和转义字符。
用单引号括起来的一个字符。‘a’、‘6’、’#’
以 ’ \ ’ 开头,代表特殊意义,例如\a:bell;\n:回车换行;\r:回车;
做个区别:转义字符的’\ddd’与’\xhh’中 ddd为1-3位八进制数,hh为1-2位十六进制数,其输出是按照八、十六进制换算为十进制,再直接按照数在ASCII码表中寻找;而char类型变量,假设char ch=‘a’,若想把ch变为’k’,直接加10(ASCII对照:a:65,k=75,是按照十进制计算的,而非八进制或十六进制。
1.由一对双引号括起来的字符序列。
2.字符串长度:字符串中字符的个数,不包括定界符双引号,如"Good bye\n"的长度为9。
同样的例子,"Good bye\n"所占存储空间为10,在内存中是会在末尾添加\0。
思考:"I\n am a student\t\0"的长度?所占存储空间?sizeof显示的结果是?
(17,18,18)(存储时会在末尾再添加一个\0)
const 数据类型 常量名=初始值;
#define 常量名 字符串
1.++与–的运算对象只能是变量,不能是常量或表达式。
2.右结合性:-a++等价于-(a++)
int i=1;
cout<
a+=1等价于a=a+1,其中+可换为-、*、/、%、^。
1.分为两级,第一级为:<,<=,>,>=;第二级为:==,!=
2.运算符的结合性为左结合。
3.优先级低于算术运算符,高于赋值运算符。
&&与||:分别表示逻辑上的与和或。
!:非。
注意:在运算(i++)||(j++)时,如果i++非零时,j++将不再运算。
int i=1,j=1;
cout<
三个逻辑运算符的优先级由高到低排序:!,&&,||。
三种关系表达式优先级由高到低排序:算术表达式,关系表达式,赋值表达式。
<表达式1>?<表达式2>:<表达式3>
1.C++中唯一一个三目运算符。
2.表达式1的结果为真,执行表达式2;
表达式1的结果为假,执行表达式3。
3.当一个表达式出现多个条件运算符时,应该将位于最右边的“?”和离它最近的“:”配对。
4.条件表达式中各表达式的类型可以不一致。表达式2和3类型不同时,条件表达式值的类型取两者中精度较高的类型。
1.左结合。
2.优先级最低。
int a=2,b=4,c=6,x,y;
y=((x=a+b),(b+c));
cout<<"y="<
&<变量名>
得到的是该变量的存储地址。
自动将精度低、表示范围小的运算分量类型向精度高、表示范围大的运算分量类型转换。也称“隐式类型转换”。
char,short→int→unsigned→long→float→double
(数据类型名)表达式
或
数据类型名(表达式)
或
(数据类型名)(表达式)
是对变量的数据长度进行的临时性转换。