几道C语言的选择题,大家帮忙看看
1、设intx=1,y=1;表达式"!x||y"的值是()A、0B、1C、2D、-12、如果已定义intb[10],*p=b;并在以后语句中未改变p的值,不能表示b[1]...
1、设 int x=1,y=1;表达式 "!x||y" 的值是()
A、0 B、1 C、2 D、-1
2、如果已定义 int b[10],*p=b; 并在以后语句中未改变p的值,不能表示
b[1]的地址的表达式是()
A、p+1 B、b++ C、b+1 D、++p
3、假定a和b为int型变量,则执行下面语句组后b的值为()
a=1;b=10;
do{
b-=a;a++;
}while(b--<0);
A、9 B、-2 C、-1 D、8
4、若有以下定义和语句,则输出的结果是()
char c1='b',c2='f';printf("%d\n",c2-c1);
A、2 B、3 C、4 D、5
5、已知:char a[3][10]={"zhang","li","wang"},*pa=a; 不能正确显示字符串"li"的语句是()
A、printf("%s",a+1); B、printf("%s",*(a+1));
C、printf("%s",*a+1); D、printf("%s",&a[1][10]);
希望能做一下简单的说明,多谢了 展开
A、0 B、1 C、2 D、-1
2、如果已定义 int b[10],*p=b; 并在以后语句中未改变p的值,不能表示
b[1]的地址的表达式是()
A、p+1 B、b++ C、b+1 D、++p
3、假定a和b为int型变量,则执行下面语句组后b的值为()
a=1;b=10;
do{
b-=a;a++;
}while(b--<0);
A、9 B、-2 C、-1 D、8
4、若有以下定义和语句,则输出的结果是()
char c1='b',c2='f';printf("%d\n",c2-c1);
A、2 B、3 C、4 D、5
5、已知:char a[3][10]={"zhang","li","wang"},*pa=a; 不能正确显示字符串"li"的语句是()
A、printf("%s",a+1); B、printf("%s",*(a+1));
C、printf("%s",*a+1); D、printf("%s",&a[1][10]);
希望能做一下简单的说明,多谢了 展开
展开全部
B:x=1, y=1, !1=0, 0||1=1
B:b++, b为指针常量,而且b++返回值为b
D:a:1, b:10 //a=1, b=10;
a:1, b:10//do{
a:1, b:9//b-=a;
a:2, b:9//a++;
a:2, b:8//}while(b--<0);
b=8
C:'b', 'c'('b'+1), 'd'('b'+2), 'e'('b'+3), 'f'('b'+4)
C&D:运行得
B:b++, b为指针常量,而且b++返回值为b
D:a:1, b:10 //a=1, b=10;
a:1, b:10//do{
a:1, b:9//b-=a;
a:2, b:9//a++;
a:2, b:8//}while(b--<0);
b=8
C:'b', 'c'('b'+1), 'd'('b'+2), 'e'('b'+3), 'f'('b'+4)
C&D:运行得
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.B,因为逻辑非(!)远算符优先级比逻辑或(||)高,
!x||y应该为(!x)||y
!x为0(假),和y作逻辑或远算,就为1(真)
2.B,因为b++是先使用b的值,再改变b的值,使b的值加1
3.D,因为b=b-a=10-1=9,而while(b--<0)中又使b的值自动减1,故为8
4.C,char c1='b'=98,c2='f'=102,c2-c1后输出整数型为4
5.A,printf("%s",a+1);输出的是第一行的第一列字符,
!x||y应该为(!x)||y
!x为0(假),和y作逻辑或远算,就为1(真)
2.B,因为b++是先使用b的值,再改变b的值,使b的值加1
3.D,因为b=b-a=10-1=9,而while(b--<0)中又使b的值自动减1,故为8
4.C,char c1='b'=98,c2='f'=102,c2-c1后输出整数型为4
5.A,printf("%s",a+1);输出的是第一行的第一列字符,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1、设 int x=1,y=1;表达式 "!x||y" 的值是(B)
A、0 B、1 C、2 D、-1
PS: !x不是1,就是假的意思 y是真 中间的||或的意思。所以0或1,整个就是1了。
2、如果已定义 int b[10],*p=b; 并在以后语句中未改变p的值,不能表示
b[1]的地址的表达式是(C)
A、p+1 B、b++ C、b+1 D、++p
PS: 数组标量名的指针地址为a[0]是常量指针,因而是错误的。
3、假定a和b为int型变量,则执行下面语句组后b的值为(D)
a=1;b=10;
do{
b-=a;a++;
}while(b--<0);
A、9 B、-2 C、-1 D、8
PS:
4、若有以下定义和语句,则输出的结果是(C)
char c1='b',c2='f';printf("%d\n",c2-c1);
A、2 B、3 C、4 D、5
5、已知:char a[3][10]={"zhang","li","wang"},*pa=a; 不能正确显示字符串"li"的语句是(C)
A、printf("%s",a+1); B、printf("%s",*(a+1));
C、printf("%s",*a+1); D、printf("%s",&a[1][10]);
PS:a是地址,所以前面要加指针或者取指操作符
A、0 B、1 C、2 D、-1
PS: !x不是1,就是假的意思 y是真 中间的||或的意思。所以0或1,整个就是1了。
2、如果已定义 int b[10],*p=b; 并在以后语句中未改变p的值,不能表示
b[1]的地址的表达式是(C)
A、p+1 B、b++ C、b+1 D、++p
PS: 数组标量名的指针地址为a[0]是常量指针,因而是错误的。
3、假定a和b为int型变量,则执行下面语句组后b的值为(D)
a=1;b=10;
do{
b-=a;a++;
}while(b--<0);
A、9 B、-2 C、-1 D、8
PS:
4、若有以下定义和语句,则输出的结果是(C)
char c1='b',c2='f';printf("%d\n",c2-c1);
A、2 B、3 C、4 D、5
5、已知:char a[3][10]={"zhang","li","wang"},*pa=a; 不能正确显示字符串"li"的语句是(C)
A、printf("%s",a+1); B、printf("%s",*(a+1));
C、printf("%s",*a+1); D、printf("%s",&a[1][10]);
PS:a是地址,所以前面要加指针或者取指操作符
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C.非X=0.或Y=1
A.地址好像不能P+1。
A.b--=9.由于是先循环后判断,所以只做了一次b=b-a,所以=9
C.字符b和f的ASCII码之间相差了4,输出的是%d,应该是4
A.
好长时间没用C了。仅供参考。
A.地址好像不能P+1。
A.b--=9.由于是先循环后判断,所以只做了一次b=b-a,所以=9
C.字符b和f的ASCII码之间相差了4,输出的是%d,应该是4
A.
好长时间没用C了。仅供参考。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
B
B
D
C
CD
B
D
C
CD
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询