SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Introducción del lenguaje C

En este documento se introducen los elementos principales de la programación en
lenguaje C. Se cubre gran parte de las características del lenguaje, así como algunas
funciones de las bibliotecas estándares.

Marco histórico

Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código
del sistema operativo UNIX.
Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas
favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la
abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los
programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también
utilizaban C, con lo cual la práctica totalidad de aplicaciones de sistema para
microordenadores y para sistemas UNIX está escrita en este lenguaje.
A mediados de los ochenta el C se convierte en un estándar internacional ISO. Este
estándar incluye tanto la definición del lenguaje como una enorme biblioteca de
funciones para entrada/salida, tratamiento de textos, matemáticas, etc.
A mediados de los ochenta se crea el C++, extensión de C orientada a objetos. El C++
se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C no va a
modificarse más. Será el C++ el que incorporará nuevos cambios.


Características

      Orientado a la programación de sistemas
      Es altamente transportable
      Es muy flexible
      Genera código muy eficiente
      Es muy expresivo (se pueden realizar muchas funciones escribiendo pocas líneas
       de código)
      Es muy poco modular
      Hace pocas comprobaciones
      Da poca disciplina al programador
      Es difícil leer código escrito por otras personas




Fases de desarrollo de un programa en C

El preprocesador
Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. Las
transformaciones incluyen:

      Eliminar los comentarios.
      Incluir en el fuente el contenido de los ficheros declarados con #include
       <fichero> (a estos ficheros se les suele llamar cabeceras)
      Sustituir en el fuente las macros declaradas con #define (ej. #define CIEN 100)




                                          1
El compilador
Convierte el fuente entregado por el preprocesador en un archivo en lenguaje máquina:
fichero objeto.
Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador.

El enlazador
Un fichero objeto es código máquina, pero no se puede ejecutar, porque le falta código
que se encuentra en otros archivos binarios.
El enlazador genera el ejecutable binario, a partir del contenido de los ficheros objetos
y de las bibliotecas.
Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo
fuente llama (por ejemplo printf).

Ejemplo de programa en C

#include <stdio.h>


main()
{
         /* Escribe un mensaje */

         printf (“Hola, mundon”);
}




Bibliotecas estándares

El lenguaje C es muy simple. Carece de tipos y servicios que forman parte de otros
lenguajes. No tiene tipo booleano, ni manejo de cadenas, ni manejo de memoria
dinámica.

No obstante, el estándar de C define un conjunto de bibliotecas de funciones, que
necesariamente vienen con todo entorno de compilación de C y que satisfacen estos
servicios elementales.
Las interfaces de estos servicios vienen definidas en unos ficheros cabeceras ( header
files ). El nombre de estos ficheros suele terminar en .h

Algunos de los servicios proporcionados por las bibliotecas estándares son:

       entrada y salida de datos (stdio.h)
       manejo de cadenas (string.h)
       memoria dinámica (stdlib.h)
       rutinas matemáticas (math.h)




                                              2
Componentes del lenguaje C

Sigue el paradigma de la programación estructurada:
Algoritmos+estructuras de datos = programas.

Estructuras de datos

       literales
       tipos básicos (todos numéricos)
       tipos enumerados
       tipos estructurados (struct, union)
       punteros y vectores

Construcciones algorítmicas

       construcciones condicionales (if,switch)
       construcciones iterativas(while,for,do...while)
       subrutinas (funciones)


Además de lo anterior, el C tiene otros elementos:

       comentarios
       inclusión de ficheros
       macros
       compilación condicional

El preprocesador es quien normalmente se encarga de interpretar estas construcciones.


Rangos de valores y tipos modificados

Rango de los enteros
Una variable entera acepta valores positivos y negativos dentro de un rango
determinado, que depende de la plataforma y del compilador (en pecés bajo MS-DOS
suele estar entre -32768 y 32767; en Linux son enteros de 32 bits).

Existen modificaciones para el tipo int, para alterar el rango de valores sobre el que
trabaja:

Modificador        Significado
short              entero corto     (rango    más
                   pequeño)
long               entero largo     (rango    más
                   amplio)
unsigned           entero sin signo (0..N)
signed             entero con signo (-N-1 .. +N)



La palabra int se puede omitir en la declaración de la variable.

