有以下说明语句:struct point{int x;int y;}p;则正确的赋值语句是()

题目
单选题
有以下说明语句:struct point{int x;int y;}p;则正确的赋值语句是()
A

point.x=1;point.y=2;

B

point={1,2};

C

p.x=1;p.y=2;

D

p={1,2};

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

第1题:

下列语句段中,正确的是( )。

A.struct{int x;float y;int a[2];unsigned b[3];char name[10];};

B.struct stu{unsigned a[3];unsigned b[4];}x;int*p=&x.a;

C.struct stu{int a;float x[4];}y={1,1.0};float data=y.x;

D.struct nd{int a,b;unsigned c[2]=5;};


正确答案:A
解析: 本题主要考查的知识点是结构类型的概念和定义,结构定义的一般形式:
struct结构类型名称
{ 数据类型 成员名1;
数据类型 成员名2;

数据类型 成员名n;
};
struct为关键字,是结构的标识符;{}中包围的是组成该结构的成员项;每个成员的数据类型既可以是简单的数据类型,也可以是复杂的数据类型。整个定义作为一个完整的语句,用分号结束。结构类型名称是可以省略的,此时定义的结构称为无名结构。

第2题:

下面结构体的定义语句中,错误的是( )。 A.struct ord{int x;int Y;int Z;};struet ord a;SXB

下面结构体的定义语句中,错误的是( )。

A.struct ord{int x;int Y;int Z;};struet ord a;

B.struct ord{int x;int y;int Z;}struct ord a;

C.struct ord{int X;int Y;int Z;}a;

D.struct{int X;int y;int Z;}a;


正确答案:B
结构体定义的类型说明的一般形式为:struct结构体标识名{类型名1结构成员名表l;类型名2结构成员名表2;···};。注意:①结构体说明同样要以分号结尾;②紧跟在结构体类型说明之后进行定义;③在说明一个无名结构体类型的同时,直接进行定义;④先说明结构体类型,再单独进行变量定义等。所以B选项错误。

第3题:

下面结构体的定义语句中,错误的是

A)struct ord {int x;int y;int z;}; struct ord a;

B)struct ord {int x;int y;int z;} struct ord a;

C)struct ord {int x;int y;int z;} a;

D)struct {int x;int y;int z;} a;


正确答案:B

 

第4题:

设定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。

Struct st

{ int x;

inty;

int z;

}

Struct worker

{ char name[20];

char sex;

struct st birth;

}p;

A.x=1987

B.birth.x=1987;

C.p.birth.x=1987;

D.p.x=1987;


正确答案:C
解析:本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

第5题:

有如下程序:

#include<iostream>

#include<cmath>

using std::cout;

class Point{

public:

friend double distance(const Point &p); //P距原点的距离

Point(int xx=0,int yy=0):x(xx),Y(YY){}//①

private:

int x,y;

};

double distance(const Point &p){ //②

return sqrt(P.x*P.x+P.y*P.y);

}

int main(){

Point p1(3,4);

cout<<distance(p1);

return 0; //③

}

下列叙述中正确的是

A.程序编译正确

B.程序编译时语句①出错

C.程序编译时语句②出错

D.程序编译时语句③出错


正确答案:A

第6题:

下面结构体的定义语句中,错误的是( )。

A.struct ord{int x;int y;int z;};struct ord a;

B.struct ord{int x;int y;int z;};ord a;

C.struct ord{int x;int y;int z;}a;

D.struct{int x;int y;int z;}a;


正确答案:B

第7题:

设有以下定义

stuct ss

{ int info; struct ss *link;}x,y,z;

且已建立如下图所示链表结构:

请写出删除结点y的赋值语句【 】。


正确答案:x.link=y.link;
x.link=y.link;

第8题:

有如下类定义:

class Point

{

int x_, y_;

public:

Point():x_(0), y_(0){}

Point(int x, int y = 0):x_(x),y_(y){}

};

若执行语句

Point a(2), b[3] , *c[4];

则 Point 类的构造函数被调用的次数是

A . 2 次

B . 3 次

C . 4 次

D . 5 次


正确答案:C

第9题:

若定义下列结构体,结构体变量p的出生年份赋值正确的语句是( )。 struct st { int x; int y; int z; } struct worker { char name[20]; char sex; struct st birth; }p;

A.x=1987

B.birth.x=1987;

C.p.birth.x=1987;

D.p.x=1987;


正确答案:C
解析: 本题主要考查怎样为嵌套定义的结构中的成员赋值:由于worker中的birth是一个st型的结构,在给birth赋值时,不能将birth作为一个整体,要用“.”运算再深入一层访问到最基本的成员x、y、z。

第10题:

以下合法的赋值语句是______。A.X=Y=100B.D-;C.X+Y;D.C=int(A+B)

以下合法的赋值语句是______。

A.X=Y=100

B.D-;

C.X+Y;

D.C=int(A+B)


正确答案:B
解析:本题中的答案A与D都缺少“;”,而答案C中,表达式是不能独立成为语句的,答案B使用了C语言的自减运算符它就相当于D=D-1,所以答案B为一赋值语句。

更多相关问题