前言
C++语法基础,涉及牛客网上刷题
一、数据类型
1.一个字节8位
2.int是2个字节,float是4个字节,double是8个字节,char和bool都是一个字节
3.分成有符号位和无符号位。默认有符号,无符号前面声明unsigned
4.浮点型是分两部分储存的,一部分为值,一部分是对值的方法和缩小。E表示法:2.5E+8
5.字符变量‘’,他是将对应的ASCII编码方法到变量的存储单元里面(\n换行符、\b退格、\r回车)
二、运算符
按位运算符
1.最高位代表正负,0就是正,1就是负
2.所有是正数的,原码、反码和补码都是原来一样
3.负数:反码->除符号位外全部取反。补码->除符号位外全部取反+1
4.计算机系统中,数值都是拿补码来表示和存储的
三、分支和循环
1.switch中,break代表中断结束,default代表着所有case都不满足执行这个
2.continue用于忽略本次循环剩下的语句,接着开始下一次循环,并不会终止循环
四、数组
1.数组只能在定义的时候初始化
2.二维数组 int scores[3][4]={.{},.{},.{}.};
五、字符串
1.字符串有两种类型,C风格的char和string类
2.使用string 类必须包含头文件string
3.string可以把一个对象赋值给另外一个对象,可以用运算符把两个对象合并起来
4.string对象可以使用size()和length()获取字符串长度
5.strlen是“string length”的缩写,用于计算以null字符(‘\0’)结尾的字符串的长度。它返回字符串中字符的个数
6.strcpy是“string copy”的缩写,用于将一个字符串复制到另一个字符串中。源字符串必须以null字符结尾,以便strcpy知道何时停止复制。
六、结构体
1.定义:结构体是由一堆不同数据类型组成的数据类型
2.struct student { int age; ichar name; };
七、指针
1.每个指针变量都要*,区别 int*p,p1; int *p,*p2;
2.指针变量 +1 的跨度是由指针变量所指向的类型的大小决定。
const和指针:看const在 * 哪一边
1.常量指针,不能修改数据,指针指向可以变
const int *a;//左侧
2.指针常量,数据可以修改,但是指向不能改
int * const a;//右侧
3.两者都不能修改
const int * const a;
总结
常看常背