刚接触C语言,这些表达式怎么解释啊,哪位大佬帮帮我

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-11
C语言,哪位大佬能帮我解释一下这题目是怎么算出来的

13)NULL是定义的常量,其值为0,选D
14)0X02就是2,<<2是左移2位,相当于乘以2^2,所以输出值8,选C
15)f2('k')的值为2(因为case'k':k++;的后面没有break;所以继续执行下一行的k++排印再break),f2('y')的值为1(执行default:k++;),故选B
16)f3(10)的值为-1(因为j不断自减,当j==-1时就退出循环,然后返回-1)所以选A

题目发出来啊

  1. 333.544

    字符'b'的ascii码值为98,代入计算,即150+98*2-12.456

  2. 1

    ++a值为3,3-2=1

  3. 1

    a=a/(a=a*(a=2))

  4. 36

    a=3使a值为3,a+=3后a值为6,a*a=36

  5. 6.5

    1/(float)a=0.5,0.5+6=6.5

  6. 0

    (a>b)>c,2>6值为0(假),0>5值为0(假)

  7. 1

    (--a)||(++b&&c++),--a值为1,||运算符左侧为非零值,整个表达式值为1(真),右侧不进行运算



  • c语言 解释一下表达式“2>1>0?3>2>1:4>3>2?5>4>3:6>5>4”是什么意思...
    答:A?B:C的意思是如果A为真,则取B,否则取C。在C语言中没有连等式,也就是2>1>0不能放在一起看,先看2>1为真,所以这个表达式的值为1,再看(2>1)>0,也就是判断1>0,为真,所以取3>2>1的真值为0。
  • 我是初学C语言,看不懂你这题(看不懂的地方我标注了一下啊)
    答:!(a>b)=!(3>4)因为(3>4)是错的,所以用0表示,又因为前面!,所以用1表示 (!c)因为c=5,不等于0,所以c是真值,前面加个!,就说明整体是假值,所以最后逻辑值为0 另外,扩展一下,对于这道题中的c,!!c的值应该为1。!!c=!(!c)=(!0)=1。这也是通过上述解释...
  • 大学c语言设计,求解释程序段
    答:C语言提供了一种用于多分支选择的switch语句, 其一般形式为:switch(表达式){ case 常量表达式1: 语句1;case 常量表达式2: 语句2;…case 常量表达式n: 语句n;default: 语句n+1;} 其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, ...
  • C语言大神帮忙解答,24题,题目中那个表达式是什么意思,选什么,给解释下...
    答:判断式?结果1:结果2 这个叫做问号条件,判断式为真,表达式结果就是结果1;否则为结果2.x > 0 ? 1 : x < 0 ? -1 : 0 从右往左看,先是x < 0 ? -1 : 0,假设结果为a,再x > 0 ? 1 : a 翻译为if语句:if (x>0)return 1 else if(x<0)return -1 else return 0 ...
  • 求求解释一下图片中C语言表达式是什么意思?怎样运行?
    答:value=value |1 <<bit_number;//由于<<优先级高等价于 value=value |(1 <<bit_number);//value=10(0000 1010),bit_number=4,结果为26 //将二进制数指定位置替换为1,比如上面的例子,将二进制数中第4位(从0计数)变为1,即(0001 1010)
  • 刚学C语言,有两个表达式要请教大家
    答:a=5+c+d=a+5 赋值号左边只能是左值表达式 a=5+c+d是右值表达式 只有左值表达式 才能赋值 a=5+c,d=a+5两个语句之间应用分号隔开 === a=5+c+d=a+5 首先只有左值表达式 才能赋值 其次由于优先级的原因,先执行左边的等号。可以改为 a=5+c+(d=a+5)这样就是你说的情况了。是正确的。
  • C语言刚学,求解释
    答:C 当a为偶数时,a%2=0,式子值是0,代表假,!假就是真,当a为奇数时a%2=1,真,!真就是假,和题目的要求不同,所以选C
  • C语言 while(!x);是什么意思?
    答:while(!x)后面有一个分号,表示该循环的循环体为空,即只做判断和循环,并不执行操作。!是反运算符,单目,!真 即 假,!假 即 真。如果x != 0, 则 !x 为 0,即假,如果x == 0,则 !x 为 真。while()是循环语句。while(expr)表示当逻辑表达式expr为真时,循环运行循环体,直到expr值...
  • c语言中a+++++b应该怎么理解?
    答:a+++++b,应该理解成:(a++) + (++b)。这涉及到“左值”的问题。转一段“百度百科”里关于左值的说明:左值(lvalue) 是B语言/C语言/C++语言等类C语言中的一类表达式。“左”(left)的原意是指可以放在赋值符号“=”的左边,但其实也表示能作为&和++等操作符的操作数(B语言中已经如此)。而...
  • C语言表达式
    答:问题一:b+c/2值为6,是因为c/2中c和2都是整型所以得到的值也为整型,这个值是2(整型要舍掉小数部分),在加上值为4的b,最后就等于6了。问题二:int a=0,b=2,c=3;a&&b++&&++c值为0,b值为2,c为3。是因为逻辑“&&”表示关系与,所以当a等于0时,就已经知道了整个表达式的值为...