c易错题

以下程序的输出是()。          3,2

struct HAR { int x,y;struct HAR *p;} h[2]; 
vold main() 
{ 
h[0].x=1;h[0].y=2; 
h[1].x=3;h[1].y=4; 
h[0].p=&h[1];h[1].p=h; 
printf("%d,%d \n",(h[0].p)->x,(h[1].p)->y);
} 

h是大小为2的结构体数组,对其两个元素

进行赋值后得内存映像如图1-1所示,其输出结果应为3,2。


下列有关this指针使用方法的叙述正确的是()

this指向实例化对象本身时候的一个指针,里面存储的是对象本身的地址,通过该地址可以访问内部的成员函数和成员变量。 为什么需要this?因为this作用域是在类的内部,自己声明一个类的时候,还不知道实例化对象的名字,所以用this来使用对象变量的自身


虚函数可不可以重载为内联?         不可以

虚函数不可以内联,因为虚函数是在运行期的时候确定具体调用的函数内联是在编译期的时候进行代码展开,两者冲突,所以没有一起使用的做法。


C++不能重载的总共五个:
(1) "."(类成员访问运算符) 
(2)" .*"(类成员指针访问运算符) 
(3) "::"(域运算符) 
(4)"siezof"(长度运算符) 
(5) " ?:"(条件运算符)

若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则不能表示a数组元素的表达式是

选B

A的值为1

B越界

C和A相同

D p-a地址相减为0访问数组第一个元素


给定如下代码: int x[4]={0}; int y[4]={1}; 数组x和y的值为()

如果初始化时指定的的元素个数比数组大小少, 剩下的元素都会被初始化为 0 


图的广度优先搜索算法需使用的辅助数据结构为()         队列

广度优先用队列深度优先用栈

广度优先:当一个节点被加入队列时,要标记为已遍历,遍历过程中,对于队列第一个元素,遍历其所有能够能一步达到的节点,如果是标记未遍历的,将其加入队列,从第一个元素出发所有能一步直接达到的节点遍历结束后将这个元素出列。

深度优先:当遍历到某个节点A时,如果是标记未遍历,将其入栈,遍历它能够一步直接达到的节点,如果是标记未遍历,将其入栈且标记为已遍历,然后对其进行类似A的操作,否则找能够一步直接达到的节点进行类似操作。直到所有能够一步直接达到的节点都已遍历,将A出栈。

这里使用“能够能一步达到的节点”而非“与其相邻的节点”是考虑到有向图因素。


下列关于数组与指针的区别描述正确的是?

B.sizeof(数组名)就是数组的容量

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值