AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 c语言选择判断题库 题目详情
CA4E3A01C46000013755684012D01E55
c语言选择判断题库
379
单选题

1、第291题 (1.0分) 题号:574 若变量已正确定义并赋值,下面符合C语言语法的表达式是()。

A
 a:=b+1
B
 a=b=c+2
C
 int 18.5%3
D
 a=a+7=c+b

答案解析

正确答案:B

解析:

**解析:** 本题考查 C 语言中表达式的语法规则,主要涉及赋值运算符、取模运算符以及左值的概念。 1. **分析选项 A:`a:=b+1`** * C 语言中的赋值运算符是 `=`,而不是 Pascal 等语言中的 `:=`。 * `:=` 在 C 语言中不是合法的运算符组合。 * **结论:** 语法错误。 2. **分析选项 B:`a=b=c+2`** * C 语言支持连续赋值。赋值运算符 `=` 的结合性是**从右向左**。 * 该表达式等价于 `a = (b = (c + 2))`。 * 首先计算 `c + 2`,然后将结果赋值给变量 `b`,最后将 `b` 的值(即 `c+2` 的结果)赋值给变量 `a`。 * 只要 `a`、`b`、`c` 已正确定义,这就是一个合法且常见的 C 语言表达式。 * **结论:** 符合语法。 3. **分析选项 C:`int 18.5%3`** * 这里有两个错误: 1. `int` 是类型关键字,不能直接作为表达式的一部分出现在运算中(除非是强制类型转换,格式应为 `(int)18.5`)。 2. 取模运算符 `%` 要求两个操作数必须都是**整数**。`18.5` 是浮点数,不能直接参与 `%` 运算。 * **结论:** 语法错误。 4. **分析选项 D:`a=a+7=c+b`** * 赋值运算符 `=` 的左边必须是一个**可修改的左值**(lvalue),通常是一个变量。 * 根据从右向左的结合性,先执行 `c+b`,然后试图执行 `a+7 = (c+b)`。 * `a+7` 是一个表达式的结果(右值),不是一个存储位置,不能被赋值。即不能给常量或表达式赋值。 * **结论:** 语法错误。 **综上所述,只有选项 B 是符合 C 语言语法的表达式。** **正确答案:B**
题目纠错
c语言选择判断题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码