SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Introducción al Lenguaje C (ANSI) Computación para Ingenieros Lab. de Computación para Ingenieros Semestre 2006-1
Historia del Lenguaje C Fue inventado por Dennis Ritchie en un DEC-PDP-11 en los Laboratorios BELL, basándose en el lenguaje B, creado por Ken Thompson. En 1983 el Instituto de Estándares Americanos estableció un estándar que definiera al lenguaje C, conocido como ANSI C. Los principales compiladores de C llevan implementado el estándar ANSI C.
Características del Lenguaje C Se cataloga como un lenguaje de nivel medio, puesto que combina elementos de lenguajes de alto nivel (Fortran, Pascal, Basic, etc.) con la funcionalidad del lenguaje ensamblador. Permite el manejo de bits, bytes y direcciones de memoria. Posee sólo 32 palabras clave, definidas por el comité ANSI.
32 Palabras Reservadas
Elementos de un Programa Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. Macros del pre-procesador.
Comentarios Comentarios multi-línea Comienzan con /* y terminan con */ No puede anidarse un comentario dentro de otro. Comentarios de una sola línea (C++, Java, Delphi). Comienzan al principio de la línea con // Ejemplo: //Esto es un comentario 		/* Esto también es 			un  comentario */
Identificadores Se utilizan para nombrarvariables, funciones, etiquetas y elementos definidos por el usuario. Los primeros seis caracteres deben ser significativos (distinguirse de otro similar) y máximo puede tener hasta 31 caracteres. El primer carácter debe de ser una letra o subguión.  Posteriormente pueden ser letras, números, signos de subrayado. Existe diferencia entre mayúsculas y minúsculas.
Identificadores ,[object Object]
No pueden emplearse nombres de funciones que ya existan en el programa o en la librería de funciones de C.
No puede llamarse main.,[object Object]
Constantes Constantes de carácter. Ej. ‘a’, ‘0’, ‘x5’, ‘’, ‘’, ‘’, ‘$’, ’’, NULL Constantes enteras. Ej. 5, +5, -5, 5, x5, 5L, 5U, 5lu, etc. Constantes reales. Ej. 0.5f, 0.5, 5e-01f, 5.0e-01, (float)5, etc.  Constantes de texto (Cadenas o “Strings”) “Esto es una cadena…”
#define Se utiliza para asignar un identificador a una constante. #define  PI  3.1416 #define  NCOLS  20 El pre-procesador de C, sustituye la ocurrencia de PI por el valor 3.1416 en todo el programa antes de efectuar la compilación, del mismo modo se sustituye NCOLS por 2.
Variables Una variable es una localidad de memoria cuyo valor puede ser cambiado durante la ejecución del programa. Todas las variables deben de ser declaradas para se utilizadas. <tipo de dato> espacio(s) <identificador>; Ejemplo: int a; float area, radio, volumen;
const Es un modificador de acceso que me permite asignar a una variable un valor constante, es decir que una vez asignado a dicha variable su valor no podrá ser modificado durante el programa. const <tipo dato> esp <identificador> = valor; Ejemplo: constinta=10; constcharpais[]=“MÉXICO”; constchar *nombre=“VLADIMIR”;
volatile Es un modificador de acceso que me permite cambiar el valor de una variable por medios no explícitamente especificados por el programa.  Por ejemplo la dirección de una variable global que apunta a un puerto externo. volatile <tipo dato> esp <identificador> = valor; Ejemplo: volatileunsigned char *puerto = 0x30;
Operadores Son palabras o símbolos que implican una acción sobre ciertas variables.  Pueden ser unarios (1 variable), binarios(2 variables) o ternarios (3 variables). Operadores Aritméticos Operadores Relacionales Operadores Lógicos Operadores de Asignación Operadores de Dirección Operadores de Bits
Operadores Aritméticos
Operadores Relacionales
Operadores Lógicos ,[object Object],FALSO es igual a cero. VERDADERO es diferente de cero.
Operadores de Asignación
Operadores de Bits
Operadores de Asignaciónpara bits Nota:      0x7f, 0x0a, 0x03 son un números hexadecimales.
Operadores De Dirección
Variables Apuntador Sirven para almacenar una dirección de memoria. Utilizan el operador & para obtener la dirección. Se deben inicializar con NULL (equivale a cero). Se declaran como: <tipo de dato><*> espacio(s) <identificador>; Ejemplo: int *a=NULL; int b=2,c=1; a=&b;  /*Guarda la direc. de b en a */ c=*a;  /*c vale 2 */
Precedencia de Operadores
Sentencias (Instrucciones) Una sentencia es una instrucción o expresión en C que tiene una consecuencia.  Pueden ser asignaciones, operaciones, llamadas a funciones. Todas las sentencias terminan con el signo de punto y coma ; Pueden ser simples o compuestas.  Las compuestas van entre llaves: {     sentencia1;     sentencia2;     :     sentencian;  }
Sentencias (Instrucciones) Sentencias de Selección. if – else, switch – case, ?: Sentencias de Repetición. do – while, while, for Sentencias de Salto.  return, break, continue.
Estructura de un programa en C
Ejemplo #include <stdio.h> #include <math.h> #define VALOR 5.7 double modulo3D( double x, double y, double z ); double mod3; /* Variable global */ double modulo3D( double x, double y, double z ){   return(sqrt(x*x+y*y+z*z); } int main( void ){   int x, y, z;   x=y=z=VALOR;   mod3=modulo3D(x,y,z);   printf(“El módulo es: %lf”,mod3);   return(0); }
if-else Nota:una expresión en C es todo aquello que regresa un valor.  Como por ejemplo una condición lógica,  operaciones aritméticas, llamadas a funciones, una variable, una constante (númérica, carácter, etc.).
Operador Condicional ?:
switch-case switch(expresión)  {     case 1:  sentencias;                 break;     case 2:  sentencias;                 break;      :     case n:  sentencias;                  break;     default: sentencias_default;                  break;  }
Arreglos Unidimensionales Los arreglos unidimensionales son secuencias de valores del mismo tipo que se almacenan en localidades contiguas de memoria, según el orden del índice. <tipo dato>esp <identificador>[tamaño]; Ejemplo: intvalores[10]; float datos[5]={1.3,2.8,4.89,0.0,5.7}; charpais[]=“MÉXICO”; char *nombre=“VLADIMIR”;
Arreglos Unidimensionales Un arreglo se identifica por su nombre, pero para el compilador este equivale a la dirección del primer elemento del arreglo, es decir: Ejemplo: intnum[50]; Para el compilador: numes igual a  &num[0] /* La dirección del elemento 0 */
Arreglos Unidimensionales Los índices son necesarios para desplazarse a través del arreglo.  El primer elemento tiene el índice cero y el último el índice (tamaño-1). Se deben utilizar variables enteras y para agilizar el acceso a memoria se pueden declarar con el modificador register. Ejemplo: int register i, j, k;
Arreglos Unidimensionales Para guardar o leer los elemento en un arreglo es muy frecuente utilizar la sentencia for. Ejemplo: int register i; int num[50]; /* Asigno al arreglo valores del 0 al    500 */ for (i=0; i<50; i++) num[i]=i*10;
Arreglos Unidimensionales Para introducir los elemento en un arreglo con la función scanf se recomienda utilizar una variable auxiliar dentro de un ciclo for. Ejemplo: int register i; double datos[100]; doubletemp; for (i=0; i<100; i++)  {    scanf(“%lf”,&temp);    fflush(stdin); /* stdin=entrada estándar */    num[i]= temp;  }
Arreglos Unidimensionales Un arreglo puede tener N dimensiones, dependiendo de las limitaciones de la memoria y su declaración es la siguiente: <tipo dato>esp<identificador>[dim1] [dim2]…[dimN]; Ejemplo: double cubo[3][3][3];

