The value of b+c/2 is 6, because both C and 2 in c/2 are integers, so the value obtained is also an integer, and this value is 2 (the integer should exclude the decimal part). Add b to the value of 4, and finally it is equal to 6.
Question 2:
int a=0,b=2,c = 3;
a & amp& ampb++ & amp; The value of & amp++c is 0, the value of b is 2 and the value of c is 3.
Because the logic "&; & stands for the relationship between and, so when a equals 0, you already know that the value of the whole expression is 0, so you don't need to calculate the value of the following sub-expression, so a &;; & ampb++ & amp; The value of & amp++c is 0, the value of b is 2 and the value of c is 3.
int a= 1,b=0,c = 3;
a & amp& ampb++ & amp; The value of & amp++c is 0, the value of b is 1, and the value of c is 3.
Because a is 1, we don't know the value of the whole expression yet, so we have to continue the calculation.
When calculating b++, because b++ refers to the value first and then adds 1, B is 0 when &; & Left expression (because &; & This is a "side effect" point. When++is executed, b becomes 1). When the whole expression is 0, the calculation is terminated. So a & & b++& The value of & amp++c is 0, the value of b is 1, and the value of c is 3.
int a=0,b=2,c = 3;
The value of a |||| b +|++c is 1, the value of b is 3, and the value of c is 3.
Because the logic "||" indicates the relationship or, and a is 0, we don't know the value of the whole expression and need to continue the calculation. When we calculate that B is a || left expression (because it is a "side effect" point, B becomes 3 after executing++), we know that the whole expression value is 1, so we terminate the calculation. So the value of a |||| b +|++c is 1, the value of b is 3, and the value of c is 3.
Last one, think for yourself.