SlideShare una empresa de Scribd logo
1 de 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];

Más contenido relacionado

La actualidad más candente

Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacionJose Marroquin
 
Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoAbrirllave
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programaciónnormaroldano
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantesIEO Santo Tomás
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1Evelin Claudia
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2Humano Terricola
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacionyamy matin
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y ConstantesYenny Salazar
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpujomapuga
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantesCarlos Pes
 
Poliformismo
PoliformismoPoliformismo
PoliformismoSa_Van
 

La actualidad más candente (20)

Introduccion a la programacion
Introduccion a la programacionIntroduccion a la programacion
Introduccion a la programacion
 
Estructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigoEstructura de un algoritmo en pseudocódigo
Estructura de un algoritmo en pseudocódigo
 
Identificadores en Lógia de Programación
Identificadores en Lógia de ProgramaciónIdentificadores en Lógia de Programación
Identificadores en Lógia de Programación
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Lenguaje c
Lenguaje c Lenguaje c
Lenguaje c
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantes
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1
 
Generación código intermedio 2
Generación código intermedio 2Generación código intermedio 2
Generación código intermedio 2
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Librerias de C++
Librerias de C++Librerias de C++
Librerias de C++
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Poliformismo
PoliformismoPoliformismo
Poliformismo
 
Ensamblador y lenguaje c
Ensamblador y lenguaje cEnsamblador y lenguaje c
Ensamblador y lenguaje c
 

Destacado

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
 

Destacado (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
 

Similar a 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
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cZalimanunezc
 

Similar a 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
 
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
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje c
 

Último

tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
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
 
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
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
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
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
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
 
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
 
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
 

Último (20)

tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
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
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
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
 
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
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
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
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
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ú
 
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
 

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