Sie sind auf Seite 1von 24

GRUPO N.

7

INTEGRANTES:
NGELA CRUZ
BLANCA OLIVIA
CINTHYA PINEDA
THESLA SERRANO
JAVIER GARCA



Tipos de datos bsicos:
char
Int
Float
Double
Void
Punteros
Arrays
Estructuras
Uniones

Tamao de la variable
Signo
Modo de almacenamiento
enum [<identificador>]
{ <nombre_constante> [= <valor>], ... }
[lista de variables];


typedef unsigned char byte;
typedef struct {
double real, imag;
} complex;


typedef <tipo>
<identificador>;
<tipo> <identificador> [= <init>] [, ...] ;

int x;
int y = 4;
int x = 1, y = 2;
int *p;
int **int_ptr;
long double v;
complex i;
enum day hoy;
char ch;
unsigned char c1, c2;
char *str;
char str[] = "ATD1";
int vector[];
int vector[3];
int vector[3] = {1, 2, 3};
int matriz[3][4];
Programacin estructurada
Estructuras condicionales
La sentencia if
La clusula else
Encadenamiento y anidamiento
El operador condicional ?:
La sentencia switch

Las estructuras de
control
controlan la
ejecucin de las
instrucciones de un
programa











IDEA CENTRAL:
Las estructuras de control
de un programa
slo deben tener un punto
de entrada y un punto de
salida.
La ejecucin de un
programa estructurado
progresa
disciplinadamente,
en vez de saltar de un sitio
a otro de forma
impredecible
Secuencia
Conjunto de sentencias que se ejecutan en orden
Ejemplos:
Sentencias de asignacin y llamadas a rutinas.
Seleccin
Elige qu sentencias se ejecutan en funcin de una
condicin.
Ejemplos:
Estructuras de control condicional if-then-else y case/switch
Iteracin
Las estructuras de control repetitivas repiten conjuntos de
instrucciones.
Ejemplos:
Bucles while, do...while y for.
Por defecto,
las instrucciones de un programa se ejecutan
secuencialmente:

El orden secuencial de ejecucin
no altera el flujo de control
del programa respecto al orden
de escritura de las instrucciones.
Sin embargo, al describir la resolucin de un problema, es
normal
que tengamos que tener en cuenta condiciones que
influyen sobre
la secuencia de pasos que hay que dar para resolver el
problema:







Las estructuras de control condicionales o selectivas nos
permiten
decidir qu ejecutar y qu no en un programa.
Ejemplo tpico
Realizar una divisin slo si el divisor es distinto de cero.
Segn se cumplan o no
determinadas condiciones,
la secuencia de pasos involucrada
en la realizacin de una tarea
ser diferente
Las
La sentencia if nos permite
elegir si se ejecuta o no un
bloque de instrucciones.


Sintaxis
if (condicin)
sentencia;
if (condicin) {
bloque
}
donde bloque representa un bloque de
instrucciones.

Bloque de instrucciones:
Secuencia de instrucciones encerradas entre dos
llaves {....}
- Olvidar los parntesis al poner la condicin
del if es un error sintctico (los parntesis
son necesarios)
- Confundir el operador de comparacin ==
con el operador de asignacin = puede
producir errores inesperados
- Los operadores de comparacin ==, !=, <= y
>= han de escribirse sin espacios.
- => y =< no son operadores vlidos en C.
- El fragmento de cdigo afectado por la
condicin del if debe sangrarse para que
visualmente se interprete
if (condicin) {
// Aqu se incluye el cdigo
// que ha de ejecutarse slo
// si se cumple la condicin del if
// (sangrado para que se vea dnde
// empieza y dnde acaba el if)
}
if (condicin)
; // Sentencia vaca
sentencia;
#include <stdio.h>
int main (int argc, char *argv[])
{
Decir si un nmero es
positivo
int x;

printf(Dme un numero);

scanf(%d,&x);

if (x>0) {

printf(El numero %d es
positivo,x);

}

return 0;
}

