Vous êtes sur la page 1sur 48

SENTENCIAS EN C

SENTENCIAS EN C
• En C, cualquier expresión finalizada en un punto y coma ; forma una
sentencia.
• De todos los tipos, las estructuras (o sentencias ) de control son las que
controlan la ejecución de las instrucciones de un programa.
• La programación estructurada se basa en la utilización de un reducido
número de estructuras que permiten hacer que un programa sea
suficientemente legible, reduciendo considerablemente el número de
errores, y facilitando enormemente la detección y solución de estos.
• La característica fundamental de la programación estructurada consiste en
que todas las estructuras tienen un único punto de entrada y un único
punto de salida.
SENTENCIA IF

• La sentencia if nos permite elegir si se ejecuta o no un bloque de


instrucciones. La "expresión" if debe ser evaluada: falsa si es cero y
verdadera si vale distinto de cero.
SENTENCIA ELSE
• Una sentencia if cuando incluye un else, permite ejecutar un bloque de
código si se cumple la condición y otro bloque diferente de código si la
condición no se cumple.
SENTENCIA SWITCH

Permite seleccionar entre múltiples alternativas posibles.


La expresión del switch es una variable int o char, que
puede tomar los valores, entre otros, dados por
"opción 1", "opcion 2", etc.
SENTENCIAS DE CONTROL: ITERACIÓN

• Las instrucciones de iteración también llamados bucles, se ejecutan hasta


que se cumpla alguna condición predeterminada en el bucle en el caso
del “for” o también en los casos del “while” y “do-while”.
BUCLES FOR
• El bucle for es muy flexible y a la vez muy potente ya que tiene varias formas
de implementarlo, su forma más tradicional es la siguiente:
• Inicialización: en esta parte se inicia la variable que controla el bucle y es la
primera sentencia que ejecuta. Sólo se ejecuta una vez ya que solo se
necesita al principio.
• Expresión condicional: esta expresión determina si el bucle continuará
ejecutándose o no.
• Incremento: es una sentencia que se ejecuta al final de cada iteración del
bucle. Por lo general, se utiliza para incrementar la variable con que se
inicio el ciclo. Luego de ejecutar el incremento, el bucle revisa nuevamente
la condición, si es verdadera tiene lugar una ejecución y si es falsa se
termina el ciclo.
BUCLES FOR
BUCLES WHILE
• El bucle while sirve para ejecutar el código reiteradas veces. Primero se
evalúa la condición, si el resultado es verdadero, se ejecuta el bloque de
código. Luego se vuelve a evaluar la condición, y en caso de dar
verdadero se vuelve a ejecutar el bloque. El bucle se corta cuando la
condición da falso.
BUCLES DO-WHILE
• El bucle do...while es un bucle que, por lo menos, se ejecuta una vez. Do
significa literalmente "hacer", y while significa "mientras“.
SENTENCIA RETURN
• En lenguaje C, para escribir una instrucción de salto return (volver), se utiliza
la sintaxis: return <expresión>;
• La instrucción de salto return es utilizada en lenguaje C para indicar el valor
de retorno de una función. Por tanto, vamos a hacer uso de la instrucción
return cuando definamos subprogramas de tipo función.
SENTENCIA CONTINUE
• La instrucción de salto continue siempre se usa
para interrumpir (romper) la ejecución normal
de un bucle.
• Sin embargo, el control del programa no se
transfiere a la primera instrucción después del
bucle , es decir, el bucle no finaliza, sino que,
finaliza la iteración en curso, transfiriéndose el
control del programa a la condición de salida
del bucle, para decidir si se debe realizar una
nueva iteración o no.
FUNCIONES EN C
FUNCIONES

• Las funciones son los bloques de construcción básicos de C. Dentro de ellas


