宏定义:
宏定义不要分好,否则报错。
#define day 7
常量:在变量前加const
const int month = 30;
sizeof : 计算所占空间大小
可以放数据类型,也可以放变量名。
const int month = 30;
cout << "一个月" << month << "天" << endl;
cout << "int 类型所占大小" << sizeof(int) << endl;
cout << "int所占空间大小为" << sizeof(month) << endl;
字符,字符串
字符只能放一个字母且是单引号,字符串可以大于一个且是双引号。
char str1 = 'a';
char str2[] = "hello";
string str3 = "world";
字符的ascii码
a:97
A:65
转义字符
\t:制表符
\n:换行
\\:反斜杠
布尔值所占内存大小:1字节
bool flag = true;
cout << flag << endl;
cout << "布尔值所占内存大小:" << sizeof(flag) << endl;
运算符:
% : 取余(模)
a = 1
b = a++:先赋值在自增 //b=1, a = 2
b = ++a:先自增在赋值 //b=2, a = 2
三目运算符
int a = 10;
int b = 20;
int c = 0;
c = a > b ? a : b;
cout << "c = " << c << endl; //c=20,因为a.b取a,否则取b
三目运算符返回的是变量,可以进行赋值
int a = 10;
int b = 20;
int c = 0;
c = a > b ? a : b;
cout << "c = " << c << endl; //c=20,因为a.b取a,否则取b
a > b ? a : b = 200; //b被修改为200
cout << "b=" << b << endl; b=200
switch语句
- switch语句只能是整型或者字符型
- case里如果没有break,那么从哪来进来的,其之后都会顺次执行
- switch语句不能执行区间
在这里插入代码片int score = 0;
cout << "请输入电影评分" << endl;
cin >> score;
switch (score)
{
case 10:
case 9:
cout << "经典" << endl;
break;
case 8:
case 7:
cout << "非常好" << endl;
break;
case 6:
case 5:
cout << "一般" << endl;
break;
default:
cout << "烂片" << endl;
break;
}
一维数组
int arr[4] = { 1, 2, 3, 4 }; //定义一个数组,长度为4
一维数组名:
1.可以获取整个数组的长度
2.可以获取数组的首地址(数组名即地址)
函数在主函数下面,需要写函数声明
函数声明:出函数体以外的。
int add(int, int); //函数声明,只要给上形参类型即可
int add(int a, int b);
int main()
{
int a = 1;
int b = 2;
int sum = add(a, b);
cout << "a + b = " << sum << endl;
system("pause");
return 0;
}
int add(int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
函数值传递:函数调用将实参传入形参,值传递不会修改实参,只是形参发生改变
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int num1 = 10;
int num2 = 20;
swap(num1, num2);
cout <<"num1:"<< num1 << endl; //num1 = 10
cout << "num2:"<<num2 << endl; //num2 = 20
system("pause");
return 0;
}
址传递会修改实参
void swap(int* a, int* b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int num1 = 10;
int num2 = 20;
swap(&num1, &num2);
cout <<"num1:"<< num1 << endl; //num1 = 20
cout << "num2:"<<num2 << endl; //num2 = 10
system("pause");
return 0;
}