You are on page 1of 35

Instituto Tecnolgico Superior de Zacapoaxtla.

Divisin de Ingeniera Mecatrnica

Programacin Bsica

Unidad 3: Introduccin al Lenguaje C

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.1

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Historia
El lenguaje C tuvo sus orgenes en los primeros aos la dcada de los 70's, un programador de nombre Dennis Ritchie de la !"#" $ell% ide& un lenguaje de programaci&n 'ue le permitiese manejar el hard(are como en el Ensamblador ) al mismo tiempo usar programaci&n estructurada como en los lenguajes de alto nivel* +a primera versi&n de C corra sobre m,'uinas -D-.7 ) -D-.// con sistema operativo 0123* -osteriormente reescribi& el propio compilador de C de 0123 en el mismo C, ) a4n m,s tarde el propio 0123 se escribi& en C* Cuando !"#" decidi& ceder a un precio bastante bajo% el sistema operativo a varias universidades, empe5& el auge del lenguaje C* De sta manera cuando las -C's se volvieron comerciales aparecieron varias versiones de compiladores de C de distintas compaas de so6t(are%*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.2

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Historia (cont.)
Dada la situacin anterior en 1983 el Instituto Americano de Estandarizacin (ANSI, American National Standards Institute) decidi estandarizar al C, lo cual se cumpli en 1989 con la ayuda de la Organizacin Internacional de Normalizacin (ISO). En 1998 se defini al estndar C++, que era una evolucin de C hacia la programacin orientada a objetos, desarrollada por Bjarnes Stroutstrup de la misma AT&T Bell.
April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.3

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Caractersticas
C y/o C++ son lenguajes de nivel medio porque poseen caractersticas de programacin estructurada pero con la flexibilidad del Ensamblador. Ejemplos de lenguajes estructurados.
1o estructurados
9:R"R!1 $asic Cobol

!lto 1ivel

!da 7odula.8 -ascal Cobol 9:R"R!1 $asic

1ivel ;ava 7edio C<<

Estructurados
-ascal !da C<< C ;ava

C 9:R"= 7acroensam blador Ensamblador

1ivel $ajo

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.4

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Compiladores C/C++
En la actualidad e>isten varios compiladores de C, encontr,ndose en boga a'uellos 'ue se orientan hacia el desarrollo en entornos gr,6icos* 0nos proponiendo sus propias reglas normas% ) otros respetando el standar, a los 'ue siendo de C 'ue se les suele denominar compiladores de !1?2 C@C<< o m,s recientemente 2?: C@C<<* !lgunos de ellos sonA Relo de 9i6so6t !pple C<< $orland C<< C)g(in 7inBC 7inimalist B10 6or Cindo(s% 7icroso6t Disual CE@C<< E>press Edition ) -ro6essional Edition%
April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.5

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Comparativa de IDE's
ANSI C TPICO WXDEVCPP

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.6

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Secciones de un programa bsico


#include <iostream(.h)> ?e re6iere a la biblioteca de 6unciones a utili5arse en el programa, por lo 'ue la lista podra ser m,s amplia* ?e aplica usando la siguiente sinta>isA Einclude FlibreraGsolicitadaH using namespace std; a'u se indica el espacio de nombres a usarse est,ndar en este caso%, aplicable en la programaci&n orientada a objetos* int main(int argc, char *argv[]) int main() en particular supone el programa principal 'ue va a devolver un argumento entero de error o de no error%, los parntesis indican los par,metros ) argumentos 'ue va a recibir la 6unci&n principal, cuando no se indica nada entre los parntesis se indica 'ue la 6unci&n no los re'uerir,* argc es un n4mero 'ue describe la cantidad de argumentos de la 6unci&n principal, argv[] representa un arreglo de punteros en una cantidad de argc elementos, donde el elemento argvIiJ representa el i.simo argumento entregado al programa* cout<<Hola mundo<<endl; cout es una instruccio&n de6inida en la biblioteca de 6unciones iostream, permite enviar te>tos o datos de salida a la consola de ejecuci&n del programa coutK salida de C%* 1ote las comillas 'ue sirven para indicar una cadena de te>to* endl indica 'ue es el 6inal de la lnea de salida ) 'ue se debe saltar a la siguiente lnea* 1ote el punto ) coma al 6inal, toda instrucci&n termina en un punto ) coma*
April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.7

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Secciones de un programa bsico


s stem (!pause); es una 6unci&n especial de este compilador, 'ue permite hacer una pausa en la ejecuci&n del programa, en general nos permite apreciar la salida del proceso* return "#$%&'())"''; e'uivale al return *; de otros compiladores 'ue indica la devoluci&n del argumento entero indicado en main, el E32"G?0CCE?? o 0 indica 'ue se ha completado el proceso sin errores*
April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.8

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Variables
En la unidad 8 hablamos de variables ) tipos de variables, en C<< es importante el uso e6iciente de las variables dado 'ue la creaci&n de una de ellas signi6ica el uso de la memoria disponible en la -C* Crear demasiadas variables puede saturar la memoria ) obtener un 6uncionamiento lento del proceso* !'u en ve5 de tipos de variables hablaremos de tipos de datos, los cuales, seg4n veremos, son varios* -ara declarar una varia+le se sigue la siguiente sinta>is tipoGdato nombreGvariable IKvalorJL En la anterior declaraci&n los corchetes indican una parte opcional de la declaraci&n* "rate de e>plicar 'ue se hace en el c&digo de la derecha*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.9

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Variables (cont.)
"al como se haba mencionado, los nombres de las variables pueden estar 6ormados por combinaciones de letras ) n4meros, permitindose incluir s&lo al smbolo especial gui&n bajo G%* Recuerde 'ue se distinguen min4sculas de ma)4sculas* -or otro lado e>isten ciertas palabras 'ue en el argot de la programaci&n se les llama reservadas, dado 'ue el lenguaje se las reserva para su propio uso, por sta ra5&n dichas palabras no pueden usarse como nombres de variables*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.10

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Variables
+as variables se pueden clasi6icar en variables globales ) locales* +as variables globales son a'uellas 'ue se declaran antes de la 6unci&n principal main ) por lo tanto tienen valide5 a lo largo de toda la ejecuci&n del programa* +as variables locales se declaran dentro de las 6unciones ) por lo tanto s&lo tienen valide5 dentro de la 6unci&n donde 6ueron declaradas*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.11

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Constantes
En ocasiones ser, necesario declarar constantesA const tipoGdato nombreGcteKvalorL

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.12

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Tipos de Datos
C<< cuenta con distintos tipos de datos at&micos, llamados de esa manera, por'ue a partir de ellos de pueden crear otros, algo 'ue se reali5a cuando se utili5a la 6iloso6a de la programaci&n orientada a objetos* Cada uno abarca distintos rangos de valores, ) por lo tanto, de distinto tamao en memoria*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.13

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Tipos de datos (tabla)

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.14

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Tipos de datos (Prog de mx-mn)

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.15

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Tipos de Datos (cont)


