期末复习DAY3(C#)

3.5.4增量运算符和增量表达式

1.前缀运算:

i=1;
j=i++;// 先i自增,再把2赋给j

2.后缀运算:

i=1;
j=i++;//把i=1赋给j在i加1

注:结合方向:先右后左;

ex.j=-i++相当于 -(i++)

3.5.5关系运算符和关系表达式:

1.关系运算符:

双目运算符,左结合性优先级高于赋值运算符低于算术运算符。

x+y<s+t等价于(x+y)<(s+t)

2.关系表达式:

 ex.3>5,i<j*2,(x=2)>(b=4)等等,关系式表达的值是一个逻辑值,只有“真”“假”两种。

(1)若为真,1;(2)若为假,0;

注:对于以下关系表达式,要注意:

 #include<stdio.h>
int main()
{
  int a=3,b=2,c=1;
  printf("%d\n"a>b>c);
  return 0;
}

此时输出结果为0。原因:按左结合性有(a>b)>c,先判定a>b 是否正确,为真,则值为1,再对比1与c的大小关系,不满足1>1,则为假,输出0.

3.5.6逻辑运算符和逻辑表达式:

1.逻辑运算符:

&&(逻辑与)    ||(逻辑或)  !(逻辑非)前两个是双目运算符(左结合性),!是单目运算符(右结合性)

a&&b:a  和b 都为真,才为真;

a||b:a,b右一个为真,即为真;

!a: a为真时,!a为假,a为假时,!a为真。

优先级:!>算术运算符>关系运算符 >&&>||>赋值运算符

2.逻辑表达式:

ex.a=3.5,b=4,a&&b值为1.

处理表达式时,采用不完全计算法:

(1)&&表达式中,&&左端为假,则不算右端;

(2)||表达式中,||左端为真,则不算右端。

3.5.6条件运算符和条件表达式:

条件运算符为三目运算符,格式:

表达式1?表达式2,表达式3(1为真则2,假为3)

//ex.输入两个数,输出其中较大的数。
#include<stdio.h>
int main()
{
   float a,b,max;
   printf("tishi");
   scanf("%f%f",&a,&b);
   max=(a>b)?a:b;//判断
   printf("max=%f\n",max);
   return 0;
}

3.5.9位运算符:

1.按位运算符(&)

功能:将参与运算的两数各对应的二进位相与,对应两个二进制位均为1,结果位才为1,否则为0.

2.按位或运算符(|)

功能:将参与运算的两数各对应的二进位相或,对应两个二进制位有一个位1时,结果就为1,两个位都为0,才为0.

3.按位异或运算符(^)

功能:将参与运算的两数各对应的二进位相异或,对应二进制位不相等时,结果位1,否则位0.

4.按位取反运算符(~)

功能:将参与运算的两数各对应的二进位按位求反。1改0,0改1

注:负数的补码为按位取反再加一

5.左移,右移运算符:(<</>>)

注:有符号数,右移时,符号位随同移动。正数:高位补0,负数:符号位为1,最高位补0或1(TurboC) 等规定补1;

6.位运算赋值运算符:

组合 >>=,<<=,&=, 等

7.不同类型数据的混合位运算:

两个运算对象类型不同,系统会将其右端对齐,若正数或无符号数:高位补0,负数: 高位补1.

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值