一、简述枚举类型(enum)的作用和用法
枚举类型其实是整型,它的作用一是让数值看起来更直观;二是圈定一个范围,使数值被限定在这个范围中,常与 switch case 语句一起使用。
枚举的语法定义格式:enum 枚举名{枚举元素 1,枚举元素 2,……};
第一个枚举成员的默认值为整型的 0,并且枚举成员没有被指定值的时候它的值默认为前一个元素加 1,枚举成员的值可以重复,还可以定义枚举变量 enum 枚举名 枚举变量名; / enum 枚举名 {枚举元素……} 枚举变量名; / enum {枚举元素…… }枚举变量名; 只能用枚举变量的枚举类型对应的枚举元素给枚举变量赋值,想用其他枚举元素或整型赋值需要强转。
二、C/C++ 中有哪些常见的运算符?请举例说明它们的用法。
运算符包括算术运算符、比较运算符、逻辑运算符、位运算符和赋值运算符。
2.1 算术运算符
' + '加、' - '减、' * '乘、' / '除、' % '取余、' ++ '自增、' -- '自减。
a++是先赋值后运算,
int a = 10;
cout << a++ << endl;
cout << a << endl;
//先输出10,再输出11
++a是先运算后赋值
int a = 10;
cout << ++a << endl;
cout << a << endl;
//都输出11
i++{//压入j寄存器
int j=i;
i=i+1;
return j;
}
2.2 比较运算符
假设 a 的值为 10, b 的值为 20:
/*
== 两个操作数的值是否相等,如果相等则条件为真。 a == b 值为 0
!= 两个操作数的值是否相等,如果不相等则条件为真。 a != b 值为 1
> 左操作数的值是否大于右操作数的值,如果是则条件为真。 a > b 值为 0
< 左操作数的值是否小于右操作数的值,如果是则条件为真。 a < b 值为 1
>= 左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 a >= b 值为 0
<= 左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 a <= b 值为 1
*/
2.3 逻辑运算符
假设 a 的值为 0, b 的值为 1:
/*
&& 逻辑与运算符。如果两个操作数都非零,则条件为真。 a && b 值为 0
|| 逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 a || b 值为 1
! 逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假 !(a && b)值为 1
*/
2.4 位运算符
/*
按位与 & 有0为0 1与另一个数是另一个数本身
按位或 | 有1为1 全0为0
按位异或 ^ 相同为0,不同为1
按位取反 ~ 0 变 1, 1 变 0
按位左移 <<
按位右移 >>
*/
2.5 赋值运算符
/*
= 把右边的操作数的值赋给左边操作数
+= 把右边操作数加上左边操作数的结果赋值给左边操作数
-= 把左边操作数减去右边操作数的结果赋值给左边操作数
*= 把右边操作数乘以左边操作数的结果赋值给左边操作数
/= 把左边操作数除以右边操作数的结果赋值给左边操作数
%= 把左边操作数除以右边操作数的余数赋值给左边操作数
<<= 左移且赋值运算符
>>= 右移且赋值运算符
&= 按位与且赋值运算符
^= 按位异或且赋值运算符
|= 按位或且赋值运算符
*/