软考中级

设有定义:intk=3,*p=&k;则表达式*p的值是( )。A.1B.0C.2D.3

题目
设有定义:intk=3,*p=&k;则表达式*p的值是( )。

A.1

B.0

C.2

D.3

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

第1题:

若有以下定义和语句: int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则值为3的表达式是______。

A.p+=2,*(p++)

B.p+=2,*++p

C.p+=3,*p++

D.p+=2,++*p


正确答案:A
解析:引用一个数组元素,可以用:(1)下标法,如a[i]形式:(2)指针法,如*(a+i)或*(p+i)。数组的下标从0开始,值为3的数组元素是a[2]。B、C的内容为a[3],D将a[2]前自加,结果为4。

第2题:

设有以下语句 ( ) struct st {int n;struct st * next;}; static struct st a [3]={5,&a [1],7,&a[2],9,'\0'},*p; p=&a[0] 则表达式( )的值是6。

A.p+ + ->n

B.p->n + +

C.(* P). n+ +

D.+ +p - >n


正确答案:D

第3题:

设有以下定义和语句,则*(*(p+2)+1)的值为【14】。

int a[3][2]={10, 20, 30, 40, 50, 60}, (*p)[2];

p=a;


正确答案:
60

第4题:

设有以下语句: struct st{int n;struct st*next;}; static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p; p=&a[0];则表达式的值是6的为______。

A.p++->n

B.p->n++

C.(*p).n++

D.++p->n


正确答案:D
解析:本题主要考查结构体变量的定义和应用,以及运算符的优先级。

第5题:

若有以下定义: int a[ ]={1,2,3,4,5,6,7,8,9,10},* p=a; 则值为3的表达式是 ( )

A.p+=2,* (pd+ +)

B.p+=2,* + +p

C.p+=3,* p+ +

D.p +=2,+ + * p


正确答案:A

第6题:

设有定义:intk=1,m=2;noat 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。

第7题:

设有如下语句:则下面表达式的值为102的是()

A.(p++)->num

B.(p++)->age

C.(*p).age

D.(*++p).num


参考答案:D

第8题:

设有定义:char a[10]="ABCD",*p=a;,则*(p+3)的值是( )。

A."ABCD"

B.'D'

C.'\0'

D.不确定


参考答案:B

第9题:

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

A.++k

B.k+=1

C.k++

D.k+1


正确答案:C
先使k的值自增l后再使用,k++是先取得k的值再将k的值自增l,所以c选项中表达式的值为0,而其他三个表达式的值均为1,所以选择c。

第10题:

若函数中有定义语句“intk;”.则( )。A.系统将自动给k赋初值0 B.这时k中的值无定义 SX

若函数中有定义语句“intk;”.则( )。

A.系统将自动给k赋初值0

B.这时k中的值无定义

C.系统将自动给k赋初值-1

D.这时k中无任何值


正确答案:B
B。【解析】根据题目,若以这种方式定义变量k时,编译程序仅为k开辟存储单元,并未在存储单元中存放任何初始值,所以变量中的值无意义,称变量值“无定义”。所以正确答案为选项B。

更多相关问题