设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( )。A.0 B.1 C.2 D.3
设a、b、c、d、m、n均为int型变量,且a=5,b=6,c=7,d=8,m=2,n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为( )。
A.0
B.1
C.2
D.3
B.1
C.2
D.3
参考解析
解析:a>b这个表达式结果为0,所以m=0,即m被赋值为0,后面的n=c>d不再进行,所以(m=a>b)&&(n=c>d)整个表达式结果为0,n的初值就是2,因为后面的(n=c>d)没有运算,所以最终n的值不受影响,仍然是2。
相关考题:
阅读下面程序段,则执行后的结果为#include "stdio.h"main(){int m=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(int m,int n){return(m*m*m-n*n*n);}A.64B.8C.56D.0
设有如下变量定义: double a=3.500000;float b=2.5; int m=2,n=3; 则表达式“(float)(m+n)/2+(int)a%(int)b”的值是( )A.2.5B.3.5C.4.5D.表达式不正确
设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>;b)&&(n=c>;d)运算后,n的值是( )。A.0B.1C.2D.3
若有如下程序: sub(int *t,int a[3][4]) { int m,n; for(m=0;m<3;m++) for(n=0;n<4;n++) { *t=a[m][n];t++;} } main() { int*t,s[3][4)={{1,2,3),{4,5,6),{7,8,9}}; t=(int*)malloc(50); sub(t,s); printf("%d,%d\n",t[4],t[7]); } 则程序运行后的输出结果是( )。A.4,7B.4,0C.5,8D.程序错误
设变量n为float型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是()。A、n=(n*100+0.5)/100.0B、m=n*100+0.5,n=m/100.0C、n=n*100+0.5/100.0D、n=(n/100+0.5)*100.0
填空题若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后,x的值为()。x%=(n%=2)