给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
#include <stdio.h>
mian()
{
int a[]={2,4,6,8},*p=a,i;
for(i=0;i<4;i++)
a[i]=*p++;
printf("%d\n",a[2]);
}
程序的输出结果是()
A.2 B.8 C.4 D.6
3、关于浅复制和深复制的说法,下列说法正确的是()(多选题)
A.浅层复制:只复制指向对象的指针,而不复制引用对象本身
B.深层复制:复制引用对象本身
C.如果是浅复制,修改一个对象可能会影响另外一个对象
D.如果是深拷贝,修改一个对象不会影响到另外一个对象
4、以下代码最后一次打印结果是()
void fun(int iinputnum)
{
static int icount=1;
icount=icount+iinputnum;
printf("\n icount=%d"icount+iinputnum);
}
for(i=1;i<3;i++)
fun(i);
A.icount=3
B.icount=6
C.icount=4
D.icount=20
5、下列程序执行后的输出结果是()
void main()
{
char x=0xFFFF;
printf("%d\n",x--);
}
A.-32767
B.FFFE
C.-1
D.-32768
6、C++中构造函数和析构函数可以抛出异常吗?
A.都不行 B.都可以 C.只有构造函数可以 D.只有析构函数可以
7、两个线程并发执行以下代码,假设a是全局变量,那么以下输出()哪个是可能的(多选题哦)
int a=1;
void foo(){
++a;
printf("%d",a);
}
A.3 2 B.2 3 C.3 3 D.2 2
答案区:
(1)答案:B
(2)答案:D
解析:*p++ 先取指针p指向的值(数组第一个元素2),再将指针p自增1
(*p)++ 先去指针p指向的值(数组第一个元素2),再将该值自增1(数组第一个元素变为3)
*++p 先将指针p自增1(此时指向数组第二个元素), 操作再取出该值
++*p 先取指针p指向的值(数组第一个元素2),再将该值自增1(数组第一个元素变为3)
(3)答案:ABCD
(4)答案:B
这是考察static静态局部变量的用法。
静态局部变量的特点:
1.该变量在全局数据区分配内存;
2.静态局部变量在程序执行到该对象的声明处时被首次初始化,即以后的函数调用
不再进行初始化;
3.静态局部变量一般在声明处初始化,如果没有显式初始化,会被程序自动初始化为0。fun(1)时
icount初始化为1,之后不再初始化,执行第一条语句
icount=2;
打印出来是3;
fun(2)时
icount=2+2=4,打印的结果是4+2=6.
(5)答案:C
(6)答案:C
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!