单选题设有如下定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是(  )。A *(k+2)B k+2C *k+2D *k+=2

题目
单选题
设有如下定义语句:int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是(  )。
A

*(k+2)

B

k+2

C

*k+2

D

*k+=2

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有定义:int k=1,m=2;float f=7;则下列选项中错误的表达式是( )。

A.k=k>=k

B.-k++

C.k%int(f)

D.k>=f>=m


正确答案:C
解析:在C语言中,求余运算符“%”两边的运算对象都应为整型数据,所以需要对变量f进行强制类型转换,正确的写法为k%(int)f。在C语言中,逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑“非”)、算术运算符、关系运算符、&&(逻辑“与”)、‖(逻辑“或”)、赋值运算符。根据运算符的优先级与结合性,对于选项A),先计算k>=k的值(为真,即1),再用1对k进行赋值。对于选取项 B,先计算k++的值,再对其取负数。对于选项D),先计算k>=f的值(为假,即0),再用0与m进行比较,故最终结果为0。

第2题:

设有如下定义语句以下选项中,表达式的值为6的是()

A.*(k+2)

B.k+2

C.*k+2

D.*k+=2


正确答案:A
考察数组和指针的概念,本题中*k指向数组m的首地址。*(k+2)现将指针后移两个元素,即为m[2]的首地址,然后取出m[2]的值6,所以选择A选项。选项B的值是一个地址无意义。选项C的值为4。选项D使得m[0]的值为4。fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。

第3题:

设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

A.k++

B.k+=1

C.++k

D.k+1


正确答案:A

第4题:

设有如下变量定义: double a=3.500000;float b=2.5; int m=2,n=3; 则表达式“(float)(m+n)/2+(int)a%(int)b”的值是( )

A.2.5

B.3.5

C.4.5

D.表达式不正确


正确答案:B

第5题:

设有以下程序: include using namespace std; int main() {inta,b,k:4,m=6,*p1=&k

设有以下程序:

include<iostream>

using namespace std;

int main()

{

int a,b,k:4,m=6,*p1=&k,*p2=&m;

a=p1==&m;

b=(*p1)/(*p2)+7;

cout<<a<<b<<end1;

return 0;

}

执行该程序后,a的值为【 】,b的值为【 】。


正确答案:0 7
0 7 解析:本题考核的知识点是有关指针的运算。程序中定义了两个指针变量p1和p2,并通过赋初值让它们分别指向了变量k和m。语句“a=p1==&m;”中先执行关系运算符“p1==&m”,显然是0(假),然后把0赋值给a。接着执行语句“b=(*p1)/(*p2)+7”,此处*p1的值就是k的值4,*p2的值就是m的值6,即把“4/6+7”的结果赋给b,b的值为7。

第6题:

设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )。

A.k++

B.k+=1

C.#NAME?

D.k+1


正确答案:A
解析:凡是表达式都有一个值,即运算结果。k++的表达式值为0,k再进行增1运算;k+=1是赋值表达式,其作用是取k中的值加1后再放到k变量中,即表达式的值为1;++k是先进行k增1运算,表达式的值为1;k+1=0+1,其运算的结果为1。所以选项A中表达式的值与其他三个表达式不同。

第7题:

设有数组的定义:int m[]=new int[5],则m.length的值为( )。

A.4

B.5

C.6

D.10


正确答案:B
解析:在Java语言中,数组被当作对象来处理,它包含一个很重要的变量length,用来表示数组的长度。

第8题:

设有定义下列: int a=1,b=2,c=3,d=4,m=2,n=2; 则表达式(m=a>b)&&(n=c>d)运算后,n的值是( )。

A.4

B.3

C.2

D.0


正确答案:C
解析: 在逻辑与&&运算中,如果第一个操作数为假,则结果是假,后面的操作数不参与运算,本题中因为第一个操作数(m=a>b)为假,所以第二个操作数(n=c>d)不参加运算,因此n的值不变。

第9题:

设有定义:int k=1,m=2;float f=7;则以下选项中错误的表达式是( )。

A.k=k>=k

B.-k++

C.k%int(f)

D.k>=f>=m


正确答案:C
解析:强制类型转换的一般形式为:(类型名)(表达式),而选项C)中没有给类型名加括号,所以选项C)错误。

第10题:

设有定义语句:double x=2.5, y=4.7;int a=7;那么表达式x+a%3*(int)(x+ y)%2/4的值为【 】。


正确答案:2.5
2.5 解析:本题考核运算符的使用(包括类型、优先级、结合性)。强制类型转换符()将表达式x+y的值转换为int型,那么表达式“a%3*(int) (x+y)%2/4”结果将为整型,计算:7%3*7%2/4的结果为0,而x为double型,所以最后的结果为2.5