计算机二级

下面程序的执行结果是( )。 #include”iostream.h” void main() {int*p,r; p=new in; *p=20; r=sizeof(*p); cout<<r<<endl delete p;}A.程序错误B.内存为20地址的大小C.20D.4

题目

下面程序的执行结果是( )。 #include”iostream.h” void main() {int*p,r; p=new in; *p=20; r=sizeof(*p); cout<<r<<endl delete p;}

A.程序错误

B.内存为20地址的大小

C.20

D.4

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

第1题:

有以下程序 include struct NODE {int num;struct NODE*next;} main() {struct NODE

有以下程序

#include<stdlib.h>

struct NODE

{int num;struct NODE*next;}

main()

{struct NODE *P,*q,*r;

p=(struct NODE *)malloc(sizeof(struct NODE));

q=(struct NODE *)malloc(sizeof(struet NODE));

r=(struct NODE*)malloc(sizeof(struct NODE)):

p->num=10;q->num=20;r->num=30;

p->next=q;q->next=r;

printf("%d\n",p->num+q->next->num):

}

程序运行后的输出结果是( )

A.10

B.20

C.30

D.40


正确答案:D

第2题:

下面程序的执行结果是 #include"iostream.h" void main() { int * p,r; p=new int; *p=20; r=sizeof(*p); cout<<r<<endl; delete p; }

A.程序错误

B.内存为20地址的大小

C.20

D.4


正确答案:D
解析:理解sizeof的用法,它可以运算出各种数据类型所占内存空间的多少。注意:选项C)中是指针p所指向的内存地址中内容是20。注意:在用完申请后的内存应立刻释放。

第3题:

有以下程序: include struct NODE {int num;stmct NODE *next;}; main( ) { str

有以下程序:

#include<stdlib.h>

struct NODE

{ int num;stmct NODE *next;};

main( )

{ struct NODE * p, * q,* r;

p=(struct NODE * )malloc(sizeof(struct NODE) );

q=(struct NODE * )malloc(sizeof(struct NODE) );

r=(struct NODE * )malloc(sizeof(struct NODE) );

p->num=10; q->num=20; r->num=30;

p->next=q; q->next=r;

printf("%d\n",p->num+q->next->num);

}

程序运行后的输出结果是

A.10

B.20

C.30

D.40


正确答案:D
解析:本题主要考查利用结构体变量构成链表,链表关系如下:

第4题:

下面程序的执行结果是( )。 #include"iostream.h" voidmain() {int*P,r; P=newint: *P=20: r=sizeof(*p); cout<<r<<endl; deleteP;}

A.程序错误

B.内存为20地址的大小

C.20

D.4


正确答案:D
D。【解析】本题考查指针和运算符sizeof的运用。sizeof可以运算出各种数据类型所占内存空间的多少。选项C中,指针P所指向的内存地址中内容是20。在用完申请后的内存应立刻释放。

第5题:

有以下程序 include struct NODE { int num;struct NODE*next;}; main() { struct NO

有以下程序

#include<stdlib.h>

struct NODE

{ int num;struct NODE*next;};

main()

{ struct NODE*p,*q,*r;

p=(struct NODE*)malloc(sizeof(struct NODE));

q=(struct NODE*)malloc(sizeof(struct NODE));

r=(struct NODE*)malloc(sizeof(struct NODE));

p->num=10;q->num=20;r->num=30;

p->next=q;q->next=r;

printf("%d\n",p->num+q->next->num);}

程序运行后的输出结果是

A.10

B.20

C.30

D.40


正确答案:D
解析:该题中考查的是简单的单链表,下图就是赋完值后的示意图:容易看到p->num=10,而q->next就是r,所以q->next->num=30,故答案为40。

第6题:

有以下程序: include struct NODE { int num; struct NODE*next; }; main() { struct

有以下程序:

#include <stdlib.h>

struct NODE

{ int num; struct NODE *next; };

main()

{ struct NODE *p,*q,*r;

p=(struct NODE*)malloc(sizeof(struct NODE));

q=(struct NODE*)mallloc(sizeof(struct NODE));

r=(struct NODE*)malloc(sizeof(struct NODE));

p->num=10;q->num=20; r->num=30;

p->next=q;q->next=r;

printf("%d\n",p->num+q->next->num);

}

程序运行后的输出结果是( )。

A.10

B.20

C.30

D.40


正确答案:D
解析:本题在主函数中首先定义了3个结构体指针变量p,q,r。然后调用内存分配函数分别为其分配地址空间,程序中变量p->num的值为10,指针变量q->next指向指针变量r,r->num的值为30,所以变量q->next->num的值为30,因此,表达式p->num+q->next->num的值为10+30=40。所以4个选项中D正确。

第7题:

以下定义数组中错误的是

下面程序的执行结果是 #include"iostream.h" void main() {int*p,r; p=new int; *p=20; r=sizeof(*p); cout<<r<<endl; delete p; }

A.程序错误

B.内存为20地址的大小

C.20

D.4


正确答案:D

第8题:

下面程序的执行结果是 #include"iostream.h" void main( ) { int *p,r; p=new int; *p = 20; r=sizeof(*p); cout<<r<<endl; delete p; }

A.程序错误

B.内存为20地址的大小

C.20

D.4


正确答案:D
解析:理解sizeof的用法,它可以运算出各种数据类型所占内存空间的多少。注意:选项C中是指针p所指向的内存地址中内容是20。注意:在用完申请后的内存应立刻释放。

第9题:

有以下程序 include struct NODE {int num;stmct NODE*next;}; main() { struct NODE

有以下程序

#include<stdlib.h>

struct NODE

{ int num;stmct NODE*next;};

main()

{ struct NODE*p,*q,*r;

p=(struct NODE*)malloc(sizeof(struct NODE));

q=(struct NODE*)malloc(sizeof(struct NODE));

r=(struct NODE*)malloc(sizeof(struct NODE));

p->num=10;q->num=20;r->num=30;

p->next=q;q->next=r;

printf(“%d\n”,p->num+q->next->num);

}

程序运行后的输出结果是

A.10

B.20

C.30

D.40


正确答案:D
解析:主函数中首先定义了三个结构体指针变量p,q,r。然后调用内存分配函数分别为其分配地址空间,程序中变量q->num的值为20,指针变量q->next指向指针变量r,r->num的值为30,所以变量q->next->num的值为30,因此,表达式q-> num+q->next->num的值为20+30=50。