Los modificadores de tamaño ( short, long) y de signo ( signed, unsigned) se pueden
combinar.



                                              3
Por omisión, un entero es signed (en la práctica, esta palabra reservada casi nunca se
emplea).

Ejemplos:

        unsigned sin_signo;                 /* entero sin signo */
        long saldo_en_cuenta;      /* entero largo con signo */
        unsigned long telefono;    /* entero largo sin signo */



Tipo char
El tipo char permite manejar caracteres (letras), aunque se trata de un tipo numérico.
Normalmente el rango de valores va de –128 a +127 (signed char), o bien de 0 a 255
(unsigned char).
Los literales de tipo carácter se pueden utilizar como números.

        char caracter;
        int entero;
        main()
        {
                 caracter = 65; // valdría como una ‘A’
                 entero = ‘A’; // valdría como un 65
        }


Nombres de variables (identificadores)

Un identificador es un nombre que define a una variable, una función o un tipo de
datos.
Un identificador válido ha de empezar por una letra o por el carácer de subrayado _,
seguido de cualquier cantidad de letras, dígitos o subrayados.
OJO: Se distinguen mayúsculas de minúsculas.
No se pueden utilizar palabras reservadas como int, char o while.
Muchos compiladores no permiten letras acentuadas o eñes.

Ejemplos válidos:

                 char letra;
                 int Letra;
                 float CHAR;
                 int __variable__;
                 int cantidad_envases;
                 double precio123;
                 int __;




                                          4
Expresiones

Los datos se manipulan mediante expresiones, que sirven para calcular valores. En C
hay varios operadores para construir expresiones.

Estos son los operadores elementales sobre números:


Operador      Significado
+             suma
-             resta
*             producto
/             división
%             módulo (resto de la división)

Una expresión combina varias operaciones y devuelve un valor.
Los operadores *, / y % tienen precedencia sobre la suma y la resta.
Se pueden utilizar paréntesis para agrupar subexpresiones.


Asignaciones

La forma de dar valor a una variable es

variable = expresión ;

Se le llama asignación.


También se puede dar valor a una variable en el mismo momento en que se declara (
inicialización).

tipo variable = expresión ;

Una variable que se declara sin inicializar contiene un valor indeterminado.




                                              5

Mais conteúdo relacionado

Mais procurados

Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++g_torrealba
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionluismart05
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivastacubomx
 
Estructura de-un-programa-en-lenguaje-c.
Estructura de-un-programa-en-lenguaje-c.Estructura de-un-programa-en-lenguaje-c.
Estructura de-un-programa-en-lenguaje-c.itzel-patricia05
 
Lenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesLenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesKarina Arguedas Ruelas
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su EntornoMeztli Valeriano Orozco
 
Entorno de desarrollo en c++
Entorno de desarrollo en c++Entorno de desarrollo en c++
Entorno de desarrollo en c++Lymobe
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++GabrielFVilla15
 
Estructuras de un programa
Estructuras de un programaEstructuras de un programa
Estructuras de un programaTensor
 
C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualFernando Jose
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 
c++ introduccion
c++ introduccionc++ introduccion
c++ introduccionjennipaola
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 

Mais procurados (20)

Repaso del lenguaje C++
Repaso del lenguaje C++Repaso del lenguaje C++
Repaso del lenguaje C++
 
Sintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacionSintaxis de lenguaje de programacion
Sintaxis de lenguaje de programacion
 
Introducción al lenguaje c++
Introducción al lenguaje c++Introducción al lenguaje c++
Introducción al lenguaje c++
 
Clase 1 Lenguaje C++
Clase 1 Lenguaje C++Clase 1 Lenguaje C++
Clase 1 Lenguaje C++
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
Tutorial C
Tutorial CTutorial C
Tutorial C
 
Lenguaje C (pdf)
Lenguaje C (pdf)Lenguaje C (pdf)
Lenguaje C (pdf)
 
Estructura de-un-programa-en-lenguaje-c.
Estructura de-un-programa-en-lenguaje-c.Estructura de-un-programa-en-lenguaje-c.
Estructura de-un-programa-en-lenguaje-c.
 
Lenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y ComponentesLenguaje Borland C - Estructura y Componentes
Lenguaje Borland C - Estructura y Componentes
 
