5 Sentencias

Espero que hayas tenido la paciencia suficiente para llegar hasta aquí, y que no te hayas asustado demasiado. Ahora empezaremos a entrar en la parte interesante y estaremos en condiciones de añadir algún ejemplo.

El elemento que nos falta para empezar a escribir programas que funcionen son las sentencias.

Existen sentencias de varios tipos, que nos permitirán enfrentarnos a todas las situaciones posibles en programación. Estos tipos son:

  • Bloques
  • Expresiones
    • Llamada a función
    • Asignación
    • Nula
  • Bucles
    • while
    • do...while
    • for
  • Etiquetas
    • Etiquetas de identificación
    • case
    • default
  • Saltos
    • break
    • continue
    • goto
    • return
  • Selección
    • if...else
    • switch
  • Comentarios

Bloques

Una sentencia compuesta o un bloque es un conjunto de sentencias, que puede estar vacía, encerrada entre llaves "{}". Sintácticamente, un bloque se considera como una única sentencia.

También se usa en variables compuestas, como veremos en el capítulo de variables II, y en la definición de cuerpo de funciones. Los bloques pueden estar anidados hasta cualquier profundidad.

Expresiones

Una expresión seguida de un punto y coma (;), forma una sentencia de expresión. La forma en que el compilador ejecuta una sentencia de este tipo evaluando la expresión. Cualquier efecto derivado de esta evaluación se completará antes de ejecutar la siguiente sentencia.

<expresión>;

Llamadas a función

Esta es la manera de ejecutar las funciones que se definen en otras partes del programa o en el exterior de éste, ya sea una biblioteca estándar o particular. Consiste en el nombre de la función, una lista de argumentos entre paréntesis y un ";".

Por ejemplo, para ejecutar la función que declarábamos en el capítulo 3 usaríamos una sentencia como ésta:

Mayor(124, 1234);

Pero vamos a complicar un poco la situación para ilustrar la diferencia entre una sentencia de expresión y una expresión, reflexionemos sobre el siguiente ejemplo:

Mayor(124, Mayor(12, 1234));

Aquí se llama dos veces a la función "Mayor", la primera vez como una sentencia; la segunda como una expresión, que nos proporciona el segundo parámetro de la sentencia.

Pero en realidad, el compilador evalúa primero la expresión, de modo que se obtenga el segundo parámetro de la función, y después llama a la función. ¿Parece complicado?. Puede ser, pero también puede resultar interesante...

En el futuro diremos mucho más sobre este tipo de sentencias, pero por el momento es suficiente.

Asignación

Las sentencias de asignación responden al siguiente esquema:

<variable> <operador de asignación> <expresión>;

La expresión de la derecha es evaluada y el valor obtenido es asignado a la variable de la izquierda. El tipo de asignación dependerá del operador utilizado, estos operadores ya los vimos en el capítulo anterior.

La expresión puede ser, por supuesto, una llamada a función. De este modo podemos escribir un ejemplo con la función "Mayor" que tendrá más sentido que el anterior:

m = Mayor(124, 1234);

Nula

La sentencia nula consiste en un único ";". Sirve para usarla en los casos en los que el compilador espera que aparezca una sentencia, pero en realidad no pretendemos hacer nada. Veremos ejemplo de esto cuando lleguemos a los bucles.

Comentarios de los usuarios (8)

Andrés Cañón
2012-08-24 15:03:19

Excelente forma de explicar las cosas. Muchas gracias ;)

Adri
2014-12-20 21:41:47

En esta pagina existe un serio problema, y esque no queda suficientemente claro como hacer un comentario en cada curso, porque por ejemplo yo quiero comentar que ademas de los bucles que se mencionan, tambien existe goto, aunque sea poco utilizado. Tambien queria comentar en la seccion en la que se habla de las operaciones logicas AND OR y NOT que existe otra forma de realizar esas operaciones que consiste, en lugar de poner && || ! ^ se puede poner and or not xor tal cual lo he puesto.

Por favor, aclaren esta duda: Si quiero realizar un comentario en una determinada seccion, ¿como lo hago? y si para ello necesito registrarme como usuario,¿como me registro?

Gracias

Adri
2014-12-20 21:43:53

Perdon por el comentario tan inapropiado de antes, es que resulta confuso que pongan "Comentario" en una seccion aparte como si no tuviera nada que ver, cuando es justamente ahi donde hay que darle para hacer un comentario.

Lucas
2015-04-27 04:22:47

Me encanta esta pagina...

andres coronado medina
2015-11-19 21:36:44

Buenas tardes; hasta la presente lo que he venido estudiando me da entender, que fuera para estudiantes con una experiencia en C++.. Mas que todo al leer los comentarios.

Comentarios que por cierto parecen de estudiantes muy avanzados.

Sera posible que hubieran mas ejemplos de cada sección, es decir si estudiamos operadores que se vean ejemplos de operadores no una explicación tacita.Ejemplo;

int main()

int a,b,c,d;

cout<<"digite un numero<<endl;

ect.

Gracias por el tiempo que Ud. nos dedica a nosotroseso es hacer PATRIA y PAZ...

Mapaor
2017-06-24 20:03:03

Dos dudas:

-La función Mayor se dice Mayor porque es así como main o porque le puedes ponerel nombre que quieres?

-Porque en los parametros del ejemplo ponen 1234 y esos numeros?

Steven R. Davidson
2017-06-25 02:39:21

Hola Mapaor,

1) Es una función que hemos creado y puede tener cualquier nombre que queramos.

2) La función, 'Mayor()', acepta dos parámetros de tipo 'int'. Como su nombre indica, esta función retorna el mayor entero de los dos que pasamos por parámetro. Por ejemplo,

Mayor( 124, 1234 );

retornaría el entero: 1234. Introdujimos el tema de las funciones en el capítulo 3 ( http://c.conclase.net/curso/?cap=003#inicio ), en el que hablamos acerca de esta función.

En general, piensa que una función en C/C++ es muy parecida a una función en matemáticas, como por ejemplo,

f(x) = 3*x + 1

Sería su definición, para luego usarla pasando un número para el parámetro, 'x', como puede ser,

¿ f(4) ?

El proceso de averiguar su resultado sería sustituir 'x' por 4 en su definición general, dando lugar a: 3*4+1, cuyo resultado es 13. Al obtener el resultado, regresaríamos al "uso" de la función: f(4), que se puede sustituir por 13.

Espero que esto aclare las dudas.

Steven

Mapaor
2017-06-26 11:14:06

Muchas gracias por aclarar dudas. El mejor curso que he encontrado