C语言中设a=4,b=3,c=2,d=1则表达式:a<b?a:c<d?a:d的结果多少
d=d/2=2
c=c*2=6
b=b-6=-4
a=a+(-4)=-3
表达式a++*b+c*--d的结果是-3
三元式,优先级问题
从左向右算,表达式结果为d,而d=1,所以表达式结果为1
结果是1;
首先判断条件a<=b,如果成立则取a的值,不成立则取(c<=d?a:d)的值;对于c<=d?a:d,先判断c<=d,如果成立则取a的值,不成立则取d的值;所以,很明显,你的表达式里一开始a<=b条件就成立了,直接就取a的值了,a的值就是1,所以结果是1。
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
答案在vc6.0上跑出来是1
说句实话,如果是考试题还可以理解
如果真的代码写成这样就很无语了
答案是1.首先你要知道a?b:c表达式的意义是如果a不为0,则等于b,如果a为0,则等于c
1、a<b也就是4<3是错的,为0,执行冒号后面的
2、c<d也就是2<1是错的,为0,结果为冒号后面的d,也就是1
答案是1.首先你要知道a?b:c表达式的意义是如果a不为0,则等于b,如果a为0,则等于c
1、a
评论
0
0
加载更多
c语言设 a=2,b=6,则表达式(a++)+(b++)的值是_?
先将a++和b++的值取出来,此时a的值为2,b的值为6。然后计算(a++)+(b++),其中a++表示先将2赋值给表达式,然后再将a的值加1,所以此时表达式的值为2,a的值变为3。同理,b的值先被表达式取出为6,然后再加1变为7。因此表达式的值为2+6=8,a的值为3,b的值为7。
在C语言中、设a=3,b=-4,c=5; 请问大师表达式++a-c+(++b)和表达式++a...
++a-c+++b 等价于 (++a)-(c++)+b 结合性是尽可能地跟前面的结合;所以有 (++a)-(c++)+b 先算前置的,再算表达式的,再算后置的。(++a)-c+(++b)a=a+1;b=b+1;a-c+b;这就是表达式++a-c+(++b) 的值;(++a)-(c++)+b a=a+1;a-c+b;这就是表达式++a-c+++b的值...
C语言中,设a=0,b=1,c=2,则表达式a||b+c&&b==c的值是
从左到右计算得0||3&&0 =1&&0 =0
C语言练习题---求答案解
3、设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是 ( B) A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12 4、在C语言程序中,下面哪一个是正确的? (B )A 函数的定义可以嵌套,但函数的调用不可以嵌套。B 函数的定义不...
在c语言中,假设所有变量均为整型,则表达式(a=3,b=7 ,a++,a+b)的值...
是11。是11。是11。
在C语言中,设有char a='C' ,b='A' ;执行语句printf("%d,
设有char a='C' ,b='A' ;执行语句printf("%d,%d",b,a-b);后,输出结果是 A、65,2 因为在C中,char 等同于一个8位有符号整数,只是作“字符”解读。所以,char a='C' ,b='A' ;等同于char a=67 ,b=65; 在以%d格式输出时的值就是 65,2 ...
C语言中,设有int a=3,b=-5;下面表达式值不等于1的有( ) C.a<b||b<...
a<b||b<0 a小于b且b小于零,很显然,判别式是正确的,值为1。(a,2,-5) == (b,2,a)在括号中用逗号相连的是只取最后一个值。前面的括号只取最后一个值为-5,与后面取的最后一个值a不等,判别式错误,值为0。
设a=3,b=4,执行语句“printf("%d,%d",(a,b),(b,a));”的输出结果...
4,3 这个是逗号表达式的问题,逗号表达式从左往右执行,最后显示最右边的那个。即(a,b)相当于b,如果是printf("%d,%d",(++a,++b),(++b,++a));输出为6,5
C语言中设a=1,b=2,c=3,d=4;执行printf(%d%d%d\\n",a==b==c,c=a==b...
答案 1113 从右到左运行:第一步:b=c 其他值 a b c d 1 3 3 4 第二步:c==(a=b) 先运行a=b,值为3,在运行c==3,c的值为3, 结果为1,其他的值 a b c d 3 3 3 4 第三步:c=a==b 先运行a==b,第二步可以看出a=3,b=3,a==b的值为1,...
C++ 填空题.在C++语言中,表示逻辑“真”值用? ?? 。 2.C++语
C++语言中的每条基本语句以 ; 作为结束符,每条复合语句以 } 作为结束符。设a、b、c均为int型变量且a=7.5,b=2,c=3.6,则表达式a>b&&c>a||a<b&&!c>b的值是 0 。设a、b、c均为int型变量且a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c\/2的值是 1 。若...
蒋费得理: d:1
正定县17744563333: 设a=2、b=3 c=4 则表达式a+b>c&&b= =c&&a||b+c&&b+c的值为 c语言拜托各位大神 - ?
蒋费得理: a+b>c这真 b= =c为假 a为真 b+c为真 表达式为 真&&假&&真||真&&假 结果为假.因为C语言是先计算&&再计算||
正定县17744563333: 在C语言中,设有如下定义: int a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:(m=a>b)&&(n=c>d)后,n的值为,过程 - ?
蒋费得理: n的值仍然为2,没有改变! 过程: 先计算a>b,值为0,赋给m的值为0,表达式m=a>b的值也是0. 对于&&逻辑运算,不管后面(n=c>d)的值如何,都不影响(m=a>b)&&(n=c>d)的最终结果,因此,C语言不再对表达式n=c>d进行计算.因而n的值没有改变!!
正定县17744563333: C语言,请大神赐教. 设a,b,c为整形数,且a=2,b=3,c=4,择执 行a*=16+(b++ - ?
蒋费得理: #include<stdio.h> void main() {int a=2,b=3,c=4;a*=16+(b++)-(++c);/*化简为:c=c+1;a=a*(16+b-c);c=c+1;*/printf("%d\n",a); //结果为a=28 }
正定县17744563333: c语言 若有以下程序 main() { int a=4,b=3,c=5,t=0; if(a<b)t - ?
蒋费得理: int a=4,b=3,c=5,t=0; if(a<b){t=a;a=b;b=t;} //一个if判断下如果有多条语句,记得用{}括起来,下面也是 if(a<c){t=a;a=c;c=t;} printf("%d %d %d\n",a,b,c); 这样写就对了
正定县17744563333: c语言中怎么书写假如a=1且b=2且c=3且d=4时输出......a!=1或b!=2或c!=3或d!=4时输出.... - ?
蒋费得理: if(a=1||b=2||c=3||d=4) {执行语句 }
正定县17744563333: C语言中,a=3,b=4,c=5; a||b+c&&b - c怎么理解? - ?
蒋费得理: a=3,b=4,c=5; 这是一条逻辑表达式,只可能有0和1两种取值,非零的时候取1,所以1楼的是不对的.又出现了2类运算符,加减和逻辑运算符,此处+-优先级最高,其次是&&,最低是||,注意同是逻辑运算符优先级不一样.还须注意,按照优先级加括号: a || b + c && b - c =a || ((b + c) && (b - c)) =3 || ((4 + 5) && (4 - 5)) =3 || 1 =1每对一个逻辑算符运算,得到的值都是非0即1,整个逻辑表达式的计算相当于将其分解成几个子式进行计算.以后有问题欢迎HI我
正定县17744563333: VB 设 a=4,b=3,c=2,d=1 下列表达式的值是的值是 - ?
蒋费得理: 算数运算符>关系运算符>逻辑运算符 逻辑运算符中常用的3个的优先级 NOT>AND>OR 优先算c false AND 1 = 0 再算a > b + 1 Or 0 false OR 0 = 0
正定县17744563333: main() { int a=5,b=4,c=3,d=2; if(a>b>c) printf(“%d - ?
蒋费得理: C语言中不能用 a > b > c 这样的表达式来判断a, b, c 之间的大小.正确的表达式应为: if (a > b && b > c) 具体可以找一本C语言基础的书籍看看
正定县17744563333: c语言中a=1;b=2;c=3; d=(a++, -- b,b--,--a,--c,c--); 这个怎么做求A,B,C,D的值,要具体分析啊谢谢啦.. - ?
蒋费得理: 逗号运算符从左到右计算 d=(a++,--b,b--,--a,--c,c--); 对a,a++,--a,增1减1,没有变化,最终a=1 对b,--b,b--两次减1,故b=0 对c,--c,c--两次减1 故c=1d其实就等于c--,c--是先返回在减1,故d=2