se da toda la actividad del programa.
• Los parámetros son variables locales a los que se les asigna un valor antes
de comenzar la ejecución del cuerpo de una función. Su ámbito de validez,
por tanto, es el propio cuerpo de la función.
FUNCIONES MAIN() Y VOID
• La función main() indica donde • Todas las funciones, excepto
empieza el programa, cuyo cuerpo aquellas de tipo void, devuelven un
principal es un conjunto de valor.. En otras palabras mientras
sentencias delimitadas por dos una función no se declare como
llaves, una inmediatamente void, puede ser usada como
después de la declaración main(). operador en cualquier expresión
Todos los programas C arrancan del válida de C.
mismo punto: la primer sentencia
dentro de dicha función, en este
caso printf ("......").
FUNCIONES PRINTF Y SCANF
• Por medio de la función Printf se • Por medio de la función Scanf se
puede escribir una cadena de puede leer una cadena de
caracteres cualquiera en las salidas caracteres cualquiera en la
estándares del sistema. Esta función entrada estándar del sistema. Esta
formatea distintos tipos de datos función formatea distintos tipos de
básicos manejados en lenguaje C. datos básicos manejados por
lenguaje C.
FUNCIONES GETCH, GETCHE Y GETCHAR()

Getch() Getche() getchar()

La función getch(): lee La función getche(): lee La función getchar(): lee


carácter a carácter pero no carácter a carácter y carácter a carácter, hace
muestra por pantalla el muestra por pantalla el un barrido, tras haber
carácter leído. carácter leído. detectado fin ( intro ).
SENTENCIAS EN C++
¿QUÉ ES UNA SENTENCIA?
• Una expresión es una secuencia de operadores; operandos; elementos de
puntuación y palabras clave, que especifican una computación. Tiene sentido
computacional en sí misma ya que es equivalente a una frase en el lenguaje
normal.
• Las sentencias especifican y controlan el flujo de ejecución del programa. Si no
existen sentencias específicas de selección o salto, el programa se ejecuta de
forma secuencial en el mismo orden en que se ha escrito el código fuente.
• Una sentencia es la unidad mas pequeña de un programa C. Las sentencias
controlan el flujo u orden de una ejecución
• Toda sentencia simple termina con punto y coma(;)
• Dos o mas sentencias pueden aparecer sobre una misma línea, separadas por
punto y coma
SENTENCIA COMPUESTA O
BLOQUE
• Una sentencia compuesta o bloque, es una colección de sentencias
incluidas entre llaves({}). Un bloque puede contener.
• {
• Fahrenheit = conversión (centígrados);
• cout<<form(“%10d C %10.2f F \n”, centígrados, farenheit);
• Centigrados+ = incremento;
• }
• Una sentencia compuesta puede ser utilizada en cualquier lugar donde
pueda ser utilizada donde puede ser utilizada una sentencia simple
SENTENCIA IF
• Toma una decisión referente a la acción a ejecutar en un programa, basándose en el resultado
(verdadero o falso) de una expresión.

• If(expresión)
• sentencia1;
• [else
• sentencia2];
• Expresión: debe ser una expresión numérica, relacional o lógica. El resultado que se
obtiene al evaluar la expresión es verdadero (no cero) o falso (cero)
• Sentencia 1Τ2: representan una sentencia simple o compuesta. Cada sentencia simple debe
estar separada de la anterior por un punto y coma
• Si el resultado de la sentencia es
verdadero, se ejecutará lo indicado
• system(“cls”); //limpiar la pantalla
• r = system(“dir *.c”);
• Si el resultado de la expresión es
falso, se ejecutará lo indicado por
la sentencia 2
ANUDAMIENTO DE SENTENCIAS IF
• Las sentencias if…else pueden estar anudadas. Esto quiere decir que como
la sentencia1 o sentencia 2, de acuerdo con el formato, puede escribirse
otra sentencia if

• Cuando en una línea de programa aparecen sentencias if…else anudadas,


