收藏 分销(赏)

运算符和表达式练习题.doc

上传人:xrp****65 文档编号:6868093 上传时间:2024-12-22 格式:DOC 页数:4 大小:23.50KB 下载积分:10 金币
下载 相关 举报
运算符和表达式练习题.doc_第1页
第1页 / 共4页
运算符和表达式练习题.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
第6讲:运算符和表达式 1. 写出下列各逻辑表达式的值。设,a=3,b=4,c=5。 (1) a + b > c && b == c 0 (2) a || b + c && b - c 1 (3) !(a > b) && !c || 1 1 (4) !(x = a) && (y = b) && 0 0 (5) !(a + b) + c – 1 && b + c / 2 1 2. 阅读程序,写出运行结果: #include <stdio.h> int main() { int a=3,b=1, x=2, y=0; printf("%d, %d \n", (a > b) && (x > y) , a > b && x > y); printf("%d, %d \n", (y || b) && (y || a), y || b && y || a); printf("%d\n",!a || a > b); } 1,1 1,1 1 3. 有以下程序 int main() { int a=1,b=2,m=0,n=0,k; k = (n = b > a) || (m = a < b); printf("%d, %d\n", k, m); } 程序运行后的输出结果是?1,0(短路) 4. 以下程序的输出结果是? int main() { int a=4,b=5,c=0,d; d=!a && !b || !c; printf("%d\n", d); }1 5. 以下程序的输出结果是? #include <stdio.h> int main() { int a ,b,d=241; a=d/100%9; b=(-1) && (-1); printf("%d,%d\n", a, b); }2,1 6. 为表示关系 x≥y≥z,应使用 C 语言表达式是?(x>=y&&y>=z) 7. 已知:char c; int a, b, d; c=’w’; a=1; b=2; d=-5; 求下列表达式的值: 。 (1) 'x'+1 < c 0 (2) 'Y' != c - 5 1 (3) –a – 5 * b >= d + 1 1 (4) 3 > d < -1 0 (5) d != b + 2 == 4 0 8. 有以下程序,阅读后写出程序的运行结果。 int main() {0 int m=3, n=4,x; x=-m++; x=x + 8 / ++n; printf("%d\n", x); } 9. 有以下程序,阅读后写出程序的运行结果。 #include <stdio.h> int main() { int a=2,b=3,c=4; printf("%d\n", 1 / 3.0 * 3.0 == 1.0); 1 printf("%d\n", a + b > 3 * c); 0 printf("%d\n", (a <= b) == (b > c)); 0 printf("%d\n", 'A' != 'a'); 1 } 10. 用条件表达式描述 (1) 取三个数 a、b、c 中的最大者 a>c?(a>b?a:b):(c>b?c:b) (2) 取三个数 a、b、c 中的最小者 a<c?(a<b?a:b):(c<b?c:b) 11. 思考题 (1)“=”和“= =”有什么区别? (2)“&”和“&&”、“|”和“||”有什么区别? 第6.6讲:位运算的应用 1.假设 unsigned short mode = 0777; unsigned short umask = 022; 写位运算表达式:根据umask的设置对mode的特定位清零,具体为,如果umask的某一位标志为1,则mode的相应位清为0,其他位保持不变。~umask&mode ~(k<<(umask>>4))&mode 2.已知一个unsigned long的数可以看成是由两个unsigned short组成,分别为高16位和低16位,通过写写位运算表达式分别将这两个unsigned short数取出保存到两个unsigned short的变量中。 3. 已知对一个unsigned int oflag,第一位(以1序)代表控制文件的读开关,第二位代表控制文件的写开关,1代表开关为ON状态,0为OFF状态,除此之外的其他位不处理,默认一直都是OFF。假设初始情况读开关和写开关都是OFF状态。写位运算表达式: 第一步:仅打开读开关 第二步:仅打开写开关 第三步:测试读开关和写开关的状态 第四步:仅关闭读开关 第五步:仅关闭写开关 第六步:同时打开读写开关 第七步:同时关闭读写开关 4. 我国邮政编码的一二位代表省份或直辖市。第三四位代表地、市、州。第五六位代表一个县.一个镇或者一个居住的小区。例如:邮政编码“130021”“13”代表吉林省,“00”代表省会长春,“21”代表所在投递区。假设用一个unsigned long来表示邮政编码,则”130021”可以表示为0x00130021,试写位运算表达式,已知一个邮政编码,快速提取其省份,地市和投递区这三个域。 5. 交换两个unsigned long类型的值,不用中间临时变量。(提示,使用异或,异或有两个特性:一个数异或本身恒等于0;一个数异或0恒等于本身。) 6. 整数求负,设 int x=7,利用位运算表达式求-7。 7. 有两个整形变量a和b,只用位运算,不用if、switch等条件判断语句,找出较大的那个变量。 8. 判断正整数num是奇数还是偶数 9. 取整型变量num的第k位(二进制表示中); 10. 将整型变量num的第k位(二进制表示中)清零;
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服