Diferencias entre c y c++

Solo disponible en BuenasTareas
  • Páginas : 2 (496 palabras )
  • Descarga(s) : 0
  • Publicado : 31 de octubre de 2011
Leer documento completo
Vista previa del texto
Diferencias entre C y C++
Aunque C++ es un superconjunto de C, existen algunas diferencias entre los dos. En primer lugar, en C cuando una función no toma parámetros, su prototipo tiene la palabravoid. Sin embargo en C++ void no es necesario(opcional).
Prototipo en C: char f1(void);
Prototipo en C++: char f1();
Otra diferencia entre C y C++ es que en un programade C++ todas las funciones deben estar en forma de prototipo, en C los prototipos se recomiendan, pero son opcionales. También si una función de C++ es declarada para devolver un valorobligatoriamente la sentencia return debe devolver un valor, en C no es necesario que se devuelva.
Otra diferencia es el lugar donde se declaran las variables locales. En C, deben ser declaradas solo al principiodel bloque, mientras que en C++ las variables se pueden declarar en cualquier punto. Aunque es conveniente realizarlo siempre al comienzo de la función.

Sentencia if
La sentencia if elige entrevarias alternativas en base al valor de una o más expresiones lógicas. La notación BNF de esta
sentencia es la siguiente(los símbolos terminales se han escrito en negrita):
::= if ()
(|)
{else if() (|)}
[else (|)]
donde es una expresión lógica que ha de ir entre paréntesis, y es una sentencia, y
es un bloque de sentencias que comeinza en '{' y termina en '}'. Por ejemplo:
if(condicion_SI)
{
// Sentencias SI
}
else if (condicion_SINO)
{
// Sentencias SINO
}
else
{
// Sentencias EN OTRO CASO
}

Sentencia switch
La sentencia switch es una sentencia de C++ que se utilizapara seleccionar una de entre múltiples alternativas. Esta sentencia
es especialmente útil cuando la selección se basa en el valor de una variable de un tipo simple o de una expresión de un tiposimple denominada expresión de control o selector. La notación BNF de la sentencia es la siguiente (los símbolos terminales se
han escrito en negrita):
::= switch ()
{
{ }
[default : {} ; break;]...
tracking img