C@C<< tambin permite el uso de datos en 6ormato octal ) he>adecimalA int variable/K088L int variable8K0>/8L "ambin se pueden cargar n4meros en 6ormato e>ponencialA 6loat variableMK8e.N OPu se har, en la siguiente instrucci&nQ char nombreK'R'L OS c&mo se declara una constante de tipo char 'ue llevar, el smbolo numeral E%Q E>pli'ue c&mo se almacena el caracter en la variable*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.16

Tipos de datos: secuencias de escape en cadenas de caracteres.


E>isten secuencias de escape llamados tambin caracteres de control*

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Cual'uier caracter se puede representar con el smbolo TUV seguido del propio caracter o de su respectivo c&digo octal o he>adecimalA +as comillas dobles podran serA 'UV', o 'U0W8', o 'U>88'

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.17

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Operadores bsicos
7ostramos a continuaci&n los operadores b,sicos 'ue como bien sabemos respetan la jerar'ua de operaciones*
,perador
< . X @ Y

'igni-icado
suma resta producto divisi&n m&dulo

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.18

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Operaciones con caracteres

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.19

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Modificadores de operadores

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.20

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Operadores de Desplazamiento
En trminos de bits el despla5amiento signi6ica el traslado a i5'uierda o derecha% de los bits contenidos en memoria*

