2018年第24屆全國青少年信息學奧林匹克聯賽初賽已於10月13日落下帷幕。據統計 2018年信息學聯賽初賽參賽規模再創歷史新高,共有來自全國31個省市(含香港、澳門特別行政區)的共計約148880名選手同時參加競賽,其中提高組92418人、普及組55851人。2018年初賽參賽人數較2017年增長了26.06%。有8個省份的參賽人數在5000人以上,分別是:山東、四川、江蘇、安徽、浙江、福建、廣東、河北;其中山東參賽人數5.2萬人、四川約2萬人。信息學競賽現在已經受到越來越多的人的關注,怎麼走進信息學競賽的大門呢?
一、程式語言選擇
信息學聯賽主要考的是程序設計,選擇合適的參賽程式語言是首要選擇,信息學競賽的程式語言有三種:pascal語言、c語言、c++語言,pascal語言將於2022年停止在信息學競賽中使用,所以現在學習pascal語言意義不大,剩下的只有選擇c語言和c++語言,實際考試中絕大多數考生選擇c++語言,為什麼會出現這種情況呢?首先c++語言完全兼容c語言,其次,c++語言可以使用標準模板庫,可以極大的方便程序設計,如:競賽中經常用到的排序,如果用c語言必須考生自己編寫排序函數,但c++提供標準的排序算法,其時間複雜度為O(NlogN),這已相當高效了,而且,競賽中使用C++語言並不需要學習C++語言的全部,一些較難的內容並不學習,其實就是c語言加標準模板庫,所以現在絕大多數數考生選擇c++語言。
二、怎麼學習程式語言
既然競賽中的c++語言是以c語言為基礎的,所以首先要從學習c語言開始,通過學習c語言熟悉程序設計的結構,然後學習c++的簡單的基礎知識,再學習標準模板庫,掌握了這些內容,程式語言的學習就算入門了。
三、C語言書籍如何選
現在C語言程序設計的書籍很多,各有優缺點,有的書籍講的很細,面面俱到,很多內容不是競賽學習內容,使用這樣的書籍會耽誤大量寶貴時間,這樣的書籍適合做大學教材;有的書籍一開始講的就比較深入,適合有一定基礎的人學習;選擇書籍要詳略得當,才能更好的學好面向競賽的程序設計語言。
四、學習c語言哪些知識
只有知道競賽考試哪些內容才能很好的選擇程序設計書籍,競賽中需要掌握的c語言知識主要有:常量、變量、數據類型、程序結構、運算符和表達式、函數、數組、指針、結構體、文件操作等。
五、學習c++哪些內容
c++語言內容可以極大的提高程序編寫速度和效率,學習標準模板庫前,最後要掌握一些基礎知識,主要有:面向對象的概念、類、對象、繼承、運算符重載、類模板等。
這些都掌握了以後,就可以進行算法的系統學習,信息學競賽的學習基本上是三分學、七分練,不進行刻苦的上機練習是不可能取得好成績的。