Use rename command which is a quick and powerful tool written in C, featuring extended regular expression support for searching and substituting pattern strings in filenames. Rename can rename, convert to lowercase/uppercase, and change the ownership of a large number of files.
Rename all *.c file as *.cpp:
Rename command is included with all Linux distro, under UNIX / FreeBSD, use ports:
See man page:
make install clean
Howto Linux rename multiple files at a shell prompt