以下的选择中,正确的赋值语句是()。 A . a=1,b=2 B . j++ C . a=b=5 D . y=int(x)
时间: 2024-05-28 13:14:07 浏览: 46
正确的赋值语句是 A. `a=1,b=2`。
解析如下:
1. A. `a=1,b=2` 是正确的赋值语句,将整型变量 `a` 赋值为 1,将整型变量 `b` 赋值为 2。
2. B. `j++` 是自增语句,不是赋值语句。它的作用是将变量 `j` 的值加 1,并将增加前的值作为表达式的结果返回。
3. C. `a=b=5` 是合法的赋值语句,但是不是正确的赋值语句。这条语句将整型变量 `b` 赋值为 5,然后将 `b` 的值赋给整型变量 `a`。如果这是想要的结果,那么这条语句就是正确的;否则,就不是正确的赋值语句。
4. D. `y=int(x)` 是类型转换语句,不是赋值语句。它的作用是将变量 `x` 的值转换为整型,并将转换后的值赋给变量 `y`。
相关问题
C语言里,下列选项正确的赋值语句是( )。 A. t += 1; B. n1 = (n2 = (n3 = 0)); C. k = i = j; D. a = b + c = 1;
选项 A、B、C 都是正确的赋值语句,选项 D 不是正确的赋值语句。
选项 A 是将变量 t 的值加 1,并将结果赋值给 t。
选项 B 是将 n3 赋值为 0,然后将 n3 的值赋给 n2,最后将 n2 的值赋给 n1。
选项 C 是将 j 的值赋给 i,然后将 i 的值赋给 k。
选项 D 中的 a = b + c = 1 不是一个正确的赋值语句,因为赋值运算符的优先级低于加法运算符,所以会先执行 b + c,然后将结果赋给 a,最后再将 1 赋给 a,这显然不是我们想要的结果。
已知:int i,j=7,*p=&i;,则与i=j;等价的语句是( ) A. *p=j; B. p=&j; C. i=**p; D. p=j;
与 `i=j;` 等价的语句是选项 B:`p = &j;`。
由于 `p` 是指向变量 `i` 的指针,所以 `*p` 表示变量 `i` 的值。因此,选项 A 中的语句 `*p=j;` 表示将变量 `i` 的值赋值为 `7`,而不是 `j` 的值 `7`。
选项 C 中的语句 `i=**p;` 表示将变量 `i` 的值赋值为指针变量 `p` 所指向的变量的值,但是此时指针 `p` 没有被初始化,其指向的地址是未知的,因此该语句是错误的。
选项 D 中的语句 `p=j;` 表示将指针变量 `p` 的值赋值为 `7`,而不是指向变量 `j` 的地址,因此也是错误的。
因此,选项 B 正确,能够将指针变量 `p` 的值赋值为变量 `j` 的地址,从而使得 `*p` 等价于变量 `j`,实现了 `i=j;` 的效果。