首先最基本的語法肯定得會的:變數的宣告,賦值,初始化,迴圈結構(for/while/do-while),分支結構(if/switch-case),各種運算子的優先順序,陣列,多維陣列,函式的宣告,函式的遞迴,結構體(struct)的宣告,以及訪問裡面的成員。
然後是一些庫函式(stdio.h stdlib.h string.h主要是這三個吧),不要求知道內部怎麼實現(當然知道更好),但是要知道傳入什麼引數,得到的返回值是什麼含義,以及這個函式的複雜度。
如果只是對C語言的要求,到這就夠了。理論上下到C語言上機,上到World Finals,這些語法上的東西都是足夠用的。難的都是演算法上。
但是由於C語言的庫太簡單了,一般選手們都會用C++。
在上面C語言的基礎上,你要知道這些C++的演算法庫(algorithm)的一些常用演算法模板函式(min/max/sort/binary_search),字串庫(string)以及各種容器庫(vector, set, map, queue, stack, bitset)的各種操作...
其實如果你打算以後走java工程師這一條路,你完全可以不考慮C、C++,直接當java選手。演算法競賽界的java牛人也是不少的。而對於java所需要的程度,基本上和C差不多。在演算法競賽裡面就多了一個大數類(BigInteger和BigDecimal)
首先最基本的語法肯定得會的:變數的宣告,賦值,初始化,迴圈結構(for/while/do-while),分支結構(if/switch-case),各種運算子的優先順序,陣列,多維陣列,函式的宣告,函式的遞迴,結構體(struct)的宣告,以及訪問裡面的成員。
然後是一些庫函式(stdio.h stdlib.h string.h主要是這三個吧),不要求知道內部怎麼實現(當然知道更好),但是要知道傳入什麼引數,得到的返回值是什麼含義,以及這個函式的複雜度。
如果只是對C語言的要求,到這就夠了。理論上下到C語言上機,上到World Finals,這些語法上的東西都是足夠用的。難的都是演算法上。
但是由於C語言的庫太簡單了,一般選手們都會用C++。
在上面C語言的基礎上,你要知道這些C++的演算法庫(algorithm)的一些常用演算法模板函式(min/max/sort/binary_search),字串庫(string)以及各種容器庫(vector, set, map, queue, stack, bitset)的各種操作...
其實如果你打算以後走java工程師這一條路,你完全可以不考慮C、C++,直接當java選手。演算法競賽界的java牛人也是不少的。而對於java所需要的程度,基本上和C差不多。在演算法競賽裡面就多了一個大數類(BigInteger和BigDecimal)