Weitere ähnliche Inhalte

Was ist angesagt?

Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionalesAndreina Trejo
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Natalia Alejandra
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigomatteo_ibarguen
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseintDon Augusto
 
Mapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CMapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CCésar Ojeda
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++Jhon TRUJILLO
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaRolf Pinto
 
Mapa Mental de Java
Mapa Mental de JavaMapa Mental de Java
Mapa Mental de JavaMario578
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...Hugo Alberto Rivera Diaz
 
Diseño de Algoritmos
Diseño de AlgoritmosDiseño de Algoritmos
Diseño de AlgoritmosLuisDiaz863
 

Was ist angesagt? (20)

Estructuras condicionales
Estructuras condicionalesEstructuras condicionales
Estructuras condicionales
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Programacion Orientada a Objetos
Programacion Orientada a ObjetosProgramacion Orientada a Objetos
Programacion Orientada a Objetos
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
 
Introducción a la Programación en Visual C# (C Sharp)
Introducción a la Programación en Visual C# (C Sharp)Introducción a la Programación en Visual C# (C Sharp)
Introducción a la Programación en Visual C# (C Sharp)
 
Algoritmos y pseudocodigo
Algoritmos y pseudocodigoAlgoritmos y pseudocodigo
Algoritmos y pseudocodigo
 