2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno2.1 Lenguaje de Programación C y su Entorno
2.1 Lenguaje de Programación C y su Entorno
 
Entorno de desarrollo en c++
Entorno de desarrollo en c++Entorno de desarrollo en c++
Entorno de desarrollo en c++
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++
 
Elementos basicos c
Elementos basicos cElementos basicos c
Elementos basicos c
 
Estructuras de un programa
Estructuras de un programaEstructuras de un programa
Estructuras de un programa
 
C# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptualC# documento de texto junto con mapa conceptual
C# documento de texto junto con mapa conceptual
 
Lenguaje de-programación-c
Lenguaje de-programación-cLenguaje de-programación-c
Lenguaje de-programación-c
 
Lenguaje de-programacion-c++
Lenguaje de-programacion-c++Lenguaje de-programacion-c++
Lenguaje de-programacion-c++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
c++ introduccion
c++ introduccionc++ introduccion
c++ introduccion
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 

Destaque

Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c1002pc1
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Manual c++
Manual c++Manual c++
Manual c++slent
 
LENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION CLENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION Cjavu
 
Tipos de Datos en C++
Tipos de Datos en C++Tipos de Datos en C++
Tipos de Datos en C++ivanjvic
 
5 diapositivas para programar
5 diapositivas para programar5 diapositivas para programar
5 diapositivas para programarLmartinez45564646
 
mapa conceptual lenguaje C#
mapa conceptual lenguaje C#mapa conceptual lenguaje C#
mapa conceptual lenguaje C#Natanael Argueta
 
Que es robotica
Que es roboticaQue es robotica
Que es roboticajhoana9703
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoriasirfids
 
Lenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script ILenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script Isirfids
 
Presentación de C++
Presentación de C++Presentación de C++
Presentación de C++Sylvert
 

Destaque (20)

Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Manual c++
Manual c++Manual c++
Manual c++
 
LENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION CLENGUAJE DE PROGRAMACION C
LENGUAJE DE PROGRAMACION C
 
Lenguaje C sharp
Lenguaje C sharpLenguaje C sharp
Lenguaje C sharp
 
Tipos de Datos en C++
Tipos de Datos en C++Tipos de Datos en C++
Tipos de Datos en C++
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
C# Diferencias
C# DiferenciasC# Diferencias
C# Diferencias
 
5 diapositivas para programar
5 diapositivas para programar5 diapositivas para programar
5 diapositivas para programar
 
mapa conceptual lenguaje C#
mapa conceptual lenguaje C#mapa conceptual lenguaje C#
mapa conceptual lenguaje C#
 
Que es robotica
Que es roboticaQue es robotica
Que es robotica
 
manual de c# (1)
manual de c# (1)manual de c# (1)
manual de c# (1)
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - MemoriaLenguaje C para Administradores de Red / Script III - Memoria
Lenguaje C para Administradores de Red / Script III - Memoria
 
Lenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script ILenguaje C para Administradores de Red - Script I
Lenguaje C para Administradores de Red - Script I
 
Presentación de C++
Presentación de C++Presentación de C++
Presentación de C++
 
Introduction to c#
Introduction to c#Introduction to c#
Introduction to c#
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 
Presentacion de c++
Presentacion de c++Presentacion de c++
Presentacion de c++
 

Semelhante a Introduccion del Lenguaje C

Lenguaje c
Lenguaje cLenguaje c
Lenguaje carea21
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Jennybeatriz1
 
Material de apoyo: Componentes y tipos de Datos PDF
 Material de apoyo: Componentes y tipos de Datos PDF Material de apoyo: Componentes y tipos de Datos PDF
Material de apoyo: Componentes y tipos de Datos PDFLeider Sanchez
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion cChavez Raul
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Nilson Payares
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacionrotflol
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacionthaynasantos1997
 
Elementos básicos del lenguaje
Elementos básicos del lenguajeElementos básicos del lenguaje
Elementos básicos del lenguajemarbcm
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CJesus Agreda
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CJesus Agreda
 

Semelhante a Introduccion del Lenguaje C (20)

Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
 
Material de apoyo: Componentes y tipos de Datos PDF
 Material de apoyo: Componentes y tipos de Datos PDF Material de apoyo: Componentes y tipos de Datos PDF
