The correct answer is: B. Oxides of non-metals are acidic.
Oxides of non-metals are acidic because they react with water to form acids. For example, carbon dioxide reacts with water to form carbonic acid:
$CO_2 + H_2O \to H_2CO_3$
Oxides of metals are basic because they react with water to form bases. For example, sodium oxide reacts with water to form sodium hydroxide:
$Na_2O + H_2O \to 2NaOH$
Option A is incorrect because oxides of non-metals are not basic. Option C is incorrect because oxides of metals are not acidic. Option D is incorrect because not all of the statements are correct.