文章太长,建议收藏阅读
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
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Zff121017/article/details/137371913
数组:
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也是可以的。
联合:
联合和结构基本一样,联合里所有的东西用的是同一个内存,使用的时候,只有一个变量是有作用的,有好几种类型,用最大的,但只能用一种类型。结构里的东西是可以随便用的,虽然内存占的大了一点。
声明:union
{
int
}
枚举:
定义了以后要把所有数据一个一个枚举出来。
例:enum weekday{sun,mon,tue,wed,thu,fri,sat};
字符串的定义:
用数组定义字符串(浪费空间),输入的字符串可以不一位一位来。
声明char a[];
a[2]=”arra”表示数组里第三个位置放arra。
例:a[0]==”asdf”;
a[0]==”a”;
a[1]==”s”;
a[0]==0;
要放好多字符串,就开二维数组weak[7][11]、7是字符串的个数,11最长的字符串的长度。
用指针定义字符串(节省空间) char *weak
字符串有关函数:
#include(string.h)
strlen( )求字符串长度口号里放要求的字符串。
strcpy( , )把后一个字符串拷贝到前面的里。
strchr( , )找到后面的字符串在前面的位置,从那里开始输出。
strtok( , )找到后面的字符串在前面的位置,从那里开始分解。
strcat( , )连接前后两个字符串。
strcmp( , )比较前后两个字符串,如果小于,输出-1,等于0,大于1。
str4cat( s1,s2,4 )把s2的前四位与s1连接。
链式数据结构:1、栈,先进后出。2、队列,先进先出。
结构式程序:面向结构的程序。
类
类的优点:
1、可以更好地设计更大的程序。2、方便我们自己使用。
封装:不想让使用者改变的数据。可以更好地保护。
继承:以前变过的程序以后还可以用,或者一个程序的某一部分在很多地方使用。
多态性:就是一个大大的通知,自己从上面找自己适合的任务,这样保护我们的程序。
我们可以限制使用者的权利,不让它们改变程序的数据,这样程序不容易有人为的BUG,我们自己使用也更方便。
类:一种抽象的数据类型,把对象和对象的关系放在一起。
类的应用:
一个类可以用类的声明多个对象,所有对象都拥有累得数据成员的一个副本,类的成员函数被所有的对象共享。用一个类不同对象影响相同的消息是,效用的是同一个函数。
每一个对象都维护了一个指向自身的指针。this指针指向的就是对象自己,保证了不会访问到别人,是一种隐含参数。
对象调用其它函数的时候,会把自己的this指针传递给其他成员函数。因为this指针是不在成员函数里的。
一个函数用到了private的东西,其他函数不可以用,就把用到的数据成员函数当做友元函数,声明友元函数用friend
防止重复定义#if! #endif