首页
学习
活动
专区
工具
TVP
发布

复试上机辅导基础篇

四、上机语言以及IDE的选择的

在大部分OJ上不规定编程的语言,具体情况肯定是要按照学校规定来选择语言。大多数情况下,都是要求使用C/C++、Java或者Python来实现编程。有些学校不规定语言的使用,在OJ平台支持的情况下,可以使用其他语言来实现。在刷题的过程中,可以看到有些OJ支持多种编译器,语言包括C/C++、Java、Python、PHP、AWK、Javascript等等,但大多数学校的机房里一般只会有支持C/C++的Dev、CodeBlocks,VC、VS等,支持Java的Eclipse等,其他的编译器很少见。所以,语言的选择尽量还是C/C++或者Java。

在前面指出,在机试过程中,尽量选择C/C++,不要使用Java,Java是一门面向对象的语言,封装了数据结构中常用的类,在编程过程中会比较方便,但在刷题过程中,Java表现的并不如意,Java的代码运行时间要比C/C++用的时间多,从而因为运行超时(在机试过程中,每一道题都会规定代码的运行时间和空间大小)导致在很多题目中无法通过。不过在复试上机题目的难度下,Java运行超时的概率还是不大的,毕竟复试上机的复杂程度是不算高的。但这里重要是讲解C/C++,个别题目会提供Java的解题方法。

对于C和C++而言,对于C,大家应该很熟悉了,差不多是进入大学后接触的第一门编程语言,也是必学的一门编程语言。而C++是C语⾔的继承,它既可以进⾏C语⾔的过程化程序设计,⼜可以进⾏以抽象数据类型为特点的基于对象的程序设计,还可以进⾏以继承和多态为特点的⾯向对象的程序设计。C++擅⻓⾯向对象程序设计的同时,还可以进⾏基于过程的程序设计,因⽽C++就适应的问题规模⽽论,⼤⼩由之。C++不仅拥有计算机⾼效运⾏的实⽤性特征,同时还致⼒于提⾼⼤规模程序的编程质量与程序设计语⾔的问题描述能力。

C++是一门可以兼容C的面向对象的语言(初学者可以这么理解)。在掌握C的情况下,可以很快的掌握C++,对于机试来说,C++最大的优势是它的STL,即标准模板库。STL是Standard Template Library(标准模板库)的简称,从根本上说,STL是⼀些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他⼀些组件的集合。STL的⽬的是标准化组件,这样就不⽤重新开发,可以使⽤现成的组件。STL现在是C++的⼀部分,因此不⽤安装额外的库⽂件。STL的一些内容我们会在以后慢慢深入的讲解,比如动态数组、集合、映射、队列、栈等等,毕竟灵活的使用STL可以大幅度降低编程所用的时间。

对于IDE来说,萝卜白菜各有所爱。但编译器的种类不同,版本不同,产生的结果也会不同。如果你是用的VS,某些C99标准的函数库是编译不通过的,如果是用的Xcode的话,因为它自身内置了更多丰富的函数,但这些函数在OJ上也是编译不通过的。如果是用的VC...额...就不吐槽了。所以选一个好的IDE,也是十分重要的一步。

在这里,我推荐的几个编程用的软件是Codeblocks和Dev C++,这两个软件能正常运行的代码,在PAT上基本是都能通过编译。在平时练习过程中,这两个软件都要练习一下,如果你熟悉使用Codeblocks,但机房里安装的是Dev C++,恰巧你又不会使,那可就哭去吧。不过到时候你默默的Win+R,再输入notepad,然后在里面敲代码也不失为一种好办法哈哈哈。(具体会打开什么自己实践一下hhhh)

未完待续... ...

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190218G12PGS00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券