31
Programación en C 1 Programación en C Algoritmo y Algoritmo y Estructura de Estructura de Datos Datos Ing. M. Laura López

Programación en C

  • Upload
    ghalib

  • View
    35

  • Download
    0

Embed Size (px)

DESCRIPTION

Programación en C. Algoritmo y Estructura de Datos Ing. M. Laura López. Programación en C. Estructura de un programa en C. Estructura de un programa en C. #include Archivos de cabecera # define Definición de constantes. # include # include - PowerPoint PPT Presentation

Citation preview

Page 1: Programación en C

Programación en C 1

Programación en C

Algoritmo y Estructura Algoritmo y Estructura de Datosde Datos

Ing. M. Laura López

Page 2: Programación en C

Programación en C 2

Programación en C

Estructura de un programa en C

Page 3: Programación en C

Programación en C 3

Estructura de un programa en C

#include Archivos de cabecera

# define Definición de constantes

Declaraciones Globales•Variables •Funciones

Función principal main()

void main ()

{

Declaracion variables locales

Bloque de sentencias

}

Definiciones de otras funcionesfun_1(....){}

# include <stdio.h>

# include <conio.h>

void main ()

{

int a, b, c;

printf(“Ingrese dos numeros”);

scanf(“%d %d”, & a, &b);

c=a+b;

printf(“la suma de %d +%d es: %d”, a,b,c);

getch();

return;

}

Page 4: Programación en C

Programación en C 4

Características de C

• Sensible a mayúsculas y minúsculas: sum y Sum• Sentencias (terminan con un punto y coma).• Bloques (delimitados entre llaves).• Elementos de un programa:

– Palabras reservadas (muy pocas).– Funciones de librería estándar.– Variables y funciones definidas por el programador.

Page 5: Programación en C

Programación en C 5

Como compilar y ejecutar el programa?

Un compilador de C permite:•Analizar y detectar errores en el codigo fuente.

•Convertir un programa escrito en C en codigo ejecutable por el computador

Preprocesador

Compilador

Cód. Ensamblador

Código Fuente

Ensamblador

Código Objeto

Cód. Ejecutable

Editor de enlaces

Bibliotecas

Page 6: Programación en C

Programación en C 6

Finalización del programa

• Se llega al final de la función main().• La función main() realiza una llama return().• Cualquier función realiza la llamada exit().

int main(){exit(0);printf(“Esto no se ejecuta\n”);

}

Page 7: Programación en C

Programación en C 7

Comentarios

• Los comentarios en C pueden ocupar varias líneas y se encuentran delimitados entre /* y */.

int main(){

/* Esto es un comentario de varias lineas.*/return(0);

}

• Podemos utilizar // para definir un comentario de una línea

// Esto es un comentario de una línea.

Page 8: Programación en C

Programación en C 8

Programación en C

Variables básicas

Page 9: Programación en C

Programación en C 9

Tipos de variables

• Los tipos elementales de variables en C son:– Enteros (int).– Reales (float, double).– Caracteres (char).– Punteros (*).

NO existe un tipo booleano (en su lugar se usa int o char ).

Page 10: Programación en C

Programación en C 10

Modificadores de tipos

• Ciertos tipos básicos admiten diversos modificadores:– unsigned :Sólo valores positivos (sin signo).– signed : Valores positivos y negativos (por omisión).– long : Formato largo (para enteros únicamente).

Ejemplos:unsigned intsigned char long int (usualmente representado como long)unsigned long int

Page 11: Programación en C

Programación en C 11

Declaración de variables

• Declaración simple:– char c;– unsigned int i;

• Declaración múltiple:– char c,d;– unsigned int i,j,k;

• Declaración y asignación:– char c=’A’;– unsigned int i=133,j=1229;

Page 12: Programación en C

Programación en C 12

Llamada sizeof()

• La llamada sizeof() se utiliza para determinar el número de bytes que ocupa una variable o un tipo:

int a;sizeof(a);sizeof(unsigned int);

Page 13: Programación en C

Programación en C 13

Ámbito de las variables

• La declaración de las variables lleva asociado un ámbito, dentro del cual la variable es visible:

– Ámbito global: La variable es visible para todas las funciones del programa.

– Ámbito local: La variable es visible sólo dentro de la función. (Tiene prioridad sobre el ámbito global)

Page 14: Programación en C

Programación en C 14

Ámbito de las variables

int x,y;int main(){float x,z;/* Aquí x y z son reales e y un entero */

}

/* Aquí x e y son variables enteras *//* La variable z no existe fuera de la función */

Page 15: Programación en C

Programación en C 15

Programación en C

Operaciones aritméticas

Page 16: Programación en C

Programación en C 16

Operaciones aritméticas

• El operador de asignación es el igual (=).• Los operadores aritméticos son:

– Suma (+)– Resta (-)– Multiplicación (*)– División (/)– Módulo o resto (%) Requiere que los dos operandos sean

enteros

Page 17: Programación en C

Programación en C 17

Operaciones aritméticas

• División entera vs división real:– Depende de los operandos:4 / 3 --> 1 entero 4.0 / 3 --> 1.333 real4 / 3.0 --> 1.333 real4.0 / 3.0 --> 1.333 real

Page 18: Programación en C

Programación en C 18

• La prioridad indica el orden en el que se realizan lasoperaciones aritmeticas.• Las operaciones con mayor precedencia se realiza antes.

Prioridad Operación Primero ( ) Segundo Negación (signo menos) Tercero * , / , % Cuarto +, - • Dentro de cada grupo las operaciones se realizan deizquierda a derecha. Ejemplo:a - b / c * des equivalente aa - ((b/c) * d)

Prioridad de los operadores aritmeticos

Page 19: Programación en C

Programación en C 19

Casting

• Casting: mecanismo usado para cambiar de tipo expresiones y variables:

int a=3,d;float b;char c;b=65.0;a=(int)b; /* a vale 65 */c=(char)a; /* c vale 65 (Código ASCII de ‘A’) */

a= 3;d=(int)b/a; /* d vale 21 */

Page 20: Programación en C

Programación en C 20

Pre/post-incrementos

Los operadores unarios (++) y (--) representan operaciones de incremento y decremento, respectivamente.++a --a Incrementa o decrementa a en 1 y después utiliza el nuevo valor de a en la expresión en la que reside. a++ a-- Utiliza el valor actual de a en la expresión en la cual reside b, y después incrementa o decrementa a en 1.

Ejemplos:a=3; b=a++; /* a=4, b=3 */a=3; b=++a; /* a=4, b=4 */a=3; b=a--; /* a=2, b=3 */

Page 21: Programación en C

Programación en C 21

Operaciones de asignación

El operador de asignación en C es el igual(=)a=b+3;

Existen otras variantes de asignación:a+=3; /* Equivalente a a=a+3 */a*=c+d; /* Equivalente a a=a*(c+d) */a/=a+1; /* Equivalente a a=a/(a+1) */

Para las asignaciones entre variables o expresiones de tipos diferentes se recomienda hacer casting:a=(int)(x/2.34);

Page 22: Programación en C

Programación en C 22

Programación en C

Entrada/salida básica

Page 23: Programación en C

Programación en C 23

Funciones de entrada/salida

• Las funcionalidades de entrada/salida en C no pertenecen a las palabras reservadas del lenguaje. Son funciones de librería, por ejemplo:– Entrada: scanf().– Salida: printf().

Page 24: Programación en C

Programación en C 24

printf()

• El formato de llamada de printf()es:printf(format, exp1, exp2, exp3,..., expn);

donde:– format : Es el string de formato de salida de los datos.– expi : Es la expresión a incluir dentro del formato.

Page 25: Programación en C

Programación en C 25

printf()

Ejemplo:int a=3;float x=23.0;char c=‘A’;printf(“Hola mundo!!\n”);

printf(“Un entero %d\n”,a);

printf(“Un real %f \ny un char %c\n”,x,c);

Page 26: Programación en C

Programación en C 26

printf()

FormatoExpresión Resultado%d %i entero entero decimal con signo%u entero entero decimal sin signo%o entero entero octal sin signo%x %X entero entero hexadecimal sin signo%f real real en notación punto%e %E %g %G real real en notación científica%c caráctercarácter%p puntero dirección de memoria%s string cadena de caracteres%ld %lu ... entero largo entero largo (distintos formatos)%lf doble real de doble precisión

Page 27: Programación en C

Programación en C 27

printf()

• Secuencias de Escape:

Secuencia Significado \n nueva línea \t Tabulación \b backspace \r retorno de carro \” comillas \’ apóstrofo\\ backslash \? Signo de interrogación

Page 28: Programación en C

Programación en C 28

printf()

• Especicadores de ancho de campo:printf("Numero entero = %5d \n", 28);

produce la salida:Numero entero = 28

printf("Numero real = %5.4f \n", 28.2);produce la salida:

Numero entero = 28.2000

Page 29: Programación en C

Programación en C 29

scanf()

• El formato de llamada de scanf()es:scanf(format, dir1, dir2, dir3,..., dirn);

donde:– format : Es el string de formato de entrada de los datos.– diri : Es la dirección donde se almacena el resultado.

Page 30: Programación en C

Programación en C 30

scanf()

Ejemploint 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 */

Page 31: Programación en C

Programación en C 31

scanf() Lectura de strings

Ejemplo:char str[82];

scanf(“%s”,str); /* Lee hasta un blanco o fin de línea */

scanf(“%[^\n]”,str); /* Lee toda la línea */