计算机二级

设有以下语句: 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++->nB.p->n++C.(*p).n++D.++p->n

题目

设有以下语句: 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

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

第1题:

若有以下定义和语句 struct a{ int n,m;}; struct a st[3]={{2,3},{4,5},{6,7}}; struct a*p=st;则以下错误的引用是A.(p++)->n; B.st[0].n; C.(*p).n; D.P=&st.m,


正确答案:D
题目中给出了一个结构体,结构体类型名为 struct  a。该结构体成员列表包括两个整型变量。随后定义了一个结构体数组st[3],该数组的大小为3,同时定义了一个结构体指针p,指向数组st。
选项A为(p++)->n,是指先将p的指针执行++操作,指向st[1],然后得到该结构体变量中的值n。
选项B为st[0].n,这个是标准的结构体数组变量引用,得到结构体数组变量st[0]中的值n。
选项C为(*p).n,该表达式与p->n是等价的,得到当前指针所指结构体变量中的值n。
选项D为p=&st.m,该选项是错误的。若p是一个定义过的指向结构体变量的指针,则用它指向结构体变量的某一个成员,编译时将指出地址的类型不匹配。

第2题:

若有以下定义和语句 struct a { int n,m;}; struct a st[3]={{1,20},{2,19},{3,21}}; struct a*p=st; 则以下错误的引用是

A.(p++)->n;

B.st[0].n;

C.(*p).n;

D.p=&st.m;


正确答案:D
解析:可以用以下三种形式来引用结构体变量中的成员:结构体变量名.成员名、指针变量名->成员名和(*指针变量名).成员名。选项D)中“&st.m”取的是结构体中成员的地址而不是结构的地址。

第3题:

设有如下定义和声明:struct3{inta;structs*next};structsx[4]={1,&x[1],3,& x[2],5,&

设有如下定义和声明: struct 3 {int a; struct s *next }; struct s x[4]={1,&x[1],3,& x[2],5,&x[3],7,'\0'),*t; t=&x[0]; 则下列表达式值为2的是( )

A.++t->a

B.(*t).a++

C.t->a++

D.t++->a


正确答案:A

第4题:

08110052:以下定义结构体类型的变量st1,其中不正确的是()。

A.typedef struct student{ int num; int age; }STD; STD st1;

B.struct student{ int num ,age; }st1;

C.struct{ int num; float age; }st1;

D.struct student{ int num; int age; }; student st1;


C

第5题:

2、关于struct描述正确的是

A.struct不可以实现interface

B.struct可以包括无参数的默认构造函数

C.struct可以继承class

D.struct可以包括静态构造函数


struct可以包括静态构造函数

第6题:

设有下列说明语句:

strcut str

{int x;float y;char z;}st;

则下列的叙述中不正确的是( )。

A.struct是结构体类型的关键字

B.st是结构体类型名

C.x、y、z都是结构体成员名

D.struct str是结构体类型名


正确答案:B
解析:本题主要考查结构类型的定义:struct是结构体类型的关键字;stmct str是结构体类型名;x、y、z都是结构体成员名;st是结构变量名。

第7题:

设有下列说明语句: Strcut Str {int x;float y;char z;}st; 则下列的叙述中不正确的是( )。

A.struct是结构体类型的关键字

B.st是结构体类型名

C.x、y、z都是结构体成员名

D.struct str是结构体类型名


正确答案:B
解析:本题主要考查结构类型的定义:struct是结构体类型的关键字;structstr是结构体类型名;x、y、z都是结构体成员名;st是结构变量名。

第8题:

设有下列说明语句: strcut str {int x; float y; char z;}st; 则下列的叙述中不正确的是( )。

A.struct是结构体类型的关键字

B.st是结构体类型名

C.x、y、x都是结构体成员名

D.struct str是结构体类型名


正确答案:B
解析:本题主要考查结构类型的定义:struct是结构体类型的关键字:structstr是结构体类型名;x、y、z都是结构体成员名:st是结构变量名。

第9题:

以下说法,正确的是:

A.C++支持struct,也支持class,并支持 struct 中拥有函数#B.C++支持struct,也支持class,虽然 class 中可以拥有成员函数,单并不支持 struct 中拥有函数#C.C++中,struct 的成员可以是普通数据、数组、指针等,并且不能使用 public 或 private 进行限定,并且全部为公有(提示:自行测试或许会得到答案)#D.数组、指针等
错误

第10题:

下列序列检测器实现检测序列为“11101000”, 其verilog程序描述正确的是()。

A.说明部分程序 module sequ_detect(//检测序列11101000 input clk, input reset_n, input data_in, output check_flag ); localparam s0 = 0, s1= 1, s2 = 2, s3 = 3, s4 = 4, s5 = 5, s6 = 6, s7 = 7, s8 = 8; reg [3:0] c_st,next_st;#B.主控时序过程程序 always @(posedge clk,negedge reset_n) if(!reset_n) c_st <= 0; else c_st <= next_st;#C.主控组合过程程序 always @* case(c_st) s0 : if(data_in==1) next_st = s1; else next_st = s0; s1 : if(data_in==1) next_st = s2; el
正确