类型操作符PTR用于()。
第1题:
已知类A有公用数据成员a,且有A obj2;A*const ptr=new A;则下列语句正确的是
A.ptr->a=100;
B.ptr=&obj2;
C.ptr++;
D.ptr=obj2;
第2题:
要获得一数据或数据类型所占空间的字节数,应使用的操作符是【 】。
第3题:
A、数据对象、数据类型、操作数、操作符
B、数据对象、结构体、操作数、操作符
C、实体、数据类型、操作数、操作符
D、数据对象、配置、操作数、重载操作符
第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;
第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;
}
}
第6题:
A.*(--ptr)
B.*(ptr--)
C.*(ptr++)
D.*(++ptr)
第7题:
A.A记录
B.PTR记录
C.Netbios记录
D.SOA记录
第8题:
已知类A有公用数据成员a,且有A ohj2;A*const ptr-new A;则下列语句正确的是( )。
A)ptr->a=100;
B)ptr=&obj2;
C)ptr++;
D)ptr=obj2;
本题主要考察const的使用,const根据其位置的不同修饰不同的成份,从而表现出灵 活的特性,考生容易混淆。此处const修饰的是指针,即指针本身不能改变.故选项B、C和D都是 错误的。但是指针指向的地址里面的值确实可以改变的,因此选项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);
第10题:
下面函数的功能是______。 exchange(int*ptr1,*ptr2) { int*ptr; ptr=-ptr1; ptr1=ptr2; ptr2=ptr; }
A.交换*ptr1和*ptr2的值
B.无法改变*ptr1和*ptr2的值
C.可能造成系统故障,因为使用了空指针
D.交换*ptr1和*pb2的地址