Arreglos o dimensiones en pseint
Arreglos o dimensiones en pseintArreglos o dimensiones en pseint
Arreglos o dimensiones en pseint
 
Mapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje CMapa Conceptual del Lenguaje C
Mapa Conceptual del Lenguaje C
 
P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Ejercicios resueltos de c++
Ejercicios resueltos de c++Ejercicios resueltos de c++
Ejercicios resueltos de c++
 
Taller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 ConectividadTaller de Base de Datos - Unidad 7 Conectividad
Taller de Base de Datos - Unidad 7 Conectividad
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Windows.forms.ejercicios
Windows.forms.ejerciciosWindows.forms.ejercicios
Windows.forms.ejercicios
 
Algoritmos secuenciales resueldos
Algoritmos  secuenciales resueldosAlgoritmos  secuenciales resueldos
Algoritmos secuenciales resueldos
 
Mapa Mental de Java
Mapa Mental de JavaMapa Mental de Java
Mapa Mental de Java
 
Herramientas case full informacion
Herramientas case full informacionHerramientas case full informacion
Herramientas case full informacion
 
Ejercicios
EjerciciosEjercicios
Ejercicios
 
Sintaxis del lenguaje c++
Sintaxis del lenguaje c++Sintaxis del lenguaje c++
Sintaxis del lenguaje c++
 
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...Conceptos Unidad 1 Lenguajes Automatas Introducción  a  la Teoría de Lenguaje...
Conceptos Unidad 1 Lenguajes Automatas Introducción a la Teoría de Lenguaje...
 
Diseño de Algoritmos
Diseño de AlgoritmosDiseño de Algoritmos
Diseño de Algoritmos
 

Andere mochten auch

Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivastacubomx
 
Operadores y Expresiones en C++
Operadores y Expresiones en C++Operadores y Expresiones en C++
Operadores y Expresiones en C++die_dex
 
Diapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladysDiapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladysgladys
 
Historia de lenguaje c
Historia de lenguaje cHistoria de lenguaje c
Historia de lenguaje cines1307
 
Operadores C++
Operadores C++Operadores C++
Operadores C++dvd2899
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje carea21
 
Presentación de C++
Presentación de C++Presentación de C++
Presentación de C++Sylvert
 
PROGRAMACIÓN BÁSICA EN C++
PROGRAMACIÓN BÁSICA EN C++PROGRAMACIÓN BÁSICA EN C++
PROGRAMACIÓN BÁSICA EN C++Jose Luis Cabrera
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje cMaylin25
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1Denisse C
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programaciónKarenNaranjoH
 
Lenguaje Cinematografico
Lenguaje CinematograficoLenguaje Cinematografico
Lenguaje CinematograficoMarinale
 

Andere mochten auch (20)

