Tema 3. Estructuras de control en C++

Tema 3 Estructuras de control en C++ 1 E.T.S.I. Telecomunicaci´ on Laboratorio de Programaci´ on 2 2 ´Indice general 3.1. Bloques de sentencia

0 downloads 138 Views 95KB Size

Story Transcript

Tema 3 Estructuras de control en C++

1

E.T.S.I. Telecomunicaci´ on

Laboratorio de Programaci´ on 2

2

´Indice general 3.1.

Bloques de sentencias

En C++ el concepto de bloque de sentencias se utilizar para agrupar un conjunto de sentencias dentro de un ´ambito concreto del programa. Un bloque de sentencias es un conjunto de instrucciones englobadas bajo llaves: ’{’ y ’}’. Hay diferentes lugares, en un programa escrito en C++, donde podemos usar bloques de c´odigo. Por ejemplo, en la sintaxis habitual de la funci´on main(), todas las instrucciones que pertenecen a esta funci´on principal se escriben dentro de una llave de apertura y una llave de cierre. Todo lo que hay entre esas dos llaves es el c´ odigo de la funci´on principal. De la misma manera, como se ver´a en el siguiente tema, cualquier otra funci´on tiene sus llaves para agrupar las instrucciones que forman parte de ella. Por otro lado, en C++ son posibles otros bloques de c´odigo que, como veremos en este tema, est´an asociados a estructuras de control y que engloban un conjunto de instrucciones que se ejecutan bajo las condiciones que controlan estas estructuras.

3.2.

Operadores relacionales y l´ ogicos

ANSI C++ define el tipo bool que tiene dos literales, false y true. Una expresi´on booleana o l´ogica es, por consiguiente, una secuencia de operandos y operadores que se combinan para producir uno de los valores false o true. ANSI C no tiene tipos de datos l´ogicos o booleanos para representar los valores verdadero o falso. En su lugar utiliza el tipo int para ese prop´osito, con el valor 0 representando false y cualquier otro valor representando verdadero. Operadores como == o

Mayor que

a > b

<

Menor que

a < b

>=

Mayor o igual

a >= b

5) && (letra == ’a’)

a >= 5 || b == 3 && c = 5. operadores relacionales de igualdad y desigualdad: == != 6. operador l´ogico de conjunci´on: && 4

Estructuras de control en C++

7. operador l´ogico de disyunci´on: || Adem´as de esta lista, tenemos que tener en cuenta los siguientes puntos: Si dos operadores se aplican al mismo operando, el operador con m´as prioridad se aplica primero. Todos los operadores del mismo grupo tienen igual prioridad y asociatividad (se expresan de izquierda a derecha). Los par´entesis tienen la m´axima prioridad.

3.4.

Estructuras de selecci´ on

C++ tiene dos estructuras de control para la selecci´on, if (selecci´on simple y binaria) y switch (selecci´on m´ ultiple).

3.4.1.

Estructura if

La sentencia if elige entre varias alternativas en base al valor de una o m´as expresiones booleanas. La notaci´on BNF de esta sentencia es la siguiente: ::=

if () {else if () } [else ]

donde es una expresi´on booleana y puede ser una sola sentencia o un bloque de sentencias. ::=

[’{’{}’}’|]

Las formas m´as sencillas de esta sentencia, son : if ()

if ()



else

if ()

if () 5

E.T.S.I. Telecomunicaci´ on

{

Laboratorio de Programaci´ on 2

{



...

...





}

} else { ... }

N´otese que en el caso en el que s´olo siga una sentencia al if no es necesario incluir las llaves, pero s´ı lo es cuando lo siguen m´as de una sentencia. Los programas a menudo realizan una serie de tests de los que s´olo uno ser´a verdadero. Como ejemplo, consid´erese un programa para escribir en pantalla un mensaje diferente correspondiente a un n´ umero que representa una calificaci´on num´erica. En C++, utilizando sentencias if anidadas, quedar´ıa: if (Nota == 10) cout = 9) cout = 7) cout = 5) cout

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.