C语言填空题详解
①inta=13,b=6,a>>2的十进制数值为【3】②inta=13,b=6,a|b的十进制数值为【15】③设x和y均为int型变量,且x=1,y=2,则表...
①int a=13, b=6, a>>2的十进制数值为【 3 】②int a=13, b=6, a|b的十进制数值为【 15 】③设x和y均为int 型变量,且x=1,y=2,则表达式1.0+x/y的值为【 1.0121 】④设有以下定义的语句: int a[3][2]={10,20,30,40,50,60},(*p)[2]; p=a;则*(*(p+2)+1)的值为【 60 】⑤下列语句输出的结果是【 ffff 】, int a=-1; printf(“%x”,a);⑥设x和y均为int型变量,则以下for循环中的scanf语句最多可以执行的次数是【 3 】 for (x=0, y=0;y!=123&&x<3; x++) scanf(“%d”,&y);⑦执行下列语句后,*(p+1)的值是【 b 】 char s[3]=”ab”,*p; p=s;⑧执行以下程序段后,s的值是【 16 】 int a[]={5,3,7,2,1,5,3,10},s=0,k; for(k=0;k<8;k+=2) s+=*(a+k);⑨若输入字符串:abcde<回车>,则以下while 循环体将执行【 0 】次 While ((ch=getchar())= =”e”),printf(“*”);⑩若有以下定义和语句: int a[5]={1,3,5,7,9};*p; p=&a[2];则++(*p)的值为【 6 】
展开
1个回答
展开全部
1.a为整型嘛,>>2表示右移2位,也就是除以4,结果是3点多,但是a是整型,所以取整(int)a=3;
2.这个事按位或! d13=b1101,d6=b0110;或(有1就是1,全0为0)之后,是b1111,也就是
2^3+2^2+2^1+2^0=8+4+2+1=15;
3.1.0在+号的左边确定了此式子的类型为float,因为x,y都是int(整数)类型,因此:x/y=整数0
1.0+ 0 = 1.0,你答案错了 不信问你老师!
4.指针数组的问题,*(p+2)是列指针,+2所以指向第3列,后面解引用 +1 指向第二行,所以是60
5.输出16进制的-1,-1的补码就是ffff
6.这很简单啊 与运算左右必须同时成立 ,只能执行x=0,x=1,x=2. 3次!
7.这个。。很基础啊 p一开始是数组的首地址 然后右移一个到b 再解引用 就是b
8.*(a+k)就是取数组a的第k个元素,s = a[0] + a[2] + a[4] + a[6] = 5 + 7 + 1 + 3 = 16
9.while循环是当接受到e的时候才执行的呀,如果不是e就不执行,那么你输入第一个是a,所以就是0次咯
10.p一开始指向5这个数字,*p那么就是解引用就是5,因为是前自增所以执行了,所以是6咯。
当年我二级C双百~加油吧孩子
2.这个事按位或! d13=b1101,d6=b0110;或(有1就是1,全0为0)之后,是b1111,也就是
2^3+2^2+2^1+2^0=8+4+2+1=15;
3.1.0在+号的左边确定了此式子的类型为float,因为x,y都是int(整数)类型,因此:x/y=整数0
1.0+ 0 = 1.0,你答案错了 不信问你老师!
4.指针数组的问题,*(p+2)是列指针,+2所以指向第3列,后面解引用 +1 指向第二行,所以是60
5.输出16进制的-1,-1的补码就是ffff
6.这很简单啊 与运算左右必须同时成立 ,只能执行x=0,x=1,x=2. 3次!
7.这个。。很基础啊 p一开始是数组的首地址 然后右移一个到b 再解引用 就是b
8.*(a+k)就是取数组a的第k个元素,s = a[0] + a[2] + a[4] + a[6] = 5 + 7 + 1 + 3 = 16
9.while循环是当接受到e的时候才执行的呀,如果不是e就不执行,那么你输入第一个是a,所以就是0次咯
10.p一开始指向5这个数字,*p那么就是解引用就是5,因为是前自增所以执行了,所以是6咯。
当年我二级C双百~加油吧孩子
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |