Está en la página 1de 35

Introducción al

Clase 1:
Lenguaje C

c
INTRODUCCIÓN

Objetivos:
 Aprender uno de los lenguajes mas ampliamente utilizados en el
desarrollo de sistemas informáticos, sistemas de computo y
procesamiento de datos y software embebido.
 Conocer las herramientas básicas de programación y aplicaciones en
estudios posteriores.
 Desarrollar la capacidad de abstracción para el desarrollo de algoritmos
mediante la codificación, siguiendo normas y estándares.
 Desarrollar buenas practicas y estilos en programación que permitan
desarrollar código limpio y ordenado.

c
TEMARIO CLASE 1

1. Los lenguajes de programación.


2. Estándares del Lenguaje C ( Dialectos de Lenguaje).
3. Las Herramientas para la programación.
4. Estilo de programación y buenas practicas.
5. Estructura de un programa en C.
6. Las Variables: Declaración y Definición.
7. Representación de los Números en C.
8. Tipos de Variables.
9. Las Funciones: Declaración y Definición.
10.Tipos de Funciones.
c
11. La función principal “main”
1. Los lenguajes de programación

¿Por qué aprender a programar


en lenguaje C?

c
1. Los lenguajes de programación

C, Java y Python los lenguajes del 2019 y


2020 según índice TIOBE

Consultado el 25 de Junio en: https://www.tiobe.com/tiobe-index/


1. Los lenguajes de programación

C entre los mas odiados según la encuesta de Stackoverflow en


febrero del 2020

Consultado el 25 de Junio en:


https://insights.stackoverflow.com/survey/2020#technology-most-loved-dreaded-and-wanted-languages-loved
1. Los lenguajes de programación

El Lenguaje humano y el lenguaje Maquina

Suma y OK,
Transmite ¿Dónde?

c
1. Los lenguajes de programación

El Lenguaje humano y el lenguaje Maquina

Suma y 1000010
Transmite 0100010

c
2. Estándares del Lenguaje C ( Dialectos de Lenguaje)

Evolución del Lenguaje C

• C (Tradicional) Dennis M. Ritchie, Bell Labs 1973


Nombre(s): K&R C
• C Estandar (1989) American National Standards Institute (ANSI)
Nombre(s): ANSI C, ISO C, C89, C90.

• C Estandar (1999) ANSI incluye nuevos tipos y bibliotecas.


Nombre(s): ANSI C, C99.

• C Estandar (2011) ANSI incluye nuevos tipos y bibliotecas.


Nombre(s): ANSI C, C11.
c • C Estandar (2018) Ultimo estándar publicado.
• C Embebido (2008) Aritmetica de punto fijo.
Nombre(s): Embedded C
3. Las Herramientas para la programación
Desde un Fichero fuente hasta un binario ejecutable.
1. EDITOR DE TEXTO : Herramienta que permite la
creación y edición de los archivos de código fuente.

EDITOR DE
TEXTO • Formateo de Código
• Corrección en Tiempo Real
• Autocompletado Inteligente
main.c • Control de Cambios
c

Archivo Fuente
3. Las Herramientas para la programación
Desde un Fichero fuente hasta un binario ejecutable.
2. PREPROCESADOR: Herramienta que verifica la sintaxis de código y
realiza la evaluación de directivas. Si detecta error devuelve un mensaje
con la línea y el error detectado.
SINTAXIS:
• If, for, while, operadores, puntuación, etc.
EVALUACION DE DIRECTIVAS:
• #include, #define, etc.

EDITOR DE PREPOCESADOR
TEXTO
Archivo sin errores de
sintaxis, sin directivas
ni comentarios.
VISUAL STUDIO CODE
main.i
c

main.c
3. Las Herramientas para la programación
Desde un Fichero fuente hasta un binario ejecutable.
3. COMPILADOR: Traduce el código del C al lenguaje Assembler

• El Assembler depende del hardware.


• La Compilación puede ser:
-Directa : Para ejecutarse en el mismo hardware.
-Cruzada: Para ejecutarse en otro hardware
(Cross compiler)

EDITOR DE PREPOCESADOR COMPILADOR


TEXTO

VISUAL STUDIO CODE

main.c main.i
main.s
3. Las Herramientas para la programación
Desde un Fichero fuente hasta un binario ejecutable.

main.s
4. ENSAMBLADOR: transforma el programa escrito en lenguaje
ensamblador a código objeto, un archivo binario en lenguaje de
máquina ejecutable por el procesador.

ENSAMBLADOR

Archivo Objeto

c main.o
3. Las Herramientas para la programación
Desde un Fichero fuente hasta un binario ejecutable.
5. ENLAZADOR: Se unen uno o más
main.s módulos en código objeto con el código
Objetos
existente en las bibliotecas para formar
Reubicables
un solo archivo ejecutable.
File1.o
File2.o
File3.o

ENSAMBLADOR ENLAZADOR

main.exe
c

main.o
3. Las Herramientas para la programación
Desde un Fichero fuente hasta un binario ejecutable.
6. DEPURADOR: Herramienta opcional,
main.s se utiliza para ejecutar el ejecutable paso
Objetos
a paso y detectar errores en el
Reubicables
programa.
File1.o
File2.o
File3.o

ENSAMBLADOR ENLAZADOR DEPURADOR

main.o main.exe
3. Las Herramientas para la programación
Entorno Integrado de Desarrollo ( IDE )
Software que permite integrar todas las herramientas de programación, de forma que sea fácil el
acceso y manejo de las mismas. Ofrecen opciones de gestión de proyectos, opciones avanzadas
de depuración, etc. En este curso no utilizaremos un IDE.

c
3. Las Herramientas para la programación
Toolchain:
Las herramientas de programación vienen generalmente en un paquete conjunto llamado
toolchain.
IDE
EDITOR DE TEXTO

PRE-PROCESADOR
COMPILADOR Software
ENSAMBLADOR Toolchain
ENLAZADOR

c
DEPURADOR Opcional
3. Las Herramientas para la programación

Editor de Texto : Visual Studio Code

Toolchain: GCC Toolchain

Depurador: GDB

c
Biblioteca Estándar: ANSI C
4. Estilo de programación y buenas practicas.

c
5. Estructura de un programa en C.
Bloques y Sentencias
Las sentencias se
ejecutan en
secuencia de arriba
Definición hacia abajo

Bloque 1
Sentencia
Bloque 2
Sentencia

Sentencia

c
5. Estructura de un programa en C.
Módulos ( Archivos fuente)

c
5. Estructura de un programa en C.
Módulos ( Archivos fuente)

c
6. Las Variables: Declaración y Definición.

c
6. Las Variables: Declaración y Definición.

Tamaño de un Variable

c
6. Las Variables: Declaración y Definición.
Declaración: Definición:

tipo nombre_variable; tipo nombre_variable = valor_inicial;

-Especifica el tamaño de la variable


tipo Definición = Declaración + inicialización
-Especifica el formato de la variable

Ejemplo:
3 196 898 509 (número natural)
10111110 10001100 11001100 11001101 -1 098 068 787 (número entero)
-0,275 (número real)
c
Tamaño Formato
32bits
7. Representación de los Números en C.
Números Enteros

char Número entero de 8bits ( con o sin signo)


signed char Número entero de 8bits con signo.
unsigned char Numero entero de 8bits sin signo(natural)

short
signed long int Número entero con o sin signo.
unsigned long long El tamaño depende del hardware y compilador.

Formato Tamaño

Relación de Tamaños

c
long long ≥ long > int ≥ short > char
7. Representación de los Números en C.
Números Reales

c
8. Tipos de Variables.
Según su Alcance ( campo de visión)

c
8. Tipos de Variables.
Según su tiempo de vida

c
9. Las Funciones: Declaración y Definición.
Concepto de Función.

Parámetros(Variables de entrada) Valor de Retorno (Salida)


Declaración:
tipo_funcion nombre_funcion(tipo_1 param_1, tipo_2 param_2, . . . , tipo_n param_n);

Tipo del Valor de Retorno: Parámetros


Ejm: char, int, float, etc. Ejm: char x, int y, float z
c Sin Valor de Retorno: Sin parámetros
void. void
9. Las Funciones: Declaración y Definición.
Definición:
tipo_funcion nombre_funcion(tipo_1 param_1, tipo_2 param_2, . . . , tipo_n param_n){
cuerpo de la función:
• Declaración/definición de variables
• Bloques y sentencias.
• return (expresión); Solo si hay valor de retorno
}

Observación:
𝑥2 𝑦2
Una función en C
𝑓 𝑥 = 𝑥3 −1 𝑓 𝑥 = + 𝑥𝑦 −
puede tener
int funcion(int x){ int funcion(int x, int y){
varios parámetros,
return ((x*x*x) - 1); return (x*x + x*y – y*y);
Pero solo puede
c } } retornar un valor
Función de 1 parámetro, entrega Función de 2 parámetros, entrega
1 valor de retorno. 1 valor de retorno.
10. Tipos de Funciones.

c
11. La función principal “main()”
• Es la única función OBLIGATORIA en un programa escrito en C
• Es invocada al momento del arranque del programa.
• Cuando se alcanza el final de esta función, el programa llega a su fin (finaliza la ejecución).
• Retorna el valor de “0” si el programa se finalizo exitosamente; de lo contrario, retorna un valor
diferente de “0”.
• Se puede definir de dos formas:

Con parámetros Sin parámetros

int main(int argc, char *argv[]) int main(void)


Forma estándar Forma reducida
(Sistema operativo, manejo de excepciones) (código “bare metal”, sin manejo de excepciones)
c

También podría gustarte