计算机二级考试c中遇到这样一道题,求答案和详细解题过程。

#include<stdio.h>
int mian(void)
{
char x=020,y=04;
x>>=1;
y<<=2;
printf("%o",x^y);
return 0;
}
为什么我手动算来和运行结果不一样呢?

main写成了mian····

char x=020,y=04:赋值为8进制,所以2进制下x=0001 0000,y=0000 0100

x>>=1:x右移一位,x=0000 1000

y<<=2:y左移2位,y=0001 0000

printf("%o",x^y):x异或y,x^y=0001 1000,打印成8进制为30

追问

char 不是字符型吗?为什么x能被赋值成八进制下二十, 而不是‘0’‘2’‘0’单个字符?

追答

0开头的数字就是默认表示8进制,char字符型其实只是说给该变量分配了一字节内存空间,如果是赋值单字符,应该是x='0',且只能赋值一个,打印的是你可以打印成字符,也可以打印成数字。

追问

多谢,我搞错了,char占一个字节8个bit,我错误理解成1个字符了。

温馨提示:内容为网友见解,仅供参考
无其他回答

计算机二级C语言程序的一个题目,不知道答案怎么来的。求解析
这道题的话,因为scanf中要求的格式是%d,也就是整形,所以非整形的数字就被忽略了,所以i的值是12,scanf会自动将逗号,空格,回车识别为结束符号 所以到逗号时,第一句结束,开始第二句,然后第二句读取到的是,这个就是回车,所以第二句终止,第三句还没与触发,因为没有键盘录入了 所以第一句的...

计算机二级C语言程序的一个题目,不知道答案怎么来的。求解析
最后,int 类型的变量,是整数型,12.3是带小数点的,如果把12.3赋值的任何int类型的变量,那么编译器会自动四舍五入,变成12了,scanf()是个C语言自带的输入函数,这个函数的参数有两个比如上面的,scanf("%d",&k),这个%d是指明接收的数是int类型,如果是小数,那就是%f,&k的意思是将输入的...

计算机二级C题解答:“要思路!!!”,还有完整的过程!
思路。先将w指定的前m个字符保存到一个临时对象中;其次将w指定的第m个字符之后的字符都向前移动m个位置;然后,将刚保存到临时变量的字符连接到第二步生成的字符串之后,就可以实现此函数的功能了

计算机二级c语言,第3题,“度”是什么?求答案详解
这是数据结构的内容,度表示子节点的个数,二叉树中叶子节点的个数等于度为2的节点个数加一

急求!!!全国计算机等级考试二级C机考题库 附答案的最好 !急!!!_百度...
答案:void fun(char a[],char b[], int n){int I,j=0;for (i=0;i<LEN;i++)if (i!=n){b[j]=a[i];j++;}b[j]=‘\\0’;}7: 第7题 请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。 答案:void fun (int *s, ...

C语言二级考试问题
LZ能实际实验来获取答案这点值得肯定,计算机编程本来就是动手的学问。1、选C。至于D,C语言国际标准没有规定共用体(联合)类型变量不能做函数参数的。持这种说法的教材是以讹传讹。或者说,有谁发现哪种通用的C编译器对以共用体(联合)类型变量做函数参数的代码报错了?至于LZ实验的结果,得等理解了...

计算机等级考试二级C语言中那道程序设计题的评分标准是什么
计算机二级C语言题型和评分标准:1、选择题:40题,每题1分。按标答给分 2、程序填空:3处空,每空6分。共18分,按标答给分,如果和标答的写法不一样,就算对的也没有分。每一空有每一空的分数。做对一空就给6分 3、程序改错:2处错误,每处9分,共18分。都是\/*found*\/下面的一行有错误...

计算机二级c疑难题
第一种:D)void (*pf)(int,char);pf=&fun;在C语言中,其实对函数指针的参数并不进行检查,所以 void (*pf)(int,char);pf=&fun;这种写法在VC6中的C编译器中是可以通过的,但是在第二个char参数中会给出一个警告,当然你把char改成char*,就会连警告都没有了 第二种:在C语言中...

求09年3月份全国计算机等级考试二级c语言笔试试题的详细讲解
09年3月全国计算机等级考试二级C笔试真题(附答案)(考试时间90分钟,满分100分)一、选择题(1)下列叙述中正确的是 A) 栈是先进先出(FIFO)的线性表B) 队列是先进先出(FIFO)的线性表C) 循环队列是非线性结构D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(2)支持子程序调用的数据结构是 A) 栈 ...

2017年计算机二级C语言模拟题及答案(3)
2017年计算机二级C语言模拟题及答案(3)1). 以下选项中不合法的标识符是( )A.FOR B.&a C.print D._00 正确答案:B 答案解析:合法的标识符要满足组成字符为a~z以及A~Z,数字字符0到9和下划线,其中数字不开头,不能是关键字。选项B中,&不属于组成字符,是错误的。2). 下列描述中正确的是...

相似回答