C语言程序设计立体化教程课件:条件、逗号、位运算_第1页
C语言程序设计立体化教程课件:条件、逗号、位运算_第2页
C语言程序设计立体化教程课件:条件、逗号、位运算_第3页
C语言程序设计立体化教程课件:条件、逗号、位运算_第4页
C语言程序设计立体化教程课件:条件、逗号、位运算_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

五子棋游戏界面菜单制作条件、逗号、位运算条件运算(2)

运算规则

如果“表达式1”的值为非0(即逻辑真),则运算结果等于“表达式2”的值;否则,运算结果等于“表达式3”的值(1)一般格式:表达式1?表达式2:表达式3

条件表达式中的“表达式1”、“表达式2”、“表达式3”的类型,可以各不相同条件运算比如:若a=7,b=10,则c=(a>b)?a:b,这个表达式结果是多少?(3)运算符的优先级与结合性

条件运算符的优先级,高于赋值运算符,但低于关系运算符和算术运算符。其结合性为“从右到左”(即右结合性)c=10

举例

从键盘上输入2个整数,输出其中的最大值。

#include“stdio.h”main(){inta,b,max;printf(“请输入2个整数:");scanf("%d%d",&a,&b);

max=(a>b)?a:b;printf(“您输入的2个数的最大值为%d\n",max);} #include“stdio.h”main(){inta,b,max;printf(“请输入2个整数:");scanf("%d%d",&a,&b);if(a>b)max=a;elsemax=b;printf(“您输入的2个数的最大值为%d\n",max);}

逗号运算

C语言提供一种用逗号运算符“,”连接起来的式子,称为逗号表达式。逗号运算符又称顺序求值运算符。(1)一般形式:表达式1,表达式2,……,表达式n.(2)求解过程:自左至右,依次计算各表达式的值,“表达式n”的值即为整个逗号表达式的值。例如:表达式x=(a=3*5,a*4)的值以及a的值。逗号表达式y=((a=2+1,a*5),a+8)的值以及a的值。x=60a=15y=11a=3

位运算

程序中所有的数据在内存中都是以二进制的形式存储的,位运算就是直接对内存中的二进制位进行运算。C语言提供了常用的位运算功能,虽然不如汇编语言丰富,但这使得C语言也能像汇编语言一样用来编写系统程序。

位运算符

运算符含义表达式举例优先级~按位取反~a1(高)<<左移a<<22>>右移a>>22&按位与a&b3^按位异或a^b4|按位或a|b5(低)

与—&

按位与运算符“&”是双目运算符。

1.运算性质

参与运算的两数对应二进制位相与,即两个二进位均为1时,结果位才为1,否则为0。例如,表达式3和9的与运算过程如下(3、9对应的二进制分别为00000011和00001001)00000011&0000

1001

10000000

与—&

2.使用格式为:x&y以上例子,3和9与运算的测试程序如下:voidmain(){inta=3,b=9,c;c=a&b;printf("a=%d,b=%d,c=%d",a,b,c);}通常用来对一个数的某些位清0或保留某些位。

例如,把整型10001010(138)的低4位清0,保留其高4位,可作138&240运算(240的二进制数为11110000)。

或—|

按位或运算符|是双目运算符。

1.运算性质

其功能是参与运算的两数对应的二进位相或,即对应的两个二进位有一个为1时,结果位就为1,否则为0。例如,表达式3|9的运算过程如下:00000011|0000

1001

11010000

与—|

2.使用格式为:x|y以上例子,3和9与运算的测试程序如下:voidmain(){inta=3,b=9,c;c=a|b;printf("a=%d,b=%d,c=%d",a,b,c);}将该数与一个对应置1位为1,其余位为0的数相或

例如,把整型10001010(138)的低4位置1,保留其高4位,可作138|15运算(15的二进制数为00001111)。

异或—^

按位异或运算符^是双目运算符。

1.运算性质参与运算的两数对应的二进位相异或,

即对应的两个二进位不同则结果为1,否则为0。

(异1,同0)例如,表达式3和9的异或运算过程如下:00000011^

0000

1001

01010000

异或-^

2.使用格式为:x^y以上例子,3和9与运算的测试程序如下:voidmain(){inta=3,b=9,c;c=a^b;printf("a=%d,b=%d,c=%d",a,b,c);}通常用来对一个数中的某些位取反(即1变0,0变1)。

例如,把整型10001010(138)的低4位置取反,保留其高4位,可作13815运算(15的二进制数为10001111)。

取反—~

取反运算符“~”为单目运算符,具有右结合性。

1.运算性质:对参与运算的数对应的二进位按位取反,即二进位上的0变1,1变02.使用格式为:~x

例如,表达式~9的运算如下:

~0000000000001001结果为:

11111111111101103.~的主要用途:

通常用来对一个数按位取反(即1变0,0变1)。

左移-<<

左移运算符<<是双目运算符。

1.运算性质:将x左移n位,高位丢弃,低位补0。参与运算的数以补码方式出现。

2.使用格式为:x<<n

例如,若想使短整型变量x左移2位,即通过x<<2运算把x的各二进位向左移动2位。如x=0000000000000110(十进制6),左移2位后为0000000000011000(十进制24)。3.<<的主要用途:左移时,每左移一位,相当于移位对象乘以2。某些情况下,可以利用左移的这一特性代替乘法运算,以加快乘法速度。

右移->>

右移运算符“>>”是双目运算符。

1.运算性质:将x右移n位,低位丢弃,对于无符号整数和正整数,高位补0;2.使用格式为:x>>n

例如,x>>2指把x的各二进位向右移动2位。

1)如x=00010000(十进制16),右移2位后为00000100(十进制4);3.>>的主要用途:

右移时,若右端移出的部分不包含有效数值1,则每右移一位,相当于移位对象除以2。某些情况下,可以利用右移的这一特性代替除法运算。如果右端移出的部分包含有效二进制数1,这

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论