Apuntes Programación 1º Parcial
Apuntes Programación 1º Parcial
Tipos de datos en C
Tipo lógico
Datos booleanos
- VERDADERO valor distinto de cero
- FALSO si tiene un valor igual a 0
Constantes
Constantes enteras
Decimales, octales y hexadecimales
Constantes de carácter
‘\’’
‘\n’ nueva línea
‘\t’ tabulador horizontal
‘\r’ carácter retorno de carro
Cadenas de caracteres
“Cadena de Caracteres”
“Fundamentos de la Programación \\ \n”
Variables
unsigned int mes;
La Especificación s t a t i c
Evitar creación y destrucción variables cada vez que se entra o se sale de un bloque
Variables estáticas
static int numLlamadas = 0;
numLlamadas = numLlamadas + 1;
return nunLlamadass;
Tema 5 expresiones
Operadores aritméticos
- + suma
- - resta
- * multiplicación
- / división
- % módulo devuelve el resto de la división
Opereadores relacionales
- < devuelve 1 operando izquierda menor y 0 en otro caso
- > devuelve 1 operando derecha menor y 0 en otro caso
- <=
- >=
- ==
- !=
Operadores lógicos
- ! : NO de lógica proposicional
Asignación
=
de derecha a izquierda
Cuando se realiza la asignación, el resultado de la expresión se convierte al tipo del
operando de la izquierda. Si el tipo del operando de la izquierda es de mayor rango que el
de la derecha, no hay ningún problema. Sin embargo, si es al revés sí pueden producirse
alteraciones en los valores de los datos
Asignación compacta
+=
-=
/=
/=
*=
%=
X=x*y+1
función *=
x *= x * (y +1)
Conversión Forzada
(nuevo_tipo) expresión
cambiamos así un float a un int, para modificar los resultados
(int) decimal / entero
en caso de ser decimal un float
Operaciones de autoincremento y autodecremento
++ incrementa en 1
-- decrementa en 1
Diferencias entre usarla como prefijo o sufijo
- prefijo, primero se modifica el valor de la variable y se obtiene como valor de la
expresión el ya modificado
- como postfijo primero se obtiene el valor de la variable y posteriormente se modifica
el valor de la variable
Efectos secundarios de ++ y --
( i > 7) && (j++ > 2)
i es mayor que 7, j incrementa su valor tras la expresión, pero si i fuera menor o igual a 7,
no se evaluaría el segundo operando de la expresión y j no modificaría su valor
operador condicional
expresion1 ? expresion2 : expresion3
int i = 1
( i > 0 ) ? 70 : 0
expresión vale 70
Operador sizeof
devuelve un valor numérico que representa la cantidad de memoria necesaria para el tipo
de datos que se le pasa como parámetro. Se mide en unidades de char, por lo que, por
deficinión sizeof(char) devolverá siempre 1^2
Tema 6 estructuras de control
Estructuras selectivas
Estructura selectiva simple: if else
if (expresion)
{bloque}
else
{bloque else}
el else es opcional
FUNCIONAMIENTO
a) se evalúa la expresión que acompaña a la cláusula if
b) Si la expresión es cierta ( valor de la expresión != 0) se ejecuta el bloque se sigue a
continuación y se termina
c) Si la expresión es falsa ( valor de la expresión es = 0 ) y existe la cláusula else, se
ejecuta el bloque que sigue a la cláusula else y se termina
si if y else tienen más de una sentencia, tienen que agruparse los bloques entre
llaves
switch (expresión)
{
case exprConsta1:
listaProp1
case exprConsta2:
listaProp2
case exprConsta3:
listaProp3
default:
propDefault
}
FUNCIONAMIENTO SWITCH
a) Se evaúa la expresión que acompaña al switch. se evalúa como expresión entera
b) Se compara el valor obtenido, secuencialmente, con los valores que acompañan los
diferentes case, deteniéndose en el primero que coincida. Estos valores deberán ser
siempre expresiones constantes enteras
default: etiqueta que siempre es cierta, se utiliza para contemplar el resto de casos
que no se han considerado en los case anteriores.
IMPORTANTE PONER DEFAULT AL FINAL DEL BLOQUE TODAS LAS
ETIQUETAS POSTERIORES NO SERÁN CONSIDERADAS
Estructuras repetitivas
Sentencia while
while (expresión)
{bloque}
FUNCIONAMIENTO
a) se evalúa la expresión que acompaña a la cláusula while
b) Si la expresión es cierta (!= 0) se ejecuta el bloque que sigue a continuación
c) se vuelve al primer paso y sigue el proceso
Si hay más de una sentencia en el bloque while usar llaves {} para declarar bloque
Sentencia do while
do
{bloque}
while (expresión);
do se ejecuta siempre 1 vez while determina la duración del bucle hasta que se
cumpla la condición
Sentencia for
for (inicial;
expresión;
final)
{bloque}
FUNCIONAMIENTO
a) se ejecuta el bloque INICIAL
b) se evalúa la expresión
c) si es falsa (= 0) se finaliza la ejecución de la sentencia
d) si es verdadera (distinta de cero):
· se ejecuta el bloque
· se ejecuta el bloque final
· se ejecuta el paso 2
TEMA 7 FUNCIONES