Entrambi i linguaggi utilizzano il gcc come compilatore, le librerie standard sono le stesse, parlo di stdio.h e stdlib.h
La differenza tra i due linguaggi e' che il C++ è un linguaggio ad oggetti e fa uso di classi, per evitare rompicapi agli studenti si usa il comando usingnamespace std, per permettere di scrivere molti dei comandi come in C e per evitare di parlare sin dall'inizio di classi ed oggetti.
Avevo appena scritto: "I 2 linguaggi sono diversi, ma spesso si ritrovano "mescolati": in tanti pensano di scrivere codice C++, anche se in realtà non sfruttano le reali peculiarità del linguaggio e fanno ricorso a tecniche/caratteristiche tipiche del C."

Non sono quelle esposte le reali differenze tra C e C++, la differenza è nel livello di astrazione adottato, "using namespace std" non serve per "evitare rompicapi agli studenti" ma per gestire una delle tante caratteristiche introdotte dal C++, inoltre C++ è *anche* un linguaggio di programmazione ad oggetti, ma puoi scrivere codice C++ (non C) senza ricorrere all'OOP.

Lo standard C++ prevede gli header <cstdio> e <cstdlib>.

Un compilatore modesto può essere WxDev C++
wxDev-C++ non è un compilatore, ma un IDE (come Eclipse, d'altra parte).