la regla para diferenciar cada una de estas sentencias, es que cada else se
corresponde con el if mas próximo que no haya sido emparejado
SENTENCIA SWITCH
• Esta sentencia permite ejecutar una de varias acciones, en función del valor de una
expresión
• Switch (expr-test)
• {
• [declaraciones]
• Case cte.1:
• [sentencia1;]
• [case cte.2:]
• [sentencia2;]
• [case cte.3:]
• [sentencia3;]
• .
• .
• [default:]
• [sentenciaN;]
• }
• expr-test: es una expresión entera
• cte.i : Es una constante entera, una costante de un solo carácter o una expresión constante;
en tal caso, el valor resultante tiene que ser entero
• Sentencia: es una sentencia simple o compuesta
• Al principio del cuerpo de la sentencia switch, pueden aparecer las declaraciones. Las
inicializaciones, si las hay, son ignoradas
• La sentencia switch evalúa la expresión entre paréntesis y compara su valor con las
constantes de cada case. La ejecución de las sentencias del cuerpo de de la sentencia
switch, comienza en el case cuya constante coincida con el valor de la expr-test y continúa
hasta el final del cuerpo o hasta una sentencia que transfiera el control fuera del cuerpo.
• Si no existe un valor igual al valor de la expr-test, entonces se ejecutaran las sentencias a
continuación de default, si esta cláusula ha sido especificada. La clausula default puede
colocarse en cualquier parte del cuerpo y no necesariamente al final
SENTENCIA BREAK
• Esta sentencia finaliza la ejecución de una sentencia, do, for, switch o while,
la cual aparece:
• break;
• Cuando esta sentencia esta anudada, la sentencia break solamente finaliza
la ejecución de la sentencia donde esta incluida
SENTENCIA WHILE
• Ejecuta una sentencia, simple o compuesta, cero o mas veces,
dependiendo del valor de una expresión.
• While(expresion)
• Sentencia;

• Expresión: es cualquier expresión numérica, relacional o lógica.


• sentencia: es una sentencia simple o compuesta.
Char car;
Car=‘\0’;
cout<<“\ndesea continuar s/n(si o no)”;
while((car = getche())!=‘s’&&car!=‘n’)
cout<<“\ndesea continuar s/n (si o no)”;
SENTENCIA DO
• Ejecuta una sentencia, simple o compuesta, una o mas veces,
dependiendo del valor de un expresión.
• Do
• Sentencia;
• While(expresión);

• Expresión: es cualquier expresión numérica, relacional o lógica


• Sentencia: es una sentencia simple o compuesta
SENTENCIA FOR
• Cuando se desea ejecutar una sentencia simple o compuesta, repetidamente un
numero de veces conocido, la construcción adecuada es la sentencia for.

• For([vi=ei, [v2=e]…];[condición];[progresión-cond])
• Sentencia;
• vi=e1: vi representa una variable que será inicializada con el valor de
la expresión ei
• condición: es una expresión de Boole(operados unidos por
operadores relacionales)
• Progresion-cond: es una expresión cuyo valor evoluciona en el
sentido que se dé la condición para finalizar la ejecución de la
sentencia for
• Sentencia: es una sentencia simple o compuesta
SENTENCIA RETURN
• Esta sentencia puede ser o no la ultima, y puede aparecer más de una vez
en el cuerpo de función. En el caso que la función no retorne un valor, se
omite
• Para especificar que una función no retorna el valor, se utiliza void

• Void función__x(int a, float b)


FUNCIONES EN C++
¿QUÉ ES UNA FUNCIÓN?
• Es una colección de sentencias que se ejecutan una tarea especifica.
• Una función no puede contener otra función
• La definición de función consta de la cabecera de función y del cuerpo de
la función encerrado entre llaves.
• Tipo-resultado nombre-función([parámetros formales])
• {
• Declaraciones de variables locales;
• Sentencias;
• [return(expresión)];
• }
• Las variables locales declaradas dentro del cuerpo de la función, por
definición solamente pueden utilizarse dentro del mismo

