Owanle 四种数据类型
整型:
短整型(short int)
整型(int)
长整形(long int)
浮点型:
float
double
long double
字符型:
char
布尔型:
ture
false
数据类型的转化:
自动转化:
int---float---double---long double
强制转化:
c=(float)a/b
运算符号(;是用于隔开):
除:/;模(求余数):%
++ --(i++(后加)++i(先加))
||或 ; ; &&且 ;!非
>=大等 <=小等 ==等于 !=不等
a>b?c:-c
位运算:
>>右移
<<左移
&且
!非
^异或
~取反
|或
例:3&14=2 0010&1110=0010
输入与输出
输入输出流:(流:一个字节的序列)
cin:输入数据流向内存的过程
cout:内存流向输出设备的过程
格式化输入,先规定输入的格式
scanf:输入
scanf(“%d”,&num)%格式控制符 d整数 f浮点 c字符 s字符串 &地址运算符 把输入的值放在num中 %3d输出前三位,3控制输出的位数
例:输入32432572384 输出324
printf:输出
用cin控制输出的位数 cin.width(3) setprecision(n)浮点型精度设为n
数组:
a[x],x是数组的大小,一维数组。a[x][y],二维数组
数组的第一位是0。
初始化:直接赋值a[9]={21,432,432,4234,54,4326,6757,8,87}
char a[x]指的是字符串,赋初值的时候要用结尾,结尾为0,代表结束,是’0’
数组名的值就是数组的第一个元素的地址,而数组作为参数传递的时候,传递的事数组的变量值,也就是数组的第一个元素的地址,也就是说虽然传递的也是变量,但是数组的这个变量就是地址。即数组传递的时候,传递数组值得时候,也传递了变量。
指针:
计算机给数据分配地址,一段地址是放一个数据,能通过地址找到值,指针的作用存放地址。
不同的变量占用的内存不一样,用指针可以很节省。
用*来表示指针
Int *p p=&i
用&来提取地址,地址运算符,*间接引用符,*P就是i,引用p存放的数据就是i。
*&是逆运算。
&a[5]就是ap+5,就是a[5]的地址。
*&p->*(&p) :引用*P这个地址的地址存放的数据,就是p地址存放的数据。->等价于
&*P *p指i,&i是p,所以&*P->p。
指针变量可以运算,当指针是空指针的时候用0或者NULL表示,一般用NULL。
ap=&a[0] ap=a,a[10]就是*(ap+10)。
指针用下标表示:ap[]就是a[]的地址,指向a[],ap[5]就是指向a[5].
指针申请:new delete
Delete[]a;释放空间。
例:int *a;
Int num;
cin>>num;
a=new int [num];
动态分配数组存放数字,用a存放num。
new的语法:指针变量=new 数据类型。
delete的语法:delete控制变量
结构:
把一些有关系的数据放在一起,当做程序员自定义的一种类型,这样可以更好体现数据间的结构。
声明:struct
{
int;
}
int代表看一体的所有数据的类型,再声明的最后是可以初始化的,一开始就把做好的数据放进去,当然,后面用cin也是可以