考研复试常见问题(C/C++、Java)

C语言与C++的主要区别:

        C语言是面向过程编程的典范,C语言以过程为中心,用算法进行驱动。C++是继承C语言而来的,不仅包含面向过程编程,也包含了面向对象编程,支持类、封装、继承、多态等特性。

指针与变量的自增自减有何区别:

        指针的自增自减改变的是所指向的内存地址,而变量的自增自减改变的是变量的值

宏定义是什么:

        宏定义是C++的预处理指令之一,它主要完成一个替换操作,在程序中遇到该符号时,自动替换其值,不占内存和编译时间。

引用与值传递的区别:

        值传递只是在函数中复制了一个该变量的副本,对该副本进行修改并不影响原变量。引用传递的是将该变量的内存地址传入函数中,实参的值会随着形参值的变化而变化。

指针与引用的区别:

        指针可以为空,但引用不可以为空;指针可以随意改变指向的地址,但引用在初始化后不能再修改;程序需要对指针开辟内存空间,但不需要给引用开辟内存空间,所以指针的自增自减修改的是所指向的地址,但引用的自增自减修改的是对应变量的值。

类和结构体的区别:

        结构体存储在栈中,而类的实例可以在栈中,也可以在堆中;结构体可以由构造函数,但没有析构函数,类一定有构造函数,也可以有析构函数;类可以继承,结构体不可以继承。

解释与编译的区别:

        二者的主要区别在于何时生成CPU可直接运行的代码,这种说法并不严谨,但是便于理解。

        编译型语言,例如C/C++,在编译时就直接生成了CPU可直接运行的代码,这就意味着在ARM CPU上编译好的代码,在X86 CPU上不一定能执行,即可移植性差。

        而解释性语言,例如Python、Java,也有一个编译的过程,但此次编译生成的不是CPU能直接运行的代码,而是一种中间代码,需要一个虚拟平台(例如JVM)来运行这种中间代码,这种中间代码在运行的过程中才会被翻译成CPU能直接运行的代码。

        用一个网上看过的例子来说明就是,编译相当于做好了一桌子菜直接吃,而解释相当于吃火锅,需要一边涮一边吃。

Java与C++的区别:

        Java是由c++发展而来的,取其精华去其糟粕,Java更加简洁工整,但效率也随之下降。

        Java没有指针的概念,因为从C/C++在操作指针时经常会出错,例如指针空指了程序就容易崩溃。Java中没有指针也就防止了一系列的操作错误,更有利于Java的安全。

        Java不支持多重继承,多重继承即一个子类允许继承多个父类,虽然多重继承功能很强大,但使用复杂,有可能会引起很多麻烦。

        Java是完全面向对象的语言,所有数据和方法都必须在类中。除了基本数据类型,其余类型的数据都是对象型数据。

        Java自动进行内存回收操作,不再需要我们手动删除。c++和Java中的对象都是new出来的,但c++需要手动删除,Java只需要在使用完后添加删除标签即可。

        综上所述,Java以他的安全工整、耦合性低,更适合大型企业级的应用开发,而C++以其强大的运行效率,更适合于底层应用开发。

  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
考研复试中,数据库常见问题主要涉及数据库基础知识、SQL语言、数据库设计与优化等方面。以下是一些常见的考研复试数据库问题及其回答: 1. 什么是数据库? 数据库是指按照数据模型组织、存储和管理数据的集合。它可以用来存储和管理大量结构化数据,并提供高效的数据访问和处理能力。 2. 什么是SQL语言? SQL(Structured Query Language)是一种用于管理关系型数据库的标准化语言。它可以用于创建、修改和查询数据库中的表和数据,实现对数据库的操作和管理。 3. 什么是关系型数据库和非关系型数据库? 关系型数据库是指采用了关系模型来组织数据的数据库,如MySQL、Oracle等。非关系型数据库则是指不采用关系模型的数据库,如MongoDB、Redis等。 4. 什么是数据库事务? 数据库事务是指由一个或多个操作组成的逻辑工作单元,这些操作要么全部成功执行,要么全部失败回滚。事务具有ACID特性,即原子性、一致性、隔离性和持久性。 5. 什么是索引?有哪些常见的索引类型? 索引是一种数据结构,用于加快数据库中数据的检索速度。常见的索引类型包括主键索引、唯一索引、聚集索引和非聚集索引等。 6. 数据库设计的三范式是什么? 数据库设计的三范式是指第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。它们分别要求数据表中的数据项具有原子性、非主属性依赖于候选键、非传递依赖等特性。 7. 如何进行数据库性能优化? 数据库性能优化可以从多个方面入手,包括合理设计数据库结构、选择合适的索引、优化SQL查询语句、调整数据库参数配置等。 8. 什么是数据库备份和恢复? 数据库备份是指将数据库的数据和结构复制到其他存储介质中,以防止数据丢失。数据库恢复则是指在数据库发生故障或数据丢失时,通过备份文件将数据库恢复到正常状态。 9. 什么是数据库连接池? 数据库连接池是一种管理数据库连接的技术,它通过预先创建一定数量的数据库连接并维护这些连接的状态,以提高数据库访问的效率和性能。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值