欢迎来到天天文库
浏览记录
ID:18876832
大小:99.00 KB
页数:15页
时间:2018-09-26
《第06章_字符的输入与输出位运算ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、6.1字符数据的输入与输出函数6.2位运算第六章字符的输入与输出,位运算第6章目录6.1字符数据的输入与输出函数6.1.1putchar()函数(字符输出函数)功能:向终端输出一个字符。例如:putchar(A)或putchar(65),均是向屏幕输出字母‘A’。也可以输出控制字符,如putchar(‘’),输出一个换行符。也可以输出其他转义字符,如:putchar(‘101’)(输出一个字符’A’)putchar(‘’’)(输出一个单撇号字符’)6.1.2getchar()函数(字符输入函数)功
2、能:从终端输入一个字符。一般形式:getchar()小括号里面无需任何参数,函数值就是从输入设备得到的字符。如:a=getchar()注意:getchar()只能接收一个字符。getchar()函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量,作为表达式的一部分。如:putchar(getchar());也可以用printf()函数输出如:printf(“%c”,getchar());6.2位运算符1.数的补码表示计算机内部的数据和C语言的数据都是以补码表示的。补码的最高位为符号位,若为
3、0,该数为正数;若为1,该数为负数。符号位与数值位一起参与运算。正数的补码即其本身。负数的补码可这样求出:(1)先求该数的绝对值,再求出对应正数的二进制编码;(2)对二进制编码按位取反;(3)对最低位加1。求-2的补码(以两个字节表示)(1)求-2的绝对值,
4、-2
5、=2,二进制编码为:0000000000000010(2)按位取反得:1111111111111101(3)最低位加1:1111111111111101111111111111111102.位运算符位运算符主要有:&、
6、、^、~、>>、<<。除
7、“~”以外,均为二元运算符,且操作数只能是整型或字符型数据,不能为实型数据。(1)按位与运算符:&参与运算的两个操作数,若对应的两个二进制位都是1,则结果对应的二进制位为1,否则为0。例:求5&7的值。运算过程为:0000000000000101(5的补码)&0000000000000111(7的补码)0000000000000101(5的补码,即5&7=5)(2)按位或运算符:¦参与运算的两个操作数,若对应的两个二进制位有一个为1,则结果对应的二进制位为1,否则为0。运算过程为:000000000000
8、0101(5的补码)¦0000000000000111(7的补码)0000000000000111(7的补码,即5¦7=7例求5¦7的值。(3)按位异或运算符:^参与运算的两个操作数,若对应的两个二进制位相异,则结果对应的二进制位为1,否则为0。应用:1、使特定位翻转:设有11110101,想使其低四位翻转,可将它与00001111进行^运算。2、与0相^保留原值:如012^00=012;3、交换两个值,不用临时变量:假如a=3,b=4,将a与b交换,可由:a=a^b,b=b^a,a=a^bb=b^(a^
9、b)a=a^(b^a)求5^7的值0000000000000101(5的补码)^0000000000000111(7的补码)0000000000000010(2的补码,即5^7=2)(4)按位取反运算符:~运算符的优先级较高,结合方向与其它位运算符不同,为自右向左的方向。求~5的值。运算过程为:~0000000000000101(5的补码)1111111111111010(-6的补码,即~5=-6)思考:若将一个整数a的最低一位为零,应当怎么办?a=a&~10000000000000001注意:安位与,安
10、位异或、安位或三种运算,都满足交换率(5)左移运算符:<<运算符的功能是将一个操作数的各个二进制位依次左移若干位。一般形式为:操作数<<移位位数求5<<2的值。0100000000000101(5的补码)左移1位得:00┊0000000000010100(20的补码,即5<<2=20)再左移一位得:0┊0000000000001010(10的补码,即5<<1=10)(6)右移运算符:>>运算符的功能是将一个操作数的各个二进制位依次右移若干位。一般形式为:操作数>>移位位数若操作数为无符号数或正数,移出的低
11、位被舍弃,高位补0。这种移位操作又称逻辑右移。求10>>2的值0000000000001010(10的补码)右移1位得:0000000000000101┊0(5的补码,即10>>1=5)再右移1位得0000000000000010┊1(2的补码,即5>>1=2)若操作数为有符号数的负数,即最高位为1时,右移时高位补1,以保持符号位不变,低位移出并舍弃。这种移位操作又称算术右移。求-10>>1的值1111111111110110
此文档下载收益归作者所有