Basic Knowledge
cpp, h
头文件 h, 类,数据声明;
cpp,运行文件
Debug vs Release
Release: 发布版本
Debug: 调试版本。 占用内存大,报错信息丰富。
step over:直接执行完函数
step into: 走进函数
step out: 跳出函数,直接执行完。
数据printf
printf("mary have %d lambs, price is %.2f",3,55.4); //占位符
printf("\nmary have %d lambs, price is %.2f", 3, 55.4); // /n换行
return 0;
数据类型
char
short
int
long
long long
float
double
bool
想要强制转换类型
(int) a
进制
1个字节为8位:
6-7 | 0-3 |
---|---|
1000 | 1000 |
即为二进制: 0b10001000; 十六进制0x88.
short 为16位
15-12 | 11-8 | 7-4 | 3-0 |
---|---|---|---|
1000 | 1000 | 1000 | 1000 |
十六进制:0x8888
<<左移
>>右移
八进制,十六进制
010 //8 八进制
0xa //10 十六进制
0b11 //3 二进制
\n 换行
\t 制表符4空格
左移多少位: << 8;
unsigned char a = 0x01;
unsigned char b = 0x02;
unsigned int bufSize = 0;
cout << a + b << endl;
bufSize = a;
bufSize = a << 8; //相当于 *2^8
bufSize += b;
cout << bufSize << endl;
return 0;
char 是有符号的
unsigned char 是无符号的,里面全是正数
1.两者都作为字符用的话是没有区别的,
2.但当整数用时有区别:
常量
constat int a =7;
typedef可以简化数据类型
typedef unsigned short UINT16;
条件语句
逻辑判断
&&与
|| 或
!非
按位与 &
按位或 |
按位取非 ~
unsigned char a = 0x81;
unsigned char b = a | 0xfe;
cout<<(int) b<<endl;
//将最后一位置0
// char 0x88;
//int 0x8888;
如果fscore>=0, 就取fscore; 否则取0;
int fscore = 33;
fscore = fscore >= 0 ? fscore : 0;
cout << fscore << endl;
return 0;
if 判断
非零即真,非空即真
数组
一维数组
int[2] = {
1,2};
二维数组
int[2][2] = {
{
1,2},{
2,3}};
结构体
struct Student {
char sName[255];
int iHeight;
float fWeight;
}
typedef struct node {
int value;
struct node* next = 0;
// 构造
node(int n) {
value = n;
}
}node;
int main(void){
//初始化方法1
Student a1 = {
"Henry", 172. 66.7};
//初始化方法2
node* node1 = new node(1);