Diferencia entre revisiones de «Fundamentos de C - Lección 4»

Contenido eliminado Contenido añadido
Sin resumen de edición
mSin resumen de edición
Línea 1:
--[[Especial:Contributions/201.242.105.106|201.242.105.106]] 01:12 18 may 2008 (UTC)'''El operador ?'''
Exp 1 ? Exp 2 : Exp 3
Se evalua exp1 si es cierto se evalua exp2 y toma ese valor para la expresión. Si exp1 es falso evalua exp3 tomando su valor para la expresión.
Línea 19 ⟶ 18:
ESTRUCTURAS CONDICIONALES
If
if (expresion)
{
............
............
Línea 27:
...........
}
 
Switch
switch (variable) {
Línea 43 ⟶ 44:
...........
}
 
Switch sólo puede comprobar la igualdad.
 
BUCLES
 
For
 
for (inicialización; condición; incremento) sentencia
for (inicialización; condición; ---->incremento) asignaciónsentencia
inicialización ----> asignación
condición ----> expresión relacional
 
Ejemplo: for (x=1; x<=100; x++) printf ("%d",x); Imprime los numeros del 1 al 100
 
While
 
while (condición) sentencia;
Ejemplo: while (c!='A') c=getchar( );
Línea 56 ⟶ 64:
Do / While
Analiza la condició al final.
do {
{
...........
...........
...........
} while (condicion);
}
Break
} while (condicion);
Break
 
Tiene dos usos:
- para finalizar un case en una sentencia switch.
Línea 67 ⟶ 78:
Para salir de un programa anticipadamente. Da lugar a la terminación inmediata del programa, forzando la vuelta al S.O. Usa el archivo de cabecera stdlib.h
Ejemplo: #include <stdlib.h>
main (void)
{
if (!tarjeta_color( )) exit(1);
jugar( );
}
 
Continue
 
Hace comenzar la iteración siguiente del bucle, saltando así la secuencia de instrucciones comprendida entre el continue y el fin del bucle.
 
do {
scanf("%d",&num);
{
if (x<0) continue;
printf scanf("%d",x&num);
if (x<0) continue;
} while (x!=100);
printf("%d",x);
Funciones
}
tipo nombre_funcion (lista de parametros)
} while (x!=100);
Funciones
............
tipo nombre_funcion (lista de parametros)
............
{
............
............
}
 
tipo, especifica el tipo de valor que devuelve la sentencia return de la función.
8
Llamada por valor
Copia el valor de un argumento en el parámetro formal de la subrutina. Los cambios en los parámetros de la subrutina no afectan a las variables usadas en la llamada.
int cuad (int x);
main ( ) cuad (int x)
{ {
int t=10; x=x*x;
printf ("%d %d",cuad(t),t); return(x);
return 0; }
}
 
Salida es << 100 10 >>
Llamada por referencia
Es posible causar una llamada por referencia pasando un puntero al argumento. Se pasa la dirección del argumento a la función, por tanto es posible cambiar el valor del argumento exterior de la función.
int x,y; inter (int *x,int *y)
inter (&x,&y); {
int temp;
temp=*x;
*x=*y;
*y=temp;
}
Arrays
Todos los arrays tienen el 0 como índice de su primer elemento.
Línea 333 ⟶ 352:
int printf (const char *cad_fmt, ...);
La cadena de formato consiste en dos tipos de elementos: carácteres que se mostrarán en pantalla y órdenes de formato que empiezan con un signo de porcentaje y va seguido por el código del formato.
 
%c un único carácter
%d decimal
%id decimal
%di decimal
%e notación científica
%f decimal en coma flotante
%o octal
%s cadena de carácteres
%u decimales sin signo
%x hexadecimales
%% imprime un signo %
%%p muestraimprime un punterosigno %
%p muestra un puntero
 
Las órdenes de formato pueden tener modificadores que especifiquen la longitud del campo, número de decimales y el ajuste a la izquierda.
 
Un entero situado entre % y el código de formato actua como un especificador de longitud mínima de campo. Si se quiere rellenar con ceros, se pone un 0 antes del especificador de longitud de campo.
%05 rellena con ceros un número con menos de 5 dígitos.
Línea 351 ⟶ 373:
%5.7s imprime una cadena de al menos cinco carácteres y no más de siete.
scanf ( ) Su prototipo es:
 
int scanf ( ) (const char *cadena_fmt, ...);
 
Ejemplo:
 
scanf ("%d",&cuenta);
scanf ("%d",&numcuenta);