一、表达式
a)在C语言中表达式由操作符和操作数组成。
b)最简单的表达式只有一个操作数。
iNumber2; //也是表达式
c)表达式本身什么事也不做,只是返回结果值,返回的值有时忽略。
0;
12;
35;
d)要使用表达式的值
1、把表达式放在赋值语句的右边 =的右操作数
2、在函数中去使用表达式(在以后函数会讲)
1 #include <stdio.h> //标准的输入输出头文件 预处理 2 3 int main() 4 { 5 int iNumber1,iNumber2,iNumber3; //声明变量 1 6 iNumber1 = 5; //赋值表达式 7 iNumber3 = 15; 8 9 iNumber1 + 6; //算术表达式 10 11 iNumber2 = iNumber1 + 6; //复合表达式 12 13 iNumber1 = 12; 14 return 0; 15 }
二、运算符的优先级与结合性。
a+b*c-d/f
在计算表达式值的时候,尤其是符合表达式,
1、表达式求值时,先计算优先级高的运算符。
2、如果有同级的,从左到右。
3、逗号是最低的。
三、关系运算符与关系表达式
>(大于) <(小于) ==(等于) >=(大于或者等于) <=(小于或者等于) !=(不等于)
1、关系表达式的返回值只能为1(关系成立)或者0(关系不成立)。
iNumber1 > iNumber2;
//iNumber1 是不是大于iNumber2 是 返回值为1 不是返回值为0
iNumber1 == iNumber2;
//iNumber1 是不是等于iNumber2 等于 返回值为1 不等于返回值为0
2、关系运算符的优先级低于算术运算符,高于赋值运算符。
temp = iNumber1 > iNumber2 + 7;
先计算iNumber2+7;在计算 iNumber1> iNumber2 + 7;最后再赋值
总结:关系表达式: 1、返回值为1和0;2、优先级小于算术运算,大于赋值运算;
3、<= 和 >= :只需要满足一种情况都是成立的。4、关系表达式都是双目运算。
四、逻辑运算符与逻辑表达式
&& (逻辑与) ||(逻辑或) !(逻辑非)
1、返回值是1(真)或者0(假)
2、在程序中用两个!!得到的是表达式的逻辑值。
与:只要有假,就是假;
或:只要有真,就为真
if () 语句 满足if()里面的表达式,就执行{}里面的语句
1 #include <stdio.h> //标准的输入输出头文件 预处理 2 3 int main() 4 { 5 int iNumber1, iNumber2, iNumber3,temp; //声明变量 1 6 iNumber1 = 6; 7 iNumber2 = 5; 8 iNumber3 = 10; 9 10 temp = iNumber1 > iNumber2&&iNumber3 > iNumber2; //关系表达式和逻辑表达式的复合表达式 11 12 if (temp)//如果为真 那么就。。。。。 13 { 14 printf("iNumber1>iNumber2\niNumber3>iNumber2\n"); //没有用 15 } 16 else //否则 执行这个 17 { 18 printf("条件不成立\n"); 19 } 20 21 22 return 0; 23 }
1 #include <stdio.h> //标准的输入输出头文件 预处理 2 3 int main() 4 { 5 int x, y; //声明变量 1 6 printf("请输入一个X值:\n"); 7 8 scanf("%d", &x); 9 10 if (x > 0&&x<=5) //判定 4 成立 11 { 12 y = x + 1; //计算 13 printf("y=%d=%d+1\n", y, x); //打印 14 } 15 16 if (x>5&&x<=10) ////判定 4 不成立 17 { 18 y = x * x; 19 printf("y=%d=%d*%d\n", y, x,x); 20 } 21 22 if (x <= 100 && x > 0) //判定 4 成立 23 { 24 y = x - 1; //计算 25 printf("y=%d=%d-1\n", y, x); //打印 26 } 27 28 return 0; 29 }
五、位运算符
&(位逻辑与) |(位逻辑或) ^(位逻辑非) ~(取补)
Playsound(SND_FILENAME|SND_ASYNC|SND_LOOP);
原码 反码 补码
0 1 2 3 4 5 6 7 8 9
高级语言C语言独有的 通过控制内存的位,来控制程序。
六、% 算术运算符 取余
25%2 --> 25/2=12 --> 25-2*12 --> 1
2%25 --> 2/25=0 --> 2-25*0 --> 2
253%10---》 25*10=250 ---》253-250 ----》3
168 -----> / 16 ----> % 6
168------> 168-160 ----> 160=16*10 ---->8
1 #include <stdio.h> //标准的输入输出头文件 预处理 2 3 //从键盘输入一个3位数 然后逆序输出 4 int main() 5 { 6 int x; //168 7 int a, b, c; 8 9 printf("请输入一个三位数:\n"); 10 scanf("%d", &x); 11 12 a = x / 100; // a=1.68截尾 1 13 b = x / 10 % 10; 14 c = x % 10; 15 16 printf("%d%d%d", c, b, a); 17 return 0; 18 }
重点:/ %
七、逗号运算。
1、用来分隔变量,表达式。
2、也可以用来计算。
表达式1,表达式2,表达式3;
计算表达式1,再计算表达式2,最后计算表达式3,最后的值是表达式3的值。
1 #include <stdio.h> //标准的输入输出头文件 预处理 2 3 int main() 4 { 5 int a, b, c,temp; 6 a = 1; 7 b = 2; 8 c = 3; 9 10 a + b, b + c, a + c, b - c; //表达式的值 ? -1 11 12 temp = (a + b, b + c, a + c, b - c); //表达式 ? 3 13 // 3 5 4 -1 14 //,的优先级是最低的 15 16 printf("%d", temp); 17 18 return 0; 19 }