Material de apoyo: Componentes y tipos de Datos PDF
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion c
 
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
Lenguajesdeprogramacion c nivel1-unidad1-01-componentes y tipos de datos_1
 
Guia en lenguaje c
Guia en lenguaje c Guia en lenguaje c
Guia en lenguaje c
 
Clase 1 Programación II
Clase 1 Programación IIClase 1 Programación II
Clase 1 Programación II
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacion
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacion
 
Programación en c
Programación en cProgramación en c
Programación en c
 
Elementos básicos del lenguaje
Elementos básicos del lenguajeElementos básicos del lenguaje
Elementos básicos del lenguaje
 
IntroLenguajeC.ppt
IntroLenguajeC.pptIntroLenguajeC.ppt
IntroLenguajeC.ppt
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
TUTORIAL LENGUAJE C
TUTORIAL LENGUAJE CTUTORIAL LENGUAJE C
TUTORIAL LENGUAJE C
 
TUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE CTUTORIAL DE LENGUAJE C
TUTORIAL DE LENGUAJE C
 
Webcd
WebcdWebcd
Webcd
 

Mais de Universidad de Guayaquil (8)

Linux Programacion en Shell
Linux Programacion en ShellLinux Programacion en Shell
Linux Programacion en Shell
 
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASHCOMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
 
Sql developer. manual de usuario v1.2
Sql developer. manual de usuario v1.2Sql developer. manual de usuario v1.2
Sql developer. manual de usuario v1.2
 
Java desde cero
Java desde ceroJava desde cero
Java desde cero
 
Manual visual basic 6.0
Manual visual basic 6.0Manual visual basic 6.0
Manual visual basic 6.0
 
Manual C++ 3ra parte
Manual C++ 3ra parteManual C++ 3ra parte
Manual C++ 3ra parte
 
Manual C++ 2da Parte
Manual C++ 2da ParteManual C++ 2da Parte
Manual C++ 2da Parte
 
Manual C++ 1era Parte
Manual C++ 1era ParteManual C++ 1era Parte
Manual C++ 1era Parte
 

Último

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfNancyLoaa
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 

Último (20)

Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
Cuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdfCuaderno de trabajo Matemática 3 tercer grado.pdf
Cuaderno de trabajo Matemática 3 tercer grado.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 

