And oxygen, which as an element has a high nuclear charge (i.e. it comes to the right of the Periodic Table as we face it), tends to accept electrons.........
Guidelines for assigning oxidation numbers are as follows......
#1.# #"The oxidation number of a free element is always 0."#
#2.# #"The oxidation number of a mono-atomic ion is equal"# #"to the charge of the ion."#
#3.# #"For a given bond, X-Y, the bond is split to give "X^+# #"and"# #Y^-#, #"where Y is more electronegative than X."#
#4.# #"The oxidation number of H is +1, but it is -1 in when"# #"combined with less electronegative elements."#
#5.# #"The oxidation number of O in its"# compounds #"is usually -2, but it is -1 in peroxides."#
#6.# #"The oxidation number of a Group 1 element"# #"in a compound is +1."#
#7.# #"The oxidation number of a Group 2 element in"# #"a compound is +2."#
#8.# #"The oxidation number of a Group 17 element in a binary compound"# #"is -1."#
#9.# #"The sum of the oxidation numbers of all of the atoms"# #"in a neutral compound is 0."#
#10.# #"The sum of the oxidation numbers in a polyatomic ion"# #"is equal to the charge of the ion."#
And so when elemental oxygen reacts with say carbon, we conceive that the 2 oxygen atoms accept 2 electrons, and that carbon atom donates two electrons...............
#stackrel(0)C(s)+stackrel(0)O_2(g)rarrstackrel(-II)O=stackrel(+IV)C=stackrel(-II)O(g)#
As always the sum of the oxidation numbers of the elements in a compound or ion, is equal to the charge of the compound or ion, and here the #CO_2# product is neutral.