El despla5amiento a derecha numricamente binariamente hablando% signi6ica una divisi&n entre dos* Caso opuesto de un despla5amiento a la i5'uierda* :peradores de despla5amiento* FF HH Despla5amiento a la i5'uierda Despla5amiento a la derecha

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.21

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Operadores de Desplazamiento

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.22

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Operadores relacionales
Son operadores binarios que permiten comparar valores o expresiones.
,perador 'igni-icado

< <. > >. .. /.

7enor 'ue 7enor o igual 'ue 7a)or 'ue 7a)or o igual 'ue 2gual a Di6erente de

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.23

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Operadores lgicos
De $its
,perador
0 2 4

De e>presiones
'igni-icado
1nd ,r "3clusiva ,r $nclusiva

,perador
00 44

'igni-icado
1nd l5gica ,r l5gica

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.24

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Precedencia de Operaciones

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.25

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Precedencia de Operaciones (cont.)

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.26

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos


+as instrucciones cin ) cout utili5adas 6orman parte de la biblioteca de 6unciones iostream*h ) signi6ican los 6lujos de entrada ) salida est,ndar de datos* E>iste una instrucci&n m,sA cerr, 'ue es el 6lujo de error est,ndar asociado a pantalla consola%* +os operadores FF ) HH son de inserci&n ) de e>tracci&n de datos* +a instrucci&n cout no re'uiere conocer el tipo de dato de lo 'ue se va a desplegar, pero lo presenta en 6unci&n de c&mo se ha introducido*
Diap.27

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos (cont.)


El 6ormateo de cout

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.28

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos (cont.)


+os usos de cin

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.29

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos: Modificadores de formato

Se le llama cast al hecho de impedir que se pierdan las caractersticas del tipo de datos de destino.

Tambin existen los manipuladores de flujo que permiten mostrar las salidas numricas en sus equivalentes decimal, octal y hexadecimal, los cuales funcionan con entrada y salida de datos. April 13, 2014 Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.30

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos: Modificadores de formato (cont.)

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.31

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos: Modificadores de formato (cont.)

En cuanto a la presici&n, los datos 6lotantes utili5an hasta seis decimales despus del punto redondeando el 4ltimo* -ara indicar una presici&n espec6ica deberemos cargar la biblioteca iomanip, 'ue contiene al manipulador setpresicion()* "ambin se inclu)e a la 6unci&n miembro presicion()*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.32

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos: Modificadores de formato (cont.)

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.33

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Entrada y salida bsica de datos: Algunas funciones estticas

-ara mejorar el aspecto de nuestros programas podemos echar mano de algunas 6unciones como sonA set6 'ue se encarga de hacer aparecer el te>to alineado determinados espacios a la derecha, si el n4mero de espacios solicitados para su alineaci&n es menor 'ue el n4mero de caracteres 'ue se imprimir,n, no tendr, un e6ecto* set-ill se ocupa del caracter de relleno, el caracter por de6ecto es el espacio en blanco, pero nosotros podemos especi6icar el 'ue 'ueramos*

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.34

Instituto Tecnolgico Superior de Zacapoaxtla. Divisin de Ingeniera Mecatrnica

Ejemplo de funciones de rellenado de texto

April 13, 2014

Unidad 3: Introduccin al Lenguaje C. Por: Lic. Edgar Hern ndez Garca

Diap.35

You might also like