201702部分面试题凯立德

1. 定义char *str = "hello world",str占用的内存大小是 () ----------A
A . strlen(str) +1
B . strlen(str) -1
C . sizeof(str) +1
D .  sizeof(str) -1




4.switch 语句能改写成()        ---------------B
A.for
B. if
C .do
D . while




8.最佳二叉排序树在结构上的特点是()------------------B
A  除最下二层可以不满外,其余都是充满的 
B  除最下一层可以不满外,其余都是充满的
C  每个结点的左右子树的高度之差的绝对值不大于1
D  最下层的叶子必须在最左边


9. 与单向链表相比,双向链表的优点是()   -------------C
A 更节省空间
B 便于进行随机访问
C 更容易访问相邻节点
D 可以省略头和尾指针


=====================
12.
void fun1(char buf[100])
{
char str[] = "你好!";
char *ptr1 = str;
int num = 10;
void *ptr2 = malloc(100);
printf("%d %d %d %d %d,sizeof(buf),sizeof(str),sizeof(ptr1),sizeof(num),sizeof(ptr2)");

}
请写出正确结果__________________.//4,7,4,4,4  (GBK编码汉字占2个字节 后面还有个\0)
//UTF-16编码,通常汉字占两个字节  
//UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节
//在不同的编码里占的字节不一样?
13.
void fun2()
{
int a[5] = { 1, 2, 3, 4, 5 };
int *ptr = (int *)(&a + 1);
printf("%d %d \n", *(a + 1), *(ptr-1));//2,5
}
请写出正确结果__________________.
14.
void fun3()
{
int  a = 1, b;
for (b  = 1; b <= 10; b++)
{
if (a >=8)
{
break;
}
if (a%2 == 1)
{
a += 5;
continue;
}
a -= 3;
}
printf("%d\n",b);//4
}
请写出正确结果__________________.
15.
void fun4()
{
int a[][3] = { 1, 2, 3, 4, 5, 6 };
int(*ptr)[3] = a;
++ptr;
printf("%d %d \n", (*ptr)[1], (*ptr)[2]);//5,6
}
请写出正确结果__________________.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Teleger

你的支持是我前进的方向

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值