Presentacion de c++
Presentacion de c++Presentacion de c++
Presentacion de c++
 
Lenguaje c++
Lenguaje c++Lenguaje c++
Lenguaje c++
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
Introduccion del Lenguaje C
Introduccion del Lenguaje CIntroduccion del Lenguaje C
Introduccion del Lenguaje C
 
Operadores y Expresiones en C++
Operadores y Expresiones en C++Operadores y Expresiones en C++
Operadores y Expresiones en C++
 
Lenguaje de-programacion-c++
Lenguaje de-programacion-c++Lenguaje de-programacion-c++
Lenguaje de-programacion-c++
 
Diapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladysDiapositivas lenguaje de programación gladys
Diapositivas lenguaje de programación gladys
 
Historia de lenguaje c
Historia de lenguaje cHistoria de lenguaje c
Historia de lenguaje c
 
Operadores C++
Operadores C++Operadores C++
Operadores C++
 
Ola k ase
Ola k aseOla k ase
Ola k ase
 
c++
c++c++
c++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Presentación de C++
Presentación de C++Presentación de C++
Presentación de C++
 
PROGRAMACIÓN BÁSICA EN C++
PROGRAMACIÓN BÁSICA EN C++PROGRAMACIÓN BÁSICA EN C++
PROGRAMACIÓN BÁSICA EN C++
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
Variables y valores
Variables y valoresVariables y valores
Variables y valores
 
Lenguaje c 1
Lenguaje c   1Lenguaje c   1
Lenguaje c 1
 
Variables de-programación
Variables de-programaciónVariables de-programación
Variables de-programación
 
Lenguaje Cinematografico
Lenguaje CinematograficoLenguaje Cinematografico
Lenguaje Cinematografico
 
Estructura Del áTomo
Estructura Del áTomoEstructura Del áTomo
Estructura Del áTomo
 

