
1题目以下不能正确表示代数式4cd/ab的C语言表达式是( )A. 4cd/a/bB. cd/a/b4C. c/a/bd4D. 4cd/a*b✅答案D解析 它看的是优先级*和/优先级相等所以从左到右不可以看成数学那种必须一个一个往后算2题目表达式 (int)((double)9/2)-(9)%2 的值是______。A.0 B.3 C.4 D.5✅答案B解析(double)9 → 9.0 9.0 / 2 4.5(int)4.5 强制转整型直接截断小数得到 49 % 2 14 - 1 3一定要注意到底是/还是%不要看岔眼了3题目下面程序的运行结果是c#includestdio.hvoid main(){int y5, x14;y((x3*y,x6),x-1);printf(“x%d,y%d”,x,y);}A. x27,y27B. x12,y13C. x15,y14D. xy27✅答案C解析逗号运算符从左往右执行整个表达式的值 最右侧表达式的值x 3y 35 15x6 计算得到21但x本身值不变仍然是15x-1 14 这个就是逗号表达式最终结果赋值给y结果 x15y14注意那个x6是没用的是专门放在那里吓人的4题目设有定义: int x2; 以下表达式中值不为6的是______。A. x*x1B. x,2xC. x(1x)D. 2*x,x2✅答案D解析逗号表达式结果取最右边。A x x*(x1) 236 后面一个x保留了原值B x 后x3 2x 6C x x*(1x)236D 2x 算出4不改变x然后 x 2 x变成4整个表达式结果是4。注意2*x是没用的放在那里忽悠人5题目表达式 aa-a9 的值是( )A.9 B.-9 C.18 D.0✅答案D解析复合赋值运算符从右向左计算复合一定是从右往左然后把每一项展开。a9 a - a → a a-a 0 a a → a 00 06题目以下关于运算符优先顺序的描述中正确的是A. 关系运算符 算术运算符 赋值运算符 逻辑运算符B. 逻辑运算符 关系运算符 算术运算符 赋值运算符C. 赋值运算符 逻辑运算符 关系运算符 算术运算符D. 算术运算符 关系运算符 赋值运算符 逻辑运算符✅答案C解析优先级从高→低算术 关系 逻辑 赋值。题干 代表优先级低于所以赋值 逻辑 关系 算术。口诀算术最高加减乘除然后关系大于小于等于再逻辑或与赋值复合最低。7题目设x、y、t均为int型变量,则执行语句: xy3;tx||y; 后,y的值为A.不定值 B.4 C.3 D.1✅答案C解析 || 逻辑短路左边表达式为真右侧完全不执行非0为真是真的就直接短路它如果要正确要两边都对。但是只要前一个错了后面就不用看x x自增为4非0 →条件为真y 不会执行y保持原值3。8题目设有 int x11; 则表达式 (x * 1/3) 的值是A.3 B.4 C.11 D.12✅答案A解析后置自增 x先用原值参与计算整个表达式算完x才1先运算x再加1一定是x而不是表达式代入x原值11 11 * 1 / 3int整数除法直接舍弃小数11/3 3表达式运算结束之后x才变成12⚠️重点区分表达式结果3变量x最终值12。选择题最爱在这里挖坑。记忆口诀 x 先运算后加1 x 先加后运算。9题目判断字符型变量x是否是大写字母的正确表达式是___A. ‘A’ x ‘Z’B. (xA) (x Z)C. (‘A’ x) (‘Z’ x)D. (x ‘A’) (x ‘Z’)✅答案D解析A错误C语言不支持连续比较B错误A、Z没有单引号会被当成未定义变量C逻辑写反D标准写法x大于等于’A’并且小于等于’Z’。###10题目若有说明和语句: int a5; a; 此处表达式 a 的值是A.7 B.6 C.5 D.4✅答案C解析后置 a 表达式本身的值是自增前的原值5运算结束变量a才变成6。坑题目问【表达式的值】不是问变量a最后的值 错题核心总结后置自增 x 先用旧值计算整个表达式全部算完之后变量才1。题目区分两个概念表达式的值 vs 变量最终值这是选择题头号坑。逗号运算符从左往右执行整个表达式结果 最右边式子的值。逻辑短路 || 和 A||B A为真B不执行 AB A为假B不执行。复合赋值 - 运算顺序从右向左。整数除法int/int直接截断小数不四舍五入。连续比较不能简写不能写 ‘A’x‘Z’ 必须用 连接。竹杖芒鞋轻胜马一蓑烟雨任平生。