C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因

8. 设x=1,y=-1,下列表达式中解为8的是 。
A)x&y B)~x│x C)x^x D)x<<=3
答案:D

x<<=3:把x的二进制位向左移动3位
因为x=1,所以
x的二进制为:0000 0001
向左移动3位后为:0000 1000
0000 1000转为10进制位:2^3 = 8
所以,选:D
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-03-09
俺看这题的考点是C语言的位运算符,你可以去查下相关内容
正好前三个我都不认识。。
第四个就是如LX所说的移位 十进制的1换成二进制:0001 左移3位就是1000呗 1所在位对应的权值就是2^3,也就是8.

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
答案就是 A) 1

C语言问题,求大神解决,谢谢拉。。我是小白,解释下原因
因为x=1,所以 x的二进制为:0000 0001 向左移动3位后为:0000 1000 0000 1000转为10进制位:2^3 = 8 所以,选:D

C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第三项结果是一个指针,也就是一个地址。它就是a[2][1]的地址,由于scanf要求是地址,所以它是正确的。

C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下。
^是按位异或运算符,需要把a和b的值化为二进制数后进行按位异或就能得到答案。题中,a=3 ,二进制为:0011;b=6,二进制值为:0110。所以(a^b)按位异或后的值为0101也就是5,左移两位后值(二进制)为:010100 也就是 :20

C语言问题,求大神解决,说下所使用的原理及知识点,谢谢啦,我是小白。
char c=’A’; \/\/在ASCII码中 字符'A'是 65 c = (c>=’A’ && c<=’Z’) ? (c+32) : c;这个表达式的意思是: c>=’A’成立, c<=’Z’也成立,所以执行c+32 c+32 = 65+32 = 97;在ASCII码中 字符97是字符'a'所以答案选择 B ...

C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下。
B.float add(float x,y) \/\/第二个参数,没有数据类型说明,应该是float add(float x, float y){return(x+y);} C.int add(x,y) \/\/两个参数,都没有数据类型说明,而且花括号内的float x,y \/\/是定义的临时变量,不是形参类型 {float x,y;return(x+y);} D.int add(x,y...

c语言小白,请问为什么我的这段代码输出结果不正确?应该怎么改呢?求具...
1、这一块统计数量的代码其实老实说我都没看懂是什么意思,但是我测试了,输入13能统计出来是2,但是输入12345的时候统计就错了,这段并不能数出3来。2、第17行有问题,你每次循环都把max赋值为Num[0],按照你的代码来,输入13时,Num[0]的值为0,所以max初始值总是0,而且Num[9]也是0,所以...

我是c语言小白,问问大神帮我看看编写的简单程序这哪里出错了?_百度...
#include<stdio.h> 输入代码时忽视输入法隐藏的错误 表面上看都是一样的代码,但是第二行就有错误,是全角和半角的不同,再看:正确编译运行 所以你的代码没有任何问题,但是要注意代码输入的方法。以前回答了很多,有时间可以看看我最近回答c语言问题:网页链接 网页链接 网页链接 网页链接等等。

C语言问题,求大神解释以下程序ret,getchar有什么作用,最好能够详细点...
);这句,如果成功读取了a和b,那么scanf会返回2表示读入了两个数据。下面的循环就是表示如果读取的不是两个数,就重新提示用户输入a和b。至于getchar()是读入一个字符,getchar()可以读入包括换行符在内的ASCII码字符,用户在输入完a和b后一般会按一次回车,这个getchar就是用来读取这个回车符的。

C语言,编写中出现了问题。 请各位大神帮帮我这个小白,感激不尽~~~
结构体没有名称为“number”的成员 172: error: `stu' undeclared (first use in this function)stu没有声明(首次使用时,先声明)220: error: invalid use of undefined type `struct student'struct student这个类型没声明 。。。你双击错误,编译器会自动定位到有错误的代码行,你一条一条改吧 ...

相似回答