Introduccion del Lenguaje C

  • 1. Introducción del lenguaje C En este documento se introducen los elementos principales de la programación en lenguaje C. Se cubre gran parte de las características del lenguaje, así como algunas funciones de las bibliotecas estándares. Marco histórico Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir el código del sistema operativo UNIX. Desde su nacimiento se fue implantando como el lenguaje de programación de sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y Macintosh también utilizaban C, con lo cual la práctica totalidad de aplicaciones de sistema para microordenadores y para sistemas UNIX está escrita en este lenguaje. A mediados de los ochenta el C se convierte en un estándar internacional ISO. Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca de funciones para entrada/salida, tratamiento de textos, matemáticas, etc. A mediados de los ochenta se crea el C++, extensión de C orientada a objetos. El C++ se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C no va a modificarse más. Será el C++ el que incorporará nuevos cambios. Características  Orientado a la programación de sistemas  Es altamente transportable  Es muy flexible  Genera código muy eficiente  Es muy expresivo (se pueden realizar muchas funciones escribiendo pocas líneas de código)  Es muy poco modular  Hace pocas comprobaciones  Da poca disciplina al programador  Es difícil leer código escrito por otras personas Fases de desarrollo de un programa en C El preprocesador Transforma el programa fuente, convirtiéndolo en otro archivo fuente “predigerido”. Las transformaciones incluyen:  Eliminar los comentarios.  Incluir en el fuente el contenido de los ficheros declarados con #include <fichero> (a estos ficheros se les suele llamar cabeceras)  Sustituir en el fuente las macros declaradas con #define (ej. #define CIEN 100) 1
  • 2. El compilador Convierte el fuente entregado por el preprocesador en un archivo en lenguaje máquina: fichero objeto. Algunos compiladores pasan por una fase intermedia en lenguaje ensamblador. El enlazador Un fichero objeto es código máquina, pero no se puede ejecutar, porque le falta código que se encuentra en otros archivos binarios. El enlazador genera el ejecutable binario, a partir del contenido de los ficheros objetos y de las bibliotecas. Las bibliotecas contienen el código de funciones precompiladas, a las que el archivo fuente llama (por ejemplo printf). Ejemplo de programa en C #include <stdio.h> main() { /* Escribe un mensaje */ printf (“Hola, mundon”); } Bibliotecas estándares El lenguaje C es muy simple. Carece de tipos y servicios que forman parte de otros lenguajes. No tiene tipo booleano, ni manejo de cadenas, ni manejo de memoria dinámica. No obstante, el estándar de C define un conjunto de bibliotecas de funciones, que necesariamente vienen con todo entorno de compilación de C y que satisfacen estos servicios elementales. Las interfaces de estos servicios vienen definidas en unos ficheros cabeceras ( header files ). El nombre de estos ficheros suele terminar en .h Algunos de los servicios proporcionados por las bibliotecas estándares son:  entrada y salida de datos (stdio.h)  manejo de cadenas (string.h)  memoria dinámica (stdlib.h)  rutinas matemáticas (math.h) 2
  • 3. Componentes del lenguaje C Sigue el paradigma de la programación estructurada: Algoritmos+estructuras de datos = programas. Estructuras de datos  literales  tipos básicos (todos numéricos)  tipos enumerados  tipos estructurados (struct, union)  punteros y vectores Construcciones algorítmicas  construcciones condicionales (if,switch)  construcciones iterativas(while,for,do...while)  subrutinas (funciones) Además de lo anterior, el C tiene otros elementos:  comentarios  inclusión de ficheros  macros  compilación condicional El preprocesador es quien normalmente se encarga de interpretar estas construcciones. Rangos de valores y tipos modificados Rango de los enteros Una variable entera acepta valores positivos y negativos dentro de un rango determinado, que depende de la plataforma y del compilador (en pecés bajo MS-DOS suele estar entre -32768 y 32767; en Linux son enteros de 32 bits). Existen modificaciones para el tipo int, para alterar el rango de valores sobre el que trabaja: Modificador Significado short entero corto (rango más pequeño) long entero largo (rango más amplio) unsigned entero sin signo (0..N) signed entero con signo (-N-1 .. +N) La palabra int se puede omitir en la declaración de la variable. Los modificadores de tamaño ( short, long) y de signo ( signed, unsigned) se pueden combinar. 3
  • 4. Por omisión, un entero es signed (en la práctica, esta palabra reservada casi nunca se emplea). Ejemplos: unsigned sin_signo; /* entero sin signo */ long saldo_en_cuenta; /* entero largo con signo */ unsigned long telefono; /* entero largo sin signo */ Tipo char El tipo char permite manejar caracteres (letras), aunque se trata de un tipo numérico. Normalmente el rango de valores va de –128 a +127 (signed char), o bien de 0 a 255 (unsigned char). Los literales de tipo carácter se pueden utilizar como números. char caracter; int entero; main() { caracter = 65; // valdría como una ‘A’ entero = ‘A’; // valdría como un 65 } Nombres de variables (identificadores) Un identificador es un nombre que define a una variable, una función o un tipo de datos. Un identificador válido ha de empezar por una letra o por el carácer de subrayado _, seguido de cualquier cantidad de letras, dígitos o subrayados. OJO: Se distinguen mayúsculas de minúsculas. No se pueden utilizar palabras reservadas como int, char o while. Muchos compiladores no permiten letras acentuadas o eñes. Ejemplos válidos: char letra; int Letra; float CHAR; int __variable__; int cantidad_envases; double precio123; int __; 4
  • 5. Expresiones Los datos se manipulan mediante expresiones, que sirven para calcular valores. En C hay varios operadores para construir expresiones. Estos son los operadores elementales sobre números: Operador Significado + suma - resta * producto / división % módulo (resto de la división) Una expresión combina varias operaciones y devuelve un valor. Los operadores *, / y % tienen precedencia sobre la suma y la resta. Se pueden utilizar paréntesis para agrupar subexpresiones. Asignaciones La forma de dar valor a una variable es variable = expresión ; Se le llama asignación. También se puede dar valor a una variable en el mismo momento en que se declara ( inicialización). tipo variable = expresión ; Una variable que se declara sin inicializar contiene un valor indeterminado. 5