Your SlideShare is downloading. ×
0
Introducción a laIntroducción a la
ProgramaciónProgramación
Objetivos
Al finalizar la asignatura el alumno debe conocer lo...
Introducción a laIntroducción a la
ProgramaciónProgramación
Fundamentos y Estructuras deFundamentos y Estructuras de
Contr...
Lenguaje C: Estructura de un ProgramaLenguaje C: Estructura de un Programa
#include <stdio.h>
#include <stdlib.h>
# …
# …
...
Lenguaje C: CaracterísticasLenguaje C: Características
• Algunas características son:
• El Lenguaje C es sensible al uso d...
Lenguaje C: CaracterísticasLenguaje C: Características
• Palabras reservadas o palabras clave
auto double int struct
break...
Lenguaje C: IdentificadoresLenguaje C: Identificadores
• Un identificador permite identificar (nombrar) una variable o una...
Lenguaje C: IdentificadoresLenguaje C: Identificadores
• Ejemplos de identificadores válidos son:
tiempo, modulo, distanci...
Lenguaje C: ConstantesLenguaje C: Constantes
• Las constantes en C pueden ser de los siguientes tipos:
1. Constantes numér...
Lenguaje C: OperadoresLenguaje C: Operadores
• Los operadores son símbolos que indican operaciones cuyos
operandos son nor...
Lenguaje C: Separadores y ComentariosLenguaje C: Separadores y Comentarios
• Los separadores permiten que los programas se...
Lenguaje C: VariablesLenguaje C: Variables
• Tipos de datos fundamentales en C
Tipo
Base
Modificador
signed unsigned short...
Lenguaje C: VariablesLenguaje C: Variables
• Variables Tipo Carácter
Ejemplos:
char identificador1 = ‘c’;
char identificad...
Lenguaje C: VariablesLenguaje C: Variables
• Variables Tipo Entero
Ejemplos:
short identificador1 = 345;
int identificador...
Lenguaje C: VariablesLenguaje C: Variables
• Variables Tipo Real
Ejemplos:
float identificador1 = -4.4567;
double identifi...
Lenguaje C: ConstantesLenguaje C: Constantes
• Constantes Enteras
Ejemplos:
8797 // constante int o short
0x3ae5 // consta...
Lenguaje C: ConstantesLenguaje C: Constantes
• Constantes Carácter
Ejemplos:
‘a’ // constante char
‘g’ // constante char
‘...
Lenguaje C: ConstantesLenguaje C: Constantes
• Constantes Enumeración
Ejemplos:
enum Dia {lunes, martes, miercoles, jueves...
Lenguaje C: ConstantesLenguaje C: Constantes
• Variables constante
Ejemplos:
const int i=50;
const long double pi= 3,14159...
Lenguaje C: OperadoresLenguaje C: Operadores
• Operadores Aritméticos
• Suma: +
• Resta: -
• Multiplicación: *
• División:...
Lenguaje C: OperadoresLenguaje C: Operadores
• Operadores Asignación
• Asignación: =
• Suma y asignación: +=
• Resta y asi...
Lenguaje C: OperadoresLenguaje C: Operadores
• Operadores Incrementales
• Incremento: ++
• Decremento: --
Sólo se pueden u...
Lenguaje C: OperadoresLenguaje C: Operadores
• Operadores Relacionales: expresan condiciones lógicas
• Igual que: ==
• Men...
Lenguaje C: OperadoresLenguaje C: Operadores
• Operadores Lógicos: expresan condiciones lógicas compuestas
• Y lógico: &&
...
Lenguaje C: OperadoresLenguaje C: Operadores
• Otros operadores:
• Más unario: + (indica que una variable es positiva)
• M...
Lenguaje C: ExpresionesLenguaje C: Expresiones
Ejemplos:
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
a=b...
Lenguaje C: Precedencia de OperadoresLenguaje C: Precedencia de Operadores
Precedencia Asociatividad
() [] -> . izda. a dc...
Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica
• Función printf:
…
printf(“cadena_formato”,expresion1,...
Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica
• Función printf: Formato
Cadena Formato Tipo de Expres...
Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica
• Función scanf:
…
scanf(“cadena_formato”,expresion1,ex...
Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica
• Función scanf: Formato
Cadena Formato Tipo de Expresi...
Lenguaje C: SentenciasLenguaje C: Sentencias
• Una sentencia de un programa en Lenguaje C es una instrucción de un
program...
Lenguaje C: Estructuras de ControlLenguaje C: Estructuras de Control
• Las estructuras o sentencias de control de flujo en...
Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales
• Sentencia Condicional if:
…
if(expresion_logica...
Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales
• Sentencia Condicional if-else:
…
if(expresion_l...
Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales
• Sentencia Condicional if-else:
Ejemplos:
…
if(a...
Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales
• Sentencia Condicional switch:
…
switch(expresio...
Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales
• Sentencia Condicional switch:
Ejemplo:
…
printf...
Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales
• Operador condicional ?:
…
(expresion_logica)? e...
Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles
• Sentencia iterativa while:
…
while(...
Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles
• Sentencia iterativa do-while:
…
do
...
Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles
• Sentencia iterativa for:
…
for(sent...
Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles
• Sentencia iterativa for:
Ejemplo:
…...
Lenguaje C: Sentencias de Salto IncondicionalLenguaje C: Sentencias de Salto Incondicional
• Sentencia continue:
…
continu...
Lenguaje C: Sentencias de Salto IncondicionalLenguaje C: Sentencias de Salto Incondicional
• Sentencia break:
…
break;
…
S...
Lenguaje C: Sentencias de Salto IncondicionalLenguaje C: Sentencias de Salto Incondicional
• Sentencia goto:
…
goto etique...
Upcoming SlideShare
Loading in...5
×

Dev c 1 2011

1,645

Published on

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,645
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
41
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Transcript of "Dev c 1 2011"

  1. 1. Introducción a laIntroducción a la ProgramaciónProgramación Objetivos Al finalizar la asignatura el alumno debe conocer los aspectos fundamentales de los lenguajes de programación, siendo capaz de reconocer los elementos léxicos y sintácticos de un lenguaje. Así mismo, debe conocer los principios básicos de programación: Funcional y Concurrente, pudiendo resolver pequeños problemas siguiendo los principios básicos de programación.
  2. 2. Introducción a laIntroducción a la ProgramaciónProgramación Fundamentos y Estructuras deFundamentos y Estructuras de ControlControl
  3. 3. Lenguaje C: Estructura de un ProgramaLenguaje C: Estructura de un Programa #include <stdio.h> #include <stdlib.h> # … # … … /* Otras definiciones */ int main(int argc, char *argv[]) { … /* Zona de */ … /* declaración */ … /* de variables */ … /* Zona de */ … /* instrucciones del */ … /* programa principal */ system("PAUSE"); return 0; } Cabecera de Programa: ficheros cabecera y otras definiciones Función main: cuerpo principal del programa NORMALMENTE LA FUNCIÓN MAIN SE ENCUENTRA EN UN FICHERO LLAMADO “main.c”
  4. 4. Lenguaje C: CaracterísticasLenguaje C: Características • Algunas características son: • El Lenguaje C es sensible al uso de mayúsculas y minúsculas. • Las sentencias (instrucciones) terminan con el símbolo punto y coma ‘;’ y se componen de palabras reservadas o palabras clave, identificadores, constantes, operadores y separadores. • Se pueden establecer bloques de instrucciones mediante el uso de llaves: los símbolos abre-llave ‘{’ y cierra-llave ‘}’. • Los programas se componen de: • Palabras reservadas o palabras clave. • Variables y funciones de la librería estándar. • Variables y funciones definidas por el programador.
  5. 5. Lenguaje C: CaracterísticasLenguaje C: Características • Palabras reservadas o palabras clave auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while
  6. 6. Lenguaje C: IdentificadoresLenguaje C: Identificadores • Un identificador permite identificar (nombrar) una variable o una función dentro de un programa. Siguen las siguientes reglas: 1. Se forma de una secuencia de símbolos pertenecientes SÓLO al conjunto de símbolos: {‘a’, …, ‘n’, ‘o’, …, ‘z’, ‘A’, …, ‘N’, ‘O’, …, ‘Z’, ‘0’, …, ‘9’, ‘_’}. 2. El primer carácter o símbolo del identificador NO PUEDE SER un dígito numérico. 3. Se distinguen las letras mayúsculas de las minúsculas, así, el identificador “suma” de los identificadores “SUMA”, “Suma”, “sUMa”, etc. 4. Se pueden definir identificadores de hasta 31 símbolos de longitud.
  7. 7. Lenguaje C: IdentificadoresLenguaje C: Identificadores • Ejemplos de identificadores válidos son: tiempo, modulo, distancia_total, suma10,_el_producto_, Tiempo, Modulo, Distancia_Total, laSumaDeTodo, elProducto,miVariable, Tu_Variable, estaFuncion, _el_Identificador_ • Ejemplos de identificadores no válidos son: 10_segundos, el-modulo, la distancia total, $dolares, %porciento,6seis6, este-no-es-un-identificador-valido, módulo, estaFunción
  8. 8. Lenguaje C: ConstantesLenguaje C: Constantes • Las constantes en C pueden ser de los siguientes tipos: 1. Constantes numéricas: son valores numéricos, o bien, enteros o en notación científica (punto flotante). 2. Constantes carácter: cualquier símbolo o carácter alfanumérico encerrado entre apóstrofos (Ejs.: ‘a’, ‘:’, ‘Z’, ‘+’, …). 3. Cadenas de caracteres: cualquier secuencia de símbolo o caracteres encerrado entre comillas (Ejs.: “esto es una cadena de caracteres”, “Hola Mundo!n”, …). 4. Constantes simbólicas: son constantes que se identifican con un identificador.
  9. 9. Lenguaje C: OperadoresLenguaje C: Operadores • Los operadores son símbolos que indican operaciones cuyos operandos son normalmente variables, y/o constantes, así como también funciones. En C hay diferentes tipos de operadores: 1. Aritméticos: { +, -, /, *, %, ++, --}. 2. De asignación: { =, +=, -=, *=, /= }. 3. Relacionales: { ==, <, >, <=, >=, !=}. 4. Lógicos: { &&, ||, ! }. 5. Otros: { &, |, ^, <<, >>, …}
  10. 10. Lenguaje C: Separadores y ComentariosLenguaje C: Separadores y Comentarios • Los separadores permiten que los programas sean legibles al permitir separar los diferentes elementos que aparecen en el programas (identificadores, sentencias, …). Los separadores son los llamados símbolos de formato: el espacio en blanco, el tabulador, y el salto de línea. • En el código fuente de un programa el programador puede introducir comentarios para dar mayor legibilidad al mismo. Los comentarios en Lenguaje C deben estar entre los dos pares de símbolos siguientes: • /*: indica comienzo de comentario • */: indica final de comentario • //: indica que el resto de la línea es un comentario Ejemplos: a=b+c; /* aquí se calcula la suma */ printf(“a=%dn”,a); // aquí se imprime la suma
  11. 11. Lenguaje C: VariablesLenguaje C: Variables • Tipos de datos fundamentales en C Tipo Base Modificador signed unsigned short long Tipo Carácter char (signed) char unsigned char ---- ---- Tipo Entero int (signed) int unsigned int short (int) long (int) Tipo Real float ---- ---- ---- ---- double ---- ---- ---- long double
  12. 12. Lenguaje C: VariablesLenguaje C: Variables • Variables Tipo Carácter Ejemplos: char identificador1 = ‘c’; char identificador2, identificador3; • Contienen un único símbolo o carácter ASCII. • Almacenan un byte de información. 1 byte = 8 bits  2 8 =256 números binarios diferentes
  13. 13. Lenguaje C: VariablesLenguaje C: Variables • Variables Tipo Entero Ejemplos: short identificador1 = 345; int identificador2 = -2345; long identificador3= -4352359; • Almacenan números enteros. • Tienen diferentes tamaños: • Entero corto  short (<=4 bytes) • Entero normal  int (>=4 bytes) • Entero largo  long (>= 4 bytes) • Pueden aceptar los siguientes modificadores: • Entero con signo  signed • Entero sin signo  unsigned
  14. 14. Lenguaje C: VariablesLenguaje C: Variables • Variables Tipo Real Ejemplos: float identificador1 = -4.4567; double identificador2,identificador3; long double identificador4= 6.19e+23; • Almacenan números reales. • Tienen diferentes tamaños: • Simple precisión  float (4 bytes) • Doble precisión  double (8 bytes) • Cuadruple precisión  long double (16 bytes)
  15. 15. Lenguaje C: ConstantesLenguaje C: Constantes • Constantes Enteras Ejemplos: 8797 // constante int o short 0x3ae5 // constante int o short 06573 // constante int o short 7890L // constante long 97987UL // constante unsigned long • Constantes Reales Ejemplos: 1.23 // constante float o double 3.87e-3 // constante float o double -9.005768e-12 // constante float o double
  16. 16. Lenguaje C: ConstantesLenguaje C: Constantes • Constantes Carácter Ejemplos: ‘a’ // constante char ‘g’ // constante char ‘A’ // constante char ‘n’ // constante char (salto de línea) ‘0’ // constante char (carácter nulo) ‘t’ // constante char (tabulador horizontal) • Constantes Cadena de Carácteres Ejemplos: “Informática” // constante cadena (string) “Hola Mundo!n” // constante cadena (string) “Esto es una frase” // constante cadena (string)
  17. 17. Lenguaje C: ConstantesLenguaje C: Constantes • Constantes Enumeración Ejemplos: enum Dia {lunes, martes, miercoles, jueves, viernes, sabado, domingo}; enum Mes {enero=1, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre, diciembre}; … Dia diaCita=martes; Mes mesCita=abril;
  18. 18. Lenguaje C: ConstantesLenguaje C: Constantes • Variables constante Ejemplos: const int i=50; const long double pi= 3,141592653589; const char unaLetra=‘a’; const char unaCadena[]=“Esto es una cadena”; • Se forman utilizando el cualificador const
  19. 19. Lenguaje C: OperadoresLenguaje C: Operadores • Operadores Aritméticos • Suma: + • Resta: - • Multiplicación: * • División: / • Módulo (Resto de División Entera): % Ejemplos: y=a*x*x+b*x+c; b=50%12; // el resultado es 2 z=k*x+(r-909)/((456.78-q)*s); l=2*pi*radio; x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a);
  20. 20. Lenguaje C: OperadoresLenguaje C: Operadores • Operadores Asignación • Asignación: = • Suma y asignación: += • Resta y asignación: -= • Multiplicación y asignación: *= • División y asignación: /= Ejemplos: t=a*s*s+b*s+c; b+=1; // equivalente a b=b+1; c-=1; // equivalente a c=c-1; d*=k; // equivalente a d=d*k; e/=m; // equivalente a e=e/m;
  21. 21. Lenguaje C: OperadoresLenguaje C: Operadores • Operadores Incrementales • Incremento: ++ • Decremento: -- Sólo se pueden utilizar con variables de tipo entero o puntero. Ejemplos: i++; // equivalente a i=i+1; o a i+=1; j--; // equivalente a j=j-1; o a j-=1; a= (i++) + k; // operador de post-incremento b= (++i) + k; // operador de pre-incremento
  22. 22. Lenguaje C: OperadoresLenguaje C: Operadores • Operadores Relacionales: expresan condiciones lógicas • Igual que: == • Menor que: < • Mayor que: > • Menor o igual que: <= • Mayor o igual que: => • Distinto que: != Ejemplos: (a<b) // ¿a es menor que b? Depende de a y b (r!=8) // ¿r es diferente de 8? Depende de r SI LA CONDICIÓN ES VERDADERA SE EVALÚA COMO 1, SI ES FALSA SE EVALÚA COMO 0.
  23. 23. Lenguaje C: OperadoresLenguaje C: Operadores • Operadores Lógicos: expresan condiciones lógicas compuestas • Y lógico: && • O lógico: || • NO lógico: ! Ejemplos: (a<b) && (k!=l) // ¿a es menor que b Y // k es diferente de 1? // Depende de a, b, k y l (m>=n) || !(q==j) // ¿m es mayor o igual que n O // q no es igual a j? Depende de // m, n, q y j SI LA CONDICIÓN COMPUESTA ES VERDADERA SE EVALÚA COMO 1, SI ES FALSA SE EVALÚA COMO 0.
  24. 24. Lenguaje C: OperadoresLenguaje C: Operadores • Otros operadores: • Más unario: + (indica que una variable es positiva) • Menos unario: - (cambia el signo a una variable numérica) • sizeof (indica el tamaño en bytes de una variable) • Operador coma: ,(permite realizar varias sentencias en una sóla línea) • Operador Dirección: & (permite obtener la dirección de memoria donde se almacena una variable) • Operador Indirección: * (permite acceder a la memoria apuntada por una dirección de memoria) Ejemplos: a=-b; r=sizeof(k);
  25. 25. Lenguaje C: ExpresionesLenguaje C: Expresiones Ejemplos: x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); a=b=c=d=e=f=1; // multi-asignación a=((b>c)&&(c>d))||((c==e)||(e==b)); // condición // compuesta zmas=sqrt(r*r-x*x-y*y) // semiesfera positiva zmenos=sqrt(r*r-x*x-y*y) // semiesfera negativa
  26. 26. Lenguaje C: Precedencia de OperadoresLenguaje C: Precedencia de Operadores Precedencia Asociatividad () [] -> . izda. a dcha. ++ -- ! sizeof() (tipo) + (unario) –(unario) *(indirección) &(dirección) dcha. a izda. * / % izda. a dcha. + - izda. a dcha. < <= > >= izda. a dcha. == != izda. a dcha. && izda. a dcha. || izda. a dcha. ?: dcha. a izda. = += -= *= /= dcha. a izda. , (operador coma) izda. a dcha.
  27. 27. Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica • Función printf: … printf(“cadena_formato”,expresion1,expresion2,…); … La función printf permite escribir texto por pantalla. La cadena_formato indica qué es lo que se va a escribir por pantalla en cada utilización de printf. Es posible incluir en cadena_formato referencias a expresiones que tras ser evaluadas deben incluirse en el texto que se imprimirá por pantalla. Ejemplo: … int a=3; float x=23.0; char c=‘A’; printf(“Hola mundo!!n”); printf(“Un entero %dn”,a); printf(“Un real %f ny un char %cn”,x,c); …
  28. 28. Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica • Función printf: Formato Cadena Formato Tipo de Expresión Resultado Impreso %d %i short, int número entero %ld %li long %u unsigned short, unsigned int número entero sin signo %lu unsigned long %o [unsigned] short, [unsigned] int número entero octal sin signo %lo [unsigned] long %x %X [unsigned] short, [unsigned] int número entero hexadecimal sin signo %lx %lX [unsigned] long %f float, double, long double número real en coma fija %e %E %g %G float, double, long double número real en notación científica %c char, unsigned char se imprime un símbolo ASCII %s char* se imprime una cadena de símbolos %p void* se imprime el valor de un puntero
  29. 29. Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica • Función scanf: … scanf(“cadena_formato”,expresion1,expresion2,…); … La función scanf permite leer texto desde teclado. La cadena_formato indica qué es lo que se va a leer por teclado en cada utilización de scanf. Es posible incluir en cadena_formato referencias a expresiones que tras ser evaluadas deben incluirse en el texto que se imprimirá por pantalla. Ejemplo: … int a; float x; char c; scanf(“%d”,&a); /* Lee un entero y lo almacena en a */ scanf(“%f %c”,&x,&c); /* Lee x y c */ …
  30. 30. Lenguaje C: Entrada/Salida BásicaLenguaje C: Entrada/Salida Básica • Función scanf: Formato Cadena Formato Tipo de Expresión Resultado Impreso %hd %hi short se lee un número entero%d %i int %ld %li long %hu unsigned short se lee número entero sin signo%u unsigned int %lu unsigned long %ho Short se lee un número entero en octal%o int %lo long %hx %hX Short se lee un número entero en hexadecimal%x %X int %lx %lX long %f %e %E %g %G float se lee un número real%lf %le %lE %lg %lG double %Lf %Le %LE %Lg %LG long double %c char se lee un símbolo ASCII %s char* se lee una cadena de símbolos
  31. 31. Lenguaje C: SentenciasLenguaje C: Sentencias • Una sentencia de un programa en Lenguaje C es una instrucción de un programa. Hay tres tipos de sentencias: • Sentencias Generales float espacio,espacio_inicial,tiempo,velocidad; Scanf(%f,espacio,%f,espacio_inicial…..) … espacio=espacio_inicial+velocidad*tiempo; printf(“Espacio recorrido =%fn”,espacio); • Sentencia Vacía o Nula ; // sentencia vacía o nula • Sentencias Compuestas o Bloques … { int i,j,k,m; … i=j+k*m } …
  32. 32. Lenguaje C: Estructuras de ControlLenguaje C: Estructuras de Control • Las estructuras o sentencias de control de flujo en C son las siguientes: • Sentencias Condicionales • if, if-else • switch-case • Operador Condicional ? • Sentencias Iterativas o Bucles • while • do-while • for • Sentencias de Salto Incondicional • continue • break • goto
  33. 33. Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales • Sentencia Condicional if: … if(expresion_logica) sentencia; … Si expresion_logica se evalúa como verdadera (1) entonces se ejecuta sentencia. Si expresion_logica se evalúa como falsa (0) entonces sentencia no se ejecuta y el programa continua ejecutándose en la siguiente línea. Ejemplos: … if(a>b) mayor=a; … … if(a>b) { // sentencia compuesta mayor=a; printf(“mayor=%dn”,mayor); } …
  34. 34. Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales • Sentencia Condicional if-else: … if(expresion_logica) sentencia_1; else sentencia_2; … Si expresion_logica se evalúa como verdadera (1) entonces se ejecuta sentencia_1. Si expresion_logica se evalúa como falsa (0) entonces se ejecuta sentencia_2. Ejemplos: … if(a>b) mayor=a; else mayor_o_igual=b; … … if(a>b) { // sentencia compuesta mayor=a; printf(“mayor=%dn”,mayor); } else { // sentencia compuesta mayor_o_igual=b; printf(“mayor o igual=%dn”,mayor_o_igual); } …
  35. 35. Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales • Sentencia Condicional if-else: Ejemplos: … if(a>b) mayor=a; else if(a=b) igual=a; else menor=a; … if(i<10) { if(j<10) k=i+j; } else k=10; … … if(a>b) { // sentencia compuesta mayor=a; printf(“mayor=%dn”,mayor); } else if(a=b) // sentencia compuesta { // sentencia compuesta igual=a; printf(“igual=%dn”,igual); } else { // sentencia compuesta menor=a; printf(“menor=%dn”,menor); } …
  36. 36. Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales • Sentencia Condicional switch: … switch(expresion_entera) { case expresion_cte_1: sentencia_1; [break;] case expresion_cte_2: sentencia_2; [break;] … case expresion_cte_n: sentencia_3; [break;] [default: sentencia_default;] } … • Si expresion_entera es igual a alguna de la expresiones constantes {expresion_cte_1, …, expresion_cte_n} entonces se ejecuta la sentencia correspondiente de entre las sentencias {sentencia_1, …, sentencia_n}. • Si expresión_entera no coincide con ninguna de las expresiones constantes {expresion_cte_1, …, expresion_cte_n} se ejecuta la sentencia sentencia_default asociada con la sentencia default. • Las sentencias break saltan el resto de la sentencia condicional switch.
  37. 37. Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales • Sentencia Condicional switch: Ejemplo: … printf (“Introduzca opción?:”);ç scanf(“%d”,&opcion); switch(opcion) { case 1: a=b+c; break; case 2: a=b-c; break; case 3: a=b*c; break; case 4: a=b/c; break; case 5: a=b%c; break; default: printf(“Error: opción %d no válida.n”,opcion); } …
  38. 38. Lenguaje C: Sentencias CondicionalesLenguaje C: Sentencias Condicionales • Operador condicional ?: … (expresion_logica)? expresion_1: expresion_2; … Si expresion_logica se evalúa como verdadera (1) entonces se evalua expresion_1. Si expresion_logica se evalúa como falsa (0) entonces se evalúa expresion_2. Ejemplo: … a=(a<0)? a+b: a-b; … … // sentencia if-else equivalente if(a<0) a=a+b; else a=a-b; …
  39. 39. Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles • Sentencia iterativa while: … while(expresion_logica) sentencia; … Mientras expresion_logica se evalúe como verdadera (1) se ejecuta sentencia repetidamente. Cuando expresion_logica se evalúe como falsa (0) entonces la ejecución continua en la siguiente sentencia de programa. Ejemplos: … a=0; while(a<b) a++; … … a=0; while(a<b) { // sentencia compuesta a++; printf(“a=%dn”,a); } …
  40. 40. Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles • Sentencia iterativa do-while: … do sentencia; while(expresion_logica); … Inicialmente se ejecuta sentencia una vez.Luego mientras expresion_logica se evalúe como verdadera (1) sentencia se ejecuta repetidamente. Cuando expresion_logica se evalúe como falsa (0) entonces la ejecución continua en la siguiente sentencia de programa. Ejemplos: … a=-1; do a++; while(a<b); … … a=-1; do { // sentencia compuesta a++; printf(“a=%dn”,a); } while(a<b); …
  41. 41. Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles • Sentencia iterativa for: … for(sentencia_inicializacion; expresion_logica; sentencia_actualizacion) sentencia; … Inicialmente se ejecuta sentencia_inicializacion. A continuación se evalúa expresion_logica. Si se evalúa como verdadera (1) se ejecuta sentencia, y luego sentencia_actualizacion. Luego se vuelve a evaluar expresion_logica y si es verdadera se vuelve a ejecutar sentencia, y luego sentencia_actualizacio. Esto se hará repetidamente hasta que expresion_logica se evalúe como falsa (0), en ese punto el bucle finaliza y la ejecución continua en la siguiente sentencia de programa.
  42. 42. Lenguaje C: Sentencias Iterativas o BuclesLenguaje C: Sentencias Iterativas o Bucles • Sentencia iterativa for: Ejemplo: … // contando for(a=0; a<b; a++) printf(“a=%dn”,a); … … // sentencia while equivalente a=0; while(a<b) { // sentencia compuesta a++; printf(“a=%dn”,a); } … … // sumando for(i=0, suma=0; i<n; i++) { printf(“Sumando %dn”,i); suma=suma+i; } … … // sentencia while equivalente i=0; suma=0; while(i<n) { // sentencia compuesta printf(“Sumando %dn”,i); suma=suma+i; i++; } …
  43. 43. Lenguaje C: Sentencias de Salto IncondicionalLenguaje C: Sentencias de Salto Incondicional • Sentencia continue: … continue; … Se utiliza dentro de sentencias repetitivas o bucles para obligar a la finalización de la iteración actual y reevaluación de la expresión lógica que controla la duración del bucle. Ejemplo: … // sumando for(i=-n, suma=0; i<n; i++) { if(n<0) continue; printf(“Sumando %dn”,a); suma=suma+i; } … … // sentencia while equivalente i=-n; suma=0; while(i<n) { // sentencia compuesta if(n<0) continue; printf(“Sumando %dn”,a); suma=suma+i; i++; } …
  44. 44. Lenguaje C: Sentencias de Salto IncondicionalLenguaje C: Sentencias de Salto Incondicional • Sentencia break: … break; … Se utiliza dentro de la sentencia condicional switch, así como en sentencias repetitivas o bucles para obligar a la finalización de la sentencia y continuación del programa en la siguiente sentencia de programa. Ejemplo: … // sumando for(i=0; i<n; i++) { if(i==2) break; printf(“Sumando %dn”,i); suma=suma+i; } … … // sentencia while equivalente i=0; suma=0; while(i<n) { // sentencia compuesta if(i==2) break; printf(“Sumando %dn”,i); suma=suma+i; i++; } …
  45. 45. Lenguaje C: Sentencias de Salto IncondicionalLenguaje C: Sentencias de Salto Incondicional • Sentencia goto: … goto etiqueta; … etiqueta: sentencia; … La instrucción goto hace saltar la ejecución del programa a la sentencia sentencia etiquetada con la etiqueta etiqueta. Ejemplo: … // contando i=0; inicio_bucle: prinft(“i=%dn”,i); i++; if(i<n) goto inicio_bucle; … … // sentencia while equivalente i=0; while(i<n) { // sentencia compuesta printf(“i=%dn”,i); i++; } …
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×