计算机二级

若有定义“int k,*q;”,则下列各选项中,赋值表达式正确的是( )。A.q=(&k+1)B.q=&kC.q=kD.*q=&k

题目

若有定义“int k,*q;”,则下列各选项中,赋值表达式正确的是( )。

A.q=(&k+1)

B.q=&k

C.q=k

D.*q=&k

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

第1题:

若有以下定义,则赋值正确的是()。 int a, b, *p; float c, *q;

A.q=&c;

B.q=&a;

C.p=&c;

D.p=&a;

E.a=&b;


a=b=5;

第2题:

【单选题】若有定义:double *q,p;则能给输入项读入数据的正确程序段是()

A.q=&p;scanf("%lf",*q);

B.q=&p;scanf("%lf",q);

C.*q=&p;scanf("%lf",q);

D.*q=&p;scanf("%lf",*q);


a[5]

第3题:

3、下列哪一种表达式是错误的?

A.q=λΔt/δ

B.q=hΔt

C.q=kΔt

D.q=rtΔt


D

第4题:

设有下列定义:struct sk{ int m; float x; }data,*q;若要使q指向data中的m域,正确的赋值语句是( )。

A.q=&data.m;

B.q=data.m;

C.q=(struct sk*)&data.m;

D.q=(struct sk*)data.m;


正确答案:C
解析:利用强制类型转换(structsk*),把整数型地址&data.m转换成结构体变量指针赋给结构体指针变量q。

第5题:

若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&a,&b,&C.;给a赋值l、给b赋值2、给

若变量已正确定义为int型,要通过语句:scanf(”%d,%d,%d”,&;a,&;b,&C.;给a赋值l、给b赋值2、给C赋值3,以下输入形式中错误的是( )。(注:口代表一个空格符)


正确答案:D
scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符;以保证匹配。所以逗号必须输入。

第6题:

若有定义:int k,*q;,则下列各选项中赋值表达式正确的是

A.q=(&k+1)

B.q=&k

C.q=k

D.*q=&k


正确答案:B
解析:本题考核指针的赋值操作。A)选项中,&k表示变量k在内存中的地址,而后面的1是整型常量,所以此选项不正确。C)选项中,是把整型变量的值直接赋给指针变量q,由于赋值没有兼容性,所以这是错误的。D)选项中,企图把k在内存中的地址赋给一个整型变量(*q在此代表一整型变量),这也是不允许的,地址值不能直接转换为一个整数。

第7题:

若有定义:int k,*q;,则下列各选项中赋值表达式正确的是()。A.q=(&k+1)B.q=&kC.q=kD.*q=&a

若有定义:int k,*q;,则下列各选项中赋值表达式正确的是( )。

A.q=(&k+1)

B.q=&k

C.q=k

D.*q=&k


正确答案:B

第8题:

现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是

A.p=&a;

B.q=&b;

C.p=q;

D.p=a;


正确答案:D
解析:给一个指针变量赋值可以通过以下方法:①通过求地址运算(&)获得地址,②通过指针变量获得地址,③通过标准函数获得地址值。一个指针没有指向一个空间的时候,不能赋予一个固定的值,而且不加星号的指针指的是地址。

第9题:

现有如下定义:int a,b,*p,*q;,则下列赋值语句错误的是

A.p=&a;

B.q=&b;

C.p=q;

D.p=a;


正确答案:D