• Tipo del resultado: especifica que tipo de datos retorna la función. Este
puede ser cualquier tipo no fundamental, o tipo definido por el usuario,
pero no puede ser un array o una función. Este valor es devuelto a la
sentencia de llamada por la sentencia return.
LLAMADA A UNA FUNCIÓN
• Para ejecutar una llamada a función, hay que llamarla. La llamada a una
función consta del nombre de la misma y de una lista de argumentos o
valores a pasar denominados parámetros actuales, separados por comas y
encerrados en paréntesis
FUNCIÓN MAIN
• Todo programa C++ tiene una función main( ) que es el punto inicial de entrada al programa

• main( )
• {

• … bloque de estatutos
• }

• Los estatutos incluidos entre las llaves {…} se denominan bloque.


• Un programa debe tener sólo una función main( ). Si se intenta hacer dos funciones main ( ) se
produce un error.
• Además de la función main( ), un programa en C++, consta de una colección de funciones.
FUNCION PRINTF(COUT)
• La función printf escribe con formato una serie de caracteres, o un valor, en el fichero de salida
estandar stdout. Devuelve el numero de caracteres escritos
• #include<stdio.h>
• Int printf(const char * formato[, argumento]…);
• Formato: especifica como a ser la salida. Esta formado por caracteres ordinarios, secuencias de
escape y especificaciones de formato. El formato se lee de izquierda a derecha. Cada
argumento debe tener su correspondiente especificación y en el mismo orden. Si hay mas
argumentos que especificaciones los argumentos en exceso se ignoran
• Argumento: Representa los valores a escribir
• Una especificación de formato esta compuesta por:
• %[flags][ancho][.precisión][{h/I/L}]tipo
• Una especificación de formato siempre comienza con “%”
• Flag: Justifica el resultado a la izquierda, dentro del ancho especificado. Por defeco la justificación
se hace a la derecha.
FUNCION SCANF(CIN)
• La función scanf lee datos de la entrada estándar stdin, los interpreta de
acuerdo con el formato indicado y los almacene los argumentos
especificados. Cada argumento debe tener un puntero a una variable
cuyo tipo debe corresponderse con el tipo especificado en el formato
• #include<stdio.h>
• Int scanf(const char *formato[, argumento]…);
• Formato: interpreta cada dato de entrada. Esta formado por caracteres en
blanco(‘,\t,\n), caracteres ordinarios y especificaciones de formato. El
formato se lee de izquierda a derecha.
• Argumento: es un puntero a la variable que se quiere leer
FUNCIONES GETCH Y GETCHE
• La función getch lee un carácter del teclado, sin visualizarlo; la función
getche lee un caracter del teclado visualizarlo
• #include<conio.h>
• Int getch(void);
• Int getche(void);
• Estas funciones retornan el carácter leído
• Ambas funciones leen un carácter de la memoria intermedia del teclado.
Cuando se ejecuta un función de estas, la ejecución se detiene hasta que
pulse una tecla
• Printf(“pulse una tecla para continuar”);
• getche();
FUNCION SYSTEM
• Esta función pasa la cadena de caracteres al interprete de ordenes del
sistema operativo, para ejecutar la orden indicada
• #include<stdlib.h>
• Int system(const char * cadena-de-caracteres);
• La cadena de caracteres es nula, la función simplemente comprueba si el
interprete de ordenes COMMAND.COM esta presente. Si la cadena de
caracteres no es nula, la función retorna un valor 0 si la orden es ejecutada,
y -1 si ocurre un error.
DIFERENCIAS ENTRE
SENTENCIAS Y FUNCIONES
(C y C++)
• Entender la diferencia entre C y C++, a pesar de parecer
para muchos un tema sencillo, es una pregunta muy
común entre estudiantes y personas que apenas
comienzan a aprender del mundo de la programación. El
gran conflicto surge cuando no se les ha hecho notar la
diferencia entre C y C++
• 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 palabra void. 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 programa de 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 valor obligatoriamente 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 principio del 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 entre varias alternativas en base al valor de una o más expresiones lógicas. La notación de esta
sentencia es la siguiente:

::= 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 comienza 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 utiliza para 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 tipo
simple 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;]...

Vous aimerez peut-être aussi