微机原理

类型操作符PTR用于()。A、定义内存变量的类型B、重新指定内存变量的类型C、定义寄存器变量的类型D、重新指定寄存器变量的类型

题目

类型操作符PTR用于()。

  • A、定义内存变量的类型
  • B、重新指定内存变量的类型
  • C、定义寄存器变量的类型
  • D、重新指定寄存器变量的类型
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

已知类A有公用数据成员a,且有A obj2;A*const ptr=new A;则下列语句正确的是

A.ptr->a=100;

B.ptr=&obj2;

C.ptr++;

D.ptr=obj2;


正确答案:A
本题主要考察const的使用const根据其位置的不同修饰不同的成份从而表现出灵活的特性考生容易混淆。此处const修饰的是指针即指针本身不能改变故选项B、C和D都是错误的。但是指针指向的地址里面的值确实可以改变的因此选项A是正确答案。

第2题:

要获得一数据或数据类型所占空间的字节数,应使用的操作符是【 】。


正确答案:sizeof ()
sizeof () 解析:要获得字节数,必须用sizeof ()操作符。

第3题:

VHDL的语言要素包括以下几类()

A、数据对象、数据类型、操作数、操作符

B、数据对象、结构体、操作数、操作符

C、实体、数据类型、操作数、操作符

D、数据对象、配置、操作数、重载操作符


正确答案:A

第4题:

下列有关指针的用法中错误的是( )。

A.int i;int *ptr=&i;

B.inti;int *ptr;i=*ptr;

C.int *ptr;ptr=0;

D.int i=5;int *ptr;*ptr&i;


正确答案:B

第5题:

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

函数sort (NODE *head)的功能是;用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图4-1(a)的链表进行一趟冒泡排序后,得到图4-1(b)所示的链表。

链表的结点类型定义如下:

typedef struct Node {

int data;

struct Node *next;

} NODE;

【C语言函数】

void sort (NODE *head)

{ NODE *ptr,*preptr, *endptr;

int tempdata;

ptr = head -> next;

while ((1)) /*查找表尾结点*/

ptr = ptr -> next;

endptr = ptr; /*令endptr指向表尾结点*/

ptr =(2);

while(ptr != endptr) {

while((3)) {

if (ptr->data > ptr->next->data){

tempdata = ptr->data; /*交换相邻结点的数据*/

ptr->data = ptr->next->data;

ptr->next->data = tempdata;

}

preptr =(4); ptr = ptr -> next;

}

endptr =(5); ptr = head->next;

}

}


正确答案:(1)ptr -> next (2)head->next (3)ptr !=endptr或其等价形式 (4)ptr (5)preptr
(1)ptr -> next (2)head->next (3)ptr !=endptr,或其等价形式 (4)ptr (5)preptr 解析:本题考查链表运算能力。
从题目中的以下代码可知,ptr最后应指向表尾结点。
ptr = head -> next;
while((1))/*查找表尾结点*/
ptr = ptr -> next;
endptr = ptr; /*令endptr指向表尾结点*/
显然,空(1)处应填入“ptr->next”,这样循环结束时,ptr指向表尾结点。若填入“ptr”,则循环结束时,ptr为空指针。
进行冒泡排序时,从头至尾依次比较逻辑上相邻的两个结点的数据,如果小元素在前大元素在后,则交换。这样,经过一趟扫描,就将最大元素交换到了表的最后。下一趟可将次大元素交换到最大元素之前。显然,空(2)处应填入“head->next”。
由于程序设置的endptr用于指示出每趟扫描需到达的最后一个结点,ptr用于依次扫描链表中的结点,因此空(3)处的循环条件为“ptr != endptr”。
显然,指针preptr起的作用是指向ptr的前驱结点,因此,ptr每向后修改一次,相应地preptr就要修改一次,空(4)处应填入“ptr”。本趟循环结束后,下一趟扫描也就确定了,因此在空(5)处填入“preptr”。

第6题:

若有以下语句,则对x数组元素引用不正确的是( )。 int x[ ]={1, 2, 3, 4, 5,6}, *ptr;ptr=x;

A.*(--ptr)

B.*(ptr--)

C.*(ptr++)

D.*(++ptr)


参考答案A

第7题:

以下哪些为DNS的记录类型()

A.A记录

B.PTR记录

C.Netbios记录

D.SOA记录


参考答案:A, B, D

第8题:

已知类A有公用数据成员a,且有A ohj2;A*const ptr-new A;则下列语句正确的是( )。

A)ptr->a=100;

B)ptr=&obj2;

C)ptr++;

D)ptr=obj2;


正确答案:A

本题主要考察const的使用,const根据其位置的不同修饰不同的成份,从而表现出灵 活的特性,考生容易混淆。此处const修饰的是指针,即指针本身不能改变.故选项BCD都是 错误的。但是指针指向的地址里面的值确实可以改变的,因此选项A是正确答案。 

第9题:

已有定义“int k=2;int*ptr1, *ptr2;”,且ptr1和ptr2均已指向变量k,下面不能正确执行的语句是______。

A.k=*ptr1+*ptr2;

B.ptr2=k;

C.ptr1=ptr2;

D.K=*ptr1*(*ptr2);


正确答案:B

第10题:

下面函数的功能是______。 exchange(int*ptr1,*ptr2) { int*ptr; ptr=-ptr1; ptr1=ptr2; ptr2=ptr; }

A.交换*ptr1和*ptr2的值

B.无法改变*ptr1和*ptr2的值

C.可能造成系统故障,因为使用了空指针

D.交换*ptr1和*pb2的地址


正确答案:B
解析:函数中将指针变量ptr1和ptr2中的值交换,而不是交换指针ptr1和ptr2所指变量中的值。

更多相关问题