单选题
1、第53题 (1.0分) 题号:92 以下的选择中,正确的赋值语句是()。
A
a=1,b=2
B
j++
C
a=b=5;
D
y=int(x)
答案解析
正确答案:C
解析:
这道题考查的是编程语言(通常指 C、C++ 或 Java 等类 C 语言)中**赋值语句**的语法规范。我们需要逐一分析各个选项,判断其是否符合“赋值语句”的定义及语法规则。
**选项分析:**
* **A. `a=1,b=2`**
* 这是一个**逗号表达式**。虽然它在语法上可能是合法的(取决于上下文),但它整体是一个表达式,而不是一个标准的“赋值语句”。在大多数严格定义的题目中,赋值语句应以分号结尾,且主要目的是执行赋值操作。此外,如果这是单独的一行代码,缺少分号 `;` 会导致编译错误(在 C/C++/Java 中)。即使加上分号 `a=1,b=2;`,它也是一个包含两个子表达式的语句,而非单一的赋值语句结构。
* **结论**:不规范或缺少分号,通常不被视为标准的单一赋值语句。
* **B. `j++`**
* 这是一个**自增表达式**(Increment Expression)。它等价于 `j = j + 1`,虽然它改变了变量的值,但从语法分类上讲,它属于“表达式语句”中的自增/自减操作,而不是直接的“赋值语句”(Assignment Statement)。赋值语句通常特指使用赋值运算符 `=` 的语句。
* **结论**:这是自增语句,不是赋值语句。
* **C. `a=b=5;`**
* 这是一个**连续赋值语句**。在 C、C++、Java 等语言中,赋值运算符 `=` 具有右结合性。
* 执行过程:首先将 `5` 赋值给 `b`,然后将 `b` 的值(即 5)赋值给 `a`。
* 语法结构:`变量 = 表达式;`,符合赋值语句的标准定义,且以分号结尾,构成完整的语句。
* **结论**:**正确**。
* **D. `y=int(x)`**
* 这种写法常见于 Python 等动态类型语言,但在 C、C++、Java 等静态类型语言中,`int(x)` 不是标准的类型转换语法(C/C++ 中通常用 `(int)x` 或 `static_cast(x)`,Java 中用 `(int)x`)。
* 即使假设这是某种支持该语法的语言,题目通常基于经典的 C 语言语境。在 C 语言中,`int(x)` 会被解析为函数调用或声明错误,而不是合法的赋值语句。
* **结论**:在主流考察的类 C 语言中语法错误。
**总结:**
只有选项 **C** 符合类 C 语言中赋值语句的标准语法:使用赋值运算符 `=`,具有右结合性,并以分号 `;` 结束。
**正确答案:C**
题目纠错
c语言选择判断题库
相关题目
单选题
1、第206题 (1.0分) 题号:624 以下关于运算符优先顺序的描述中正确的是()。
单选题
1、第205题 (1.0分) 题号:127 下列程序的输出结果是()。
单选题
1、第204题 (1.0分) 题号:590 若变量a与i已正确定义,且i已正确赋值,合法的语句是()。
单选题
1、第203题 (1.0分) 题号:536 enum a {sum=9,mon=-1,tue}; 定义了()。
单选题
1、第202题 (1.0分) 题号:527 全局变量的定义不可能在()。
单选题
1、第201题 (1.0分) 题号:95 下列变量说明语句中,正确的是()。
单选题
1、第200题 (1.0分) 题号:88 下列字符序列中,可用作C标识符的一组字符序列是()。
单选题
1、第199题 (1.0分) 题号:598 下列四组选项中,均不是C语言关键字的选项是()。
单选题
1、第198题 (1.0分) 题号:530 C程序中的宏展开是在()。
单选题
1、第197题 (1.0分) 题号:554 从键盘上输入某字符串时,不可使用的函数是()。
