SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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++
 

Andere mochten auch

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
 

Andere mochten auch (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++
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Kürzlich hochgeladen

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.docRodneyFrankCUADROSMI
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdfMiguelHuaman31
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSYadi Campos
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
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
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 

Kürzlich hochgeladen (20)

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
2024 KIT DE HABILIDADES SOCIOEMOCIONALES.pdf
 
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VSSEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
SEPTIMO SEGUNDO PERIODO EMPRENDIMIENTO VS
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
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
 
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
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 

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