Decir si un nmero es positivo
Una sentencia if, cuando incluye
la clusula else,
permite ejecutar un bloque de
cdigo si se cumple la condicin
y otro bloque de cdigo
diferente si la condicin no se
cumple.


if (condicin)
sentencia1;
else
sentencia2;
if (condicin) {
bloque1
} else {
bloque2
}


Los bloques de
cdigo
especificados
representan dos
alternativas
complementarias y
excluyentes
Decir si un nmero
es positivo o
negativo
#include <stdio.h>

void main ()
{
int x;

printf(Dme un numero: );
scanf(%d,&x);

if (x>=0) {
printf(El numero %d es positivo, x);
} else {
printf(El numero %d es negativo, x);
}
}

La sentencia if anterior es equivalente a

if (x>=0) {
printf(El numero %d es positivo, x);
}

if (x<0) { // Condicin complementaria a x>=0
printf(El numero %d es negativo, x);
}

si bien nos ahorramos comprobar una condicin al usar
else.
Ejemplo:

#include<stdio.h>
#include<conio.h>
int main(){
float
promedio=0,descuento=0,colegiatura=15
00,total=0;
printf("\n\tCual fue tu promedio?:
");scanf("%f",&promedio);
if(promedio>=9){
descuento=0.2;
}
else{
if(promedio>=8 && promedio <9){
descuento=0.1;
}
else{
if(promedio>=7 && promedio
<8){
descuento=0.05;
}
else{
descuento=0;
}
}
}
total=colegiatura-
colegiatura*descuento;
printf("\n\tTu colegiatura sera de
%.2f",total);
getch();
}

Ejemplo:
Si un alumno tiene un
promedio mayor o igual a
9 se le har un 20% de
descuento en la
colegiatura, si tiene un
promedio mayor o igual a
8 pero menor que 9 el
descuento ser del 10%, si
su promedio es menor que
8 pero mayor o igual a 7
el descuento ser del 5% y
si promedia con 7 o menos
no tendr descuento.
#include <stdio.h>
void main () {
float nota;
printf(Dme una nota: );
scanf(%f,&nota);
if (nota>=9) {
printf(Sobresaliente);
} else if (nota>=7) {
printf(Notable);
} else if (nota>=5) {
printf(Aprobado);
} else {
printf(Suspenso);
}
}

Su cualidad: podemos ahorrar algunas llaves{}
Esto equivale a
Condicion1 ? expresin2 : expresin3

Se evala la condicion1, y si su resultado es
verdadero, entonces se evala y devuelve como
resultado la expresin2. Si condicion1 es falso, se
evala y devuelve expresin3.

En este caso, es equivalente a escribir:

if (condicion1) {
expresin2;
} else {
expresin3;
}
1 if(x>y){ 2if( x<y){
x x
} }
else{ else{
y y
} }


3(x<y)? ((y<z)? y: ((z<x)? x: z));
((x<z)? x: ((z<y)? y: z));



Condiciones:
Se selecciona a partir de la evaluacin de una nica expresin.
La expresin del switch ha de ser de tipo entero.
Los valores de cada caso del switch han de ser constantes.
En C, se ejecutan todas las sentencias incluidas a partir del caso
correspondiente, salvo que explcitamente usemos break:

switch (expresin) {
case expr_cte1:
sentencia1;
break;
case expr_cte2:
sentencia2;
break;
default:
sentencia;
}

#include <stdio.h>
void main() {
int nota;
printf(Calificacin: );
scanf(%d, &nota);
switch (nota) {
case 0:
case 1:
case 2:
case 3:
case 4:
printf(Suspenso);
break;
case 5:
case 6:
printf(Aprobado);
break;
case 7:
case 8:
printf(Notable);
break;
case 9:
printf(Sobresaliente);
break;
case 10:
printf(Matrcula);
break;
default:
printf(Error);
}
}

Das könnte Ihnen auch gefallen