下面选项中关于位运算的叙述正确的是
A.位运算符都需要两个操作数
B.左移运算的结果总是原操作数据2倍
C.右移运算时,高位总是补0
D.位运算的对象只能是整型或字符型数据
第1题
设有如下的说明和定义struct{inta;char*s;)x,*p=&x;x.a=4;x.S=hello;则以下叙述中正确的是
A.语句++p->a;的效果是使P增1
B.(p++)->a与p++->a都是合语法的表达式,但二者不等价
C.语句*p->s++;等价于(*p)->s++;
D.语句++p->a;的效果是使成员a增1
请帮忙给出正确答案和分析,谢谢!
第2题
若有以下程序 typedefstructstu{charname[10],gender;intscore;)STU; voidf(char*P){strcpy(P,Qian);} main( ){ STUa={Zhao,m,290},b; b=a;f(b.name); b.gender=f;b.score=350; printf(%s,%c,%d,,a.name,a.gender,a.score); printf(%s,%c,%d\n,b.name,b.gender,b.score);} 则程序的输出结果是
A.Zhao,m,290,Zhao,m,290
B.Qian,f,350,Qian,f’350
C.Zhao,m,290,Qian,f,350
D.Zhao,m,290,Zhao,C350
请帮忙给出正确答案和分析,谢谢!
第3题
有以下程序 include<stdio.h> structtt {intx;structtt*y;)*p; structtta[4]={20,a+l,15,a+2,30,a+3,17,a}; main( ) {inti; p=a; for(i=l;i<=2;i++){printf(%d,”,p->x);p=p>y;) } 程序的运行结果是
A.20,15,
B.30,17
C.15,30,
D.20,30
请帮忙给出正确答案和分析,谢谢!
第4题
有以下程序includestructord{intx,y;)dt[2]={1,2,3,4);main( ){structord*p=dt;printf”%d,”,++(p->x));printf(”%d\n”,++(p->y));)程序运行后的输出结果是
A.4,1
B.2,3
C.3,4
D.1,2
请帮忙给出正确答案和分析,谢谢!
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!