有以下程序: #include<stdio.h> main() { int a=5,b=1,t; t=(a<<2)|b; printf("%d\n",t); { 程序运行后的输出结果是( )。

admin2019-06-12  22

问题 有以下程序:
#include<stdio.h>
main()
{
  int a=5,b=1,t;
  t=(a<<2)|b;
  printf("%d\n",t);
{
程序运行后的输出结果是(    )。

选项 A、21
B、11
C、6
D、1

答案A

解析 本题解题方法有如下两种:①位运算最常规的方式是转换为二进制,然后再运算。5的二进制是101,在<<2后为10100,然后和00001进行或运算后等于1 0 1 0 1,其十进制为21;②a<<2即为a*4,结果为20,1相当于保证这个数是奇数.若不是则加1,所以为21。
转载请注明原文地址:https://jikaoti.com/ti/0Wf0FFFM
0

最新回复(0)