1. 6大关系表达式?
1.相等(==):用于检查两个值是否相等。
2.不相等(!=):用于检查两个值是否不相等。
3.大于(>):用于检查一个值是否大于另一个值。
4.小于(<):用于检查一个值是否小于另一个值。
5.大于等于(>=):用于检查一个值是否大于或等于另一个值。
6.小于等于(<=):用于检查一个值是否小于或等于另一个值
2. 区分‘=’和‘==’!当一个变量和一个常量比较相等时,需要注意:
使用'=='进行相等比较:在比较一个变量和一个常量是否相等时,应该使用双等号运算符'==',而不是单等号赋值运算符'='。如果使用单等号,会将常量赋值给变量,而不是比较它们是否相等。
类型匹配:确保要比较的变量和常量类型相匹配。如果类型不匹配,C语言会尝试进行隐式转换,可能导致意外的结果。
明确常量值:确保常量值是准确的,并与您要比较的变量的预期值相匹配。常常在编码时,常量值可能会被硬编码,所以要确保这些值是正确的。
举个例子:
在上面的例子中,使用'=='来比较变量x是否等于常量5。如果x等于5,将打印出"x等于5"这句话。
【条件操作符】
3. 三目运算符 ? :
三目运算符的语法如下:
在上面的语法中,如果条件为真(非零),则表达式的值为value1;如果条件为假(0),则表达式的值为value2。这使得在单个语句中实现简单的条件判断变得非常方便。
举个例子:
在这个例子中,如果x大于5,y的值将为100;否则,y的值将为200。
【逻辑操作符】
4. 三大逻辑运算符有哪些?他们的真值表又是什么?
三大逻辑运算符包括逻辑与(&&)、逻辑或(||)和逻辑非(!)。
它们的真值表如下:
逻辑与(&&):
true && true = true
true && false = false
false && true = false
false && false = false
逻辑或(||):
true || true = true
true || false = true
false || true = true
false || false = false
逻辑非(!):
!true = false
!false = true
5. 短路是什么?
短路的情况分为以下两种:
逻辑与短路:
当使用逻辑与运算符(&&)时,如果第一个条件为假(false),则整个表达式已经为假,后面的条件就不会再被计算。因为无论后面的条件是什么真值,整个表达式都会是假。
例如,如果有一个表达式为(A && B),当A为假时,B的值将不会被计算,整个表达式的值直接为假。
逻辑或短路:
当使用逻辑或运算符(||)时,如果第一个条件为真(true),则整个表达式已经为真,后面的条件就不会再被计算。因为无论后面的条件是什么真值,整个表达式都会是真。
例如,如果有一个表达式为(A || B),当A为真时,B的值将不会被计算,整个表达式的值直接为真。
【switch】
6. if-else如何改写为switch语句?
假设原始的if-else语句如下所示
可以将其改写为switch语句如下:
在这个转换过程中,需要注意以下几点:
1.if-else语句中的条件会被转换为switch语句中的表达式。
2.每个if-else语句中的条件会对应一个case标签。
3.else部分会对应switch语句中的default标签,表示当没有匹配的case时执行的代码块。
4.每个case标签后面需要使用break;语句来防止穿透到后续的case或default部分。
7. switch后的表达式类型是什么?
switch语句后的表达式类型通常是整数类型(int、char、short、long等)。
需要注意的是,浮点数类型(float、double)和指针类型并不适合用作switch表达式,因为它们不是整数类型,无法直接用于switch语句的判断。
8. case后面值的类型是什么?(注意case和值之间一定要有空格)
在C语言中,switch语句中每个case后面的值的类型通常是整数类型,例如int、char、short、long等。这是因为switch语句需要将这些值与switch语句后的表达式的值进行比较,以确定执行哪个case中的代码块。
虽然通常情况下case后面的值是整数类型,但在某些情况下也可以使用字符常量或枚举常量。C语言规定case后面的值必须是常量表达式,这意味着它们必须在编译时就能确定。因此,通常情况下使用整数类型可以确保在编译时就能确定case的值。
9. default?swtich的运行顺序是什么?
1.首先,计算switch语句后面表达式的值。
2.然后,程序会从上到下逐个比较每个case后面的值与表达式的值是否相等。
3.如果找到匹配的case,程序会执行该case后面的代码块,然后跳出switch语句。
4.如果没有找到匹配的case,会执行default后面的代码块(如果有的话),然后跳出switch语句。
5.如果没有default语句,或者default语句没有被执行,那么switch语句将直接结束。