C语言学习运算符与条件语句
一、运算符
(一)算术运算符:
在C语言中,算术运算符就像数学中的加减乘除一样,帮助我们完成基本的数值计算。 +、 -、 *和 /分别对应加法、减法、乘法和除法,而 %则用于求余数。比如, 5 % 2的结果是 1,因为5除以2的余数是1。这些运算符在处理数字时非常直观,就像是把数学公式直接翻译成代码一样。
(二)关系运算符:
关系运算符用于比较两个值的大小。 >、 <、 >=、 <=、 ==和 !=分别表示大于、小于、大于等于、小于等于、等于和不等于。它们的返回值是一个布尔值,要么是 true,要么是 false。例如, 3 > 2的结果是 true,而 3 == 2的结果是 false。这些运算符在判断条件时非常有用,比如判断一个数是否在某个范围内。
(三)逻辑运算符:
逻辑运算符包括 &&(逻辑与)、 ||(逻辑或)和 !(逻辑非)。它们用于组合多个条件。例如, a > 0 && b < 10表示只有当 a大于0且 b小于10时,整个表达式才为 true。而 a > 0 || b < 10则表示只要 a大于0或者 b小于10中的任意一个条件成立,表达式就为 true。逻辑非 !则用于取反,比如 !(a > 0)表示 a不大于0。
(四)位运算符:
位运算符是我之前一直没搞懂的部分,但今天终于有些明白了。它们直接操作数字的二进制形式。比如, &(按位与)、 |(按位或)、 ^(按位异或)、 ~(按位取反)、 <<(左移)和 >>(右移)。以 5 & 3为例, 5的二进制是 101, 3的二进制是 011,按位与的结果是 001,也就是 1。位运算符在处理低级硬件操作或者优化代码时非常有用,虽然初学者可能用得不多,但了解它们的原理还是很有意义的。
~ ~位运算符( & , | , ^ )的运算 ~ ~
&:
0&0=0;
0&1=0;
1&0=0;
1&1=1;
|:
0|0=0;
0|1=1;
1|0=1;
1|1=1;
^:
0^0=0;
0^1=1;
1^0=1;
1^1=0;
(五)赋值运算符:
赋值运算符 =是最常见的,它用于将一个值赋给一个变量。除此之外,还有一些复合赋值运算符,比如 +=、 -=、 *=、 /=和 %=。这些运算符可以简化代码。例如, a += 5等价于 a = a + 5,让代码看起来更简洁。
(六)其他运算符: sizeof和 ?:
sizeof运算符用于获取变量或数据类型的大小,单位是字节。比如, sizeof(int)可以告诉我们 int类型在当前系统中占用的字节数。而 ?:运算符是一个三元运算符,它是一个简化的 if-else语句。例如, a > b ? a : b的意思是如果 a大于 b,返回 a,否则返回 b。它可以让代码更紧凑,但也要小心使用,以免让代码变得难以理解。
二、运算符优先级
在写代码时,运算符的优先级非常重要。比如,乘法和除法的优先级高于加法和减法,所以 3 + 4 * 2的结果是 11,而不是 14。如果不确定优先级,可以使用括号来明确表达式的结果。了解运算符优先级可以帮助我们写出更准确、更高效的代码。
三、条件语句
(一) if语句:简单的判断
if语句是最基本的条件语句。它的格式是 if (条件) {语句块}。如果条件为 true,就执行语句块。比如, if (a > 0) { printf("a 是正数"); }。 if语句可以让我们根据条件执行不同的操作。
(二) if-else语句:二选一的决策
if-else语句在 if的基础上增加了一个“否则”的选项。它的格式是 if (条件) {语句块1} else {语句块2}。如果条件为 true,执行语句块1;否则,执行语句块2。比如, if (a > 0) { printf("a 是正数"); } else { printf("a 不是正数"); }。 if-else语句可以帮助我们处理两种不同的情况。
(三) else if语句:多选一的决策
当需要处理多种情况时, else if语句就派上用场了。它的格式是 if (条件1) {语句块1} else if (条件2) {语句块2} else {语句块3}。程序会依次判断每个条件,直到找到一个为 true的条件,然后执行对应的语句块。如果所有条件都不满足,就执行 else部分。比如,判断一个成绩属于哪个等级,就可以用 else if语句来实现。
例:
if(boolean_expression 1)
{
/* 当布尔表达式 1 为真时执行 */
}
else if( boolean_expression 2)
{
/* 当布尔表达式 2 为真时执行 */
}
else if( boolean_expression 3)
{
/* 当布尔表达式 3 为真时执行 */
}
else
{
/* 当上面条件都不为真时执行 */
}
四、总结
虽然这些内容看起来简单,但它们是编程的基础,只有把这些基础打牢,才能更好地构建复杂的程序。在接下来的日子里,通过更多的练习来巩固这些知识。如果你也在学习C语言,希望我的这篇博客能对你有所帮助。