Ähnlich wie Introducción al Lenguaje C (ANSI

Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1joeshego
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_ckikeMerck
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Jennybeatriz1
 
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
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacionrotflol
 
Lenguajec intorduccionui
Lenguajec intorduccionuiLenguajec intorduccionui
Lenguajec intorduccionui3dwin3
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacionYsaac Ruiz
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacionthaynasantos1997
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuelaroyimar
 

Ähnlich wie Introducción al Lenguaje C (ANSI (20)

Lenguajec 1
Lenguajec 1Lenguajec 1
Lenguajec 1
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_c
 
Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_Curso lenguaje c_segundo_modulo_
Curso lenguaje c_segundo_modulo_
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
Introducción
IntroducciónIntroducción
Introducción
 
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
 
Elementos basicos de programacion
Elementos basicos de programacionElementos basicos de programacion
Elementos basicos de programacion
 
Introduccion c
Introduccion cIntroduccion c
Introduccion c
 
Lenguaje c
Lenguaje c Lenguaje c
Lenguaje c
 
Lenguajec intorduccionui
Lenguajec intorduccionuiLenguajec intorduccionui
Lenguajec intorduccionui
 
Practica
PracticaPractica
Practica
 
presentacion
presentacionpresentacion
presentacion
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
IntroLenguajeC.ppt
IntroLenguajeC.pptIntroLenguajeC.ppt
IntroLenguajeC.ppt
 
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
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
 
Webcd
WebcdWebcd
Webcd
 

Kürzlich hochgeladen

_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nóminacuellosameidy
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxCarolina Bujaico
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 

Kürzlich hochgeladen (20)

_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
Nomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de NóminaNomisam: Base de Datos para Gestión de Nómina
Nomisam: Base de Datos para Gestión de Nómina
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
Clasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptxClasificación de Conjuntos de Datos Desequilibrados.pptx
Clasificación de Conjuntos de Datos Desequilibrados.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 

Introducción al Lenguaje C (ANSI

  • 1. Introducción al Lenguaje C (ANSI) Computación para Ingenieros Lab. de Computación para Ingenieros Semestre 2006-1
  • 2. Historia del Lenguaje C Fue inventado por Dennis Ritchie en un DEC-PDP-11 en los Laboratorios BELL, basándose en el lenguaje B, creado por Ken Thompson. En 1983 el Instituto de Estándares Americanos estableció un estándar que definiera al lenguaje C, conocido como ANSI C. Los principales compiladores de C llevan implementado el estándar ANSI C.
  • 3. Características del Lenguaje C Se cataloga como un lenguaje de nivel medio, puesto que combina elementos de lenguajes de alto nivel (Fortran, Pascal, Basic, etc.) con la funcionalidad del lenguaje ensamblador. Permite el manejo de bits, bytes y direcciones de memoria. Posee sólo 32 palabras clave, definidas por el comité ANSI.
  • 5. Elementos de un Programa Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. Macros del pre-procesador.
  • 6. Comentarios Comentarios multi-línea Comienzan con /* y terminan con */ No puede anidarse un comentario dentro de otro. Comentarios de una sola línea (C++, Java, Delphi). Comienzan al principio de la línea con // Ejemplo: //Esto es un comentario /* Esto también es un comentario */
  • 7. Identificadores Se utilizan para nombrarvariables, funciones, etiquetas y elementos definidos por el usuario. Los primeros seis caracteres deben ser significativos (distinguirse de otro similar) y máximo puede tener hasta 31 caracteres. El primer carácter debe de ser una letra o subguión. Posteriormente pueden ser letras, números, signos de subrayado. Existe diferencia entre mayúsculas y minúsculas.
  • 8.
  • 9. No pueden emplearse nombres de funciones que ya existan en el programa o en la librería de funciones de C.
  • 10.
  • 11. Constantes Constantes de carácter. Ej. ‘a’, ‘0’, ‘x5’, ‘’, ‘’, ‘’, ‘$’, ’’, NULL Constantes enteras. Ej. 5, +5, -5, 5, x5, 5L, 5U, 5lu, etc. Constantes reales. Ej. 0.5f, 0.5, 5e-01f, 5.0e-01, (float)5, etc. Constantes de texto (Cadenas o “Strings”) “Esto es una cadena…”
  • 12. #define Se utiliza para asignar un identificador a una constante. #define PI 3.1416 #define NCOLS 20 El pre-procesador de C, sustituye la ocurrencia de PI por el valor 3.1416 en todo el programa antes de efectuar la compilación, del mismo modo se sustituye NCOLS por 2.
  • 13. Variables Una variable es una localidad de memoria cuyo valor puede ser cambiado durante la ejecución del programa. Todas las variables deben de ser declaradas para se utilizadas. <tipo de dato> espacio(s) <identificador>; Ejemplo: int a; float area, radio, volumen;
  • 14. const Es un modificador de acceso que me permite asignar a una variable un valor constante, es decir que una vez asignado a dicha variable su valor no podrá ser modificado durante el programa. const <tipo dato> esp <identificador> = valor; Ejemplo: constinta=10; constcharpais[]=“MÉXICO”; constchar *nombre=“VLADIMIR”;
  • 15. volatile Es un modificador de acceso que me permite cambiar el valor de una variable por medios no explícitamente especificados por el programa. Por ejemplo la dirección de una variable global que apunta a un puerto externo. volatile <tipo dato> esp <identificador> = valor; Ejemplo: volatileunsigned char *puerto = 0x30;
  • 16. Operadores Son palabras o símbolos que implican una acción sobre ciertas variables. Pueden ser unarios (1 variable), binarios(2 variables) o ternarios (3 variables). Operadores Aritméticos Operadores Relacionales Operadores Lógicos Operadores de Asignación Operadores de Dirección Operadores de Bits
  • 19.
  • 22. Operadores de Asignaciónpara bits Nota: 0x7f, 0x0a, 0x03 son un números hexadecimales.
  • 24. Variables Apuntador Sirven para almacenar una dirección de memoria. Utilizan el operador & para obtener la dirección. Se deben inicializar con NULL (equivale a cero). Se declaran como: <tipo de dato><*> espacio(s) <identificador>; Ejemplo: int *a=NULL; int b=2,c=1; a=&b; /*Guarda la direc. de b en a */ c=*a; /*c vale 2 */
  • 26. Sentencias (Instrucciones) Una sentencia es una instrucción o expresión en C que tiene una consecuencia. Pueden ser asignaciones, operaciones, llamadas a funciones. Todas las sentencias terminan con el signo de punto y coma ; Pueden ser simples o compuestas. Las compuestas van entre llaves: { sentencia1; sentencia2; : sentencian; }
  • 27. Sentencias (Instrucciones) Sentencias de Selección. if – else, switch – case, ?: Sentencias de Repetición. do – while, while, for Sentencias de Salto. return, break, continue.
  • 28. Estructura de un programa en C
  • 29. Ejemplo #include <stdio.h> #include <math.h> #define VALOR 5.7 double modulo3D( double x, double y, double z ); double mod3; /* Variable global */ double modulo3D( double x, double y, double z ){ return(sqrt(x*x+y*y+z*z); } int main( void ){ int x, y, z; x=y=z=VALOR; mod3=modulo3D(x,y,z); printf(“El módulo es: %lf”,mod3); return(0); }
  • 30. if-else Nota:una expresión en C es todo aquello que regresa un valor. Como por ejemplo una condición lógica, operaciones aritméticas, llamadas a funciones, una variable, una constante (númérica, carácter, etc.).
  • 32. switch-case switch(expresión) { case 1: sentencias; break; case 2: sentencias; break; : case n: sentencias; break; default: sentencias_default; break; }
  • 33. Arreglos Unidimensionales Los arreglos unidimensionales son secuencias de valores del mismo tipo que se almacenan en localidades contiguas de memoria, según el orden del índice. <tipo dato>esp <identificador>[tamaño]; Ejemplo: intvalores[10]; float datos[5]={1.3,2.8,4.89,0.0,5.7}; charpais[]=“MÉXICO”; char *nombre=“VLADIMIR”;
  • 34. Arreglos Unidimensionales Un arreglo se identifica por su nombre, pero para el compilador este equivale a la dirección del primer elemento del arreglo, es decir: Ejemplo: intnum[50]; Para el compilador: numes igual a &num[0] /* La dirección del elemento 0 */
  • 35. Arreglos Unidimensionales Los índices son necesarios para desplazarse a través del arreglo. El primer elemento tiene el índice cero y el último el índice (tamaño-1). Se deben utilizar variables enteras y para agilizar el acceso a memoria se pueden declarar con el modificador register. Ejemplo: int register i, j, k;
  • 36. Arreglos Unidimensionales Para guardar o leer los elemento en un arreglo es muy frecuente utilizar la sentencia for. Ejemplo: int register i; int num[50]; /* Asigno al arreglo valores del 0 al 500 */ for (i=0; i<50; i++) num[i]=i*10;
  • 37. Arreglos Unidimensionales Para introducir los elemento en un arreglo con la función scanf se recomienda utilizar una variable auxiliar dentro de un ciclo for. Ejemplo: int register i; double datos[100]; doubletemp; for (i=0; i<100; i++) { scanf(“%lf”,&temp); fflush(stdin); /* stdin=entrada estándar */ num[i]= temp; }
  • 38. Arreglos Unidimensionales Un arreglo puede tener N dimensiones, dependiendo de las limitaciones de la memoria y su declaración es la siguiente: <tipo dato>esp<identificador>[dim1] [dim2]…[dimN]; Ejemplo: double cubo[3][3][3];
  • 39. Arreglos de Caracteres Una cadena o “String” se manipula en lenguaje C, mediante arreglos de caracteres. Los arreglos de caracteres terminan con el carácter nulo ‘’ que en realidad es el valor cero. La única diferencia con los arreglos numéricos es que se requiere un carácter adicional para indicar cuando el final del arreglo. Ejemplo: char nombre[31]; /* Uso sólo 30 */