最近有同学想了解408考研复试内容,408考察很多方面,上海高顿考研网先给大家整理程序设计方面的考试点,希望给考研的同学一些参考。
程序设计
1、C和C++还有java的区别?
C是⾯向过程的结构化编程语⾔,c++也⽀持⾯向过程编程,但更重要的是c++⽀持⾯向对象编程。C++具有封装,继承,多态特性
Java是纯⾯向对象的语⾔,也具有封装,继承,多态的特性,但是java不提供指针直接访问内存,更加安全。Java提供⾃动内存管理机
制,不需要⼿动释放⽆⽤内存。Java不⽀持多重继承,也不⽀持操作符重载。
2、java和python的区别?
两者都是解释性语⾔。但是,
Java是静态语⾔,定义变量时必须声明数据类型。
Python是动态语⾔,定义变量不⽤声明数据类型。
3、指针和引⽤的区别?
指针是⼀个存储地址的变量,引⽤是原变量的⼀个别名。
指针可以为空,引⽤不能空;
指针可以重新赋值,⽽引⽤只能初始化⼀次
指针可以重新赋值,⽽引⽤只能初始化⼀次
4、const的作⽤?
通常⽤来定义常量,被const修饰符修饰的变量不能被修改
5、static的作⽤?
定义局部静态变量:只初始化⼀次,在项⽬启动时就分配内存
定义全局静态变量/函数:只能在本⽂件中使⽤
定义类的静态成员变量/函数:不依赖于类对象的存在⽽存在
6、java创建⼀个线程类的⽅式?
继承Tread类,实现Runnable接⼝
7、线程的⼏种状态?
新⽣状态,可运⾏状态,阻塞状态,死亡状态
8、解释⼀下多态性?
指⼀段程序能够处理多种类型对象的能⼒
9、内联函数:将⼀些功能简单,规模较⼩⼜使⽤频繁的函数设计为内联函数,提⾼程序执⾏效率。(编译时将函数体嵌⼊在每⼀个调⽤
处)
10、构造函数:初始化对象,在对象被创建时⾃动被调⽤。它的函数名与类名相同,没有返回值。
11、析构函数:完成对象被删除前的⼀些清理⼯作,在对象⽣存期即将结束前时被⾃动调⽤
12、友元函数:在类中⽤friend修饰的⾮成员函数,它可以直接访问类的私有成员。实现了不同类之间的数据共享。友元关系是单向的,
不能传递也不能继承
13、函数重载:具有相同的函数名的多个函数,其形参类型和个数不同,编译器根据实参和形参进⾏最佳匹配,⾃动确定调⽤哪个函数,
从⽽实现相同函数名完成不同的功能。
14、虚函数:在基类中声明为virtual并在⼀个或多个派⽣类中被重新定义的成员函数。它的作⽤是实现多态性。
15、纯虚函数:⼀个在基类中声明的虚函数,没有函数体,只能由派⽣类实现。
16、重写和重载的区别?
重写发⽣在⼦类和⽗类间,是同名函数有相同的参数列表,但是函数体不同
重载是同名函数的参数列表不同
17、const和define的区别?
const修饰变量,系统会分配存储单元并存放在静态存储区,进⾏类型检查
define本质是宏替换,不会分配存储单元且不进⾏类型检查
18、⾯向对象编程和⾯向过程编程的区别?
⾯向过程是根据解决问题的步骤编写函数然后⼀个⼀个依次调⽤
⾯向对象是把构成问题事务分解成各个对象。对象是为了描述某个事务在整个解决问题的步骤中的⾏为。
19、抽象数据类型
是把数据对象,数据对象之间的关系,数据对象的基本操作封装在⼀起的⼀种表达⽅式
20、栈和队列的区别?
1.栈先进后出,队列先进先出
2.对插⼊和删除操作的限定不同。栈是限定只能在⼀段进⾏插⼊和删除的线性表,队列是限定在⼀段进⾏插⼊,在另⼀端进⾏删除的线性表
21、栈和堆的区别?
1.栈是只允许在⼀端进⾏插⼊和删除的线性表,⽽堆是⼀种特殊的完全⼆叉树
2.栈由操作系统⾃动分配和释放,⽆需⼿动控制;堆的申请和释放由程序员控制
22、c中的malloc,free和c++中的new,delete有什么区别?
new,delete是操作符,可以重载;
malloc,free是函数,可以覆盖;
new可以调动对象的构造函数,delete调⽤相应的析构函数;
malloc和free仅仅是分配内存和释放内存
23、类与结构体的区别?
结构体存储在栈中,类的实例化可以存储在栈中,也可以存储在堆中
结构体的执⾏效率要⽐类⾼
结构体不可以继承,类可以继承
24、函数模板是什么?
指使⽤了模板计数定义了参数化类型的⾮成员函数,使程序能使⽤不同的参数类型调⽤相同的函数
25、泛型?
是把类型明确的⼯作推迟到创建或调⽤⽅法的时候才去明确的特殊类型
考研(408)复试考什么?相信大家看了以上内容之后已经了解了程序设计方面考核的知识点,如果想了解更多考研(408)复试考点,请持续关注我们,后续会为大家更新更多内容。
考研已进入倒计时
高顿考研】带你开启你的备考之路
赶紧扫描下方二维码
领取模拟试卷
为你的考研助力吧!!