introducion al lenguaje c

Upload: wellington-basilio

Post on 12-Feb-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 introducion al lenguaje c

    1/40

    LOGO

    UNIVERSIDAD ESTATALPENNSULA DE SANTA ELENA

    UPSE

    Lenguaje Estructurado C y C++

    Docente:

    Ing. Alexis Rocha H., M!IIngeniero en "iste#as Co#$utacionalesMag%ster en erencia de !ecnolog%as de la In&or#aci'n

    E#ail: arocha(u$se.edu.ec

    ale&roch))(hot#ail.co#

    La Li*ertad, "anta Elena, Ecuador

    gramacin Avanzada (Lenguaj

    mailto:[email protected]:[email protected]:[email protected]:[email protected]
  • 7/23/2019 introducion al lenguaje c

    2/40

    Ealuaci'n de la Materia

    Ealuaci'n:

    i*liogra&%a Reco#endada: JOYANES AGUILAR Luis, FERNANDEZ Matilde, SANCHEZ Lucas, ESTRUCTURA DE

    DATOS EN C, 1ea! Edici"# e# Es$a%&l, Ed! McGa' Hill(I#tea)eica#a de Es$a%a,*++!

    JOYANES AGUILAR Luis, ZAHONERO Mat-#e., /ROGRAMACION EN C, *da!Edici"#, Ed! McGa' Hill(I#tea)eica#a de Es$a%a, *++!

    GRANIZO E0eli&, LENGUAJE C, 1ea! Edici"#, Ed! ES/E 2uit&, *++1!

    GRANIZO E0eli&, /ROGRAMACION ORIENTADA A O3JETOS EN C *da! Edici"#,Ed! ES/E 2uit&, 1445! CE3ALLOS Ja0ie, /ROGRAMACION ORIENTADA A O3JETOS *da! Edici"#, Ed!

    RA6MA, 1447! 8ERNIGHAN 39a#, RITCHIE De##is, LENGUAJE DE /ROGRAMACION C, *da!

    Edici"#, Ed! /eas Educati, 1441!

    Exmenes Lecciones Deberes Participacinen Clase

    Proyecto Talleres

    50% 20% 10% 10% 10%

  • 7/23/2019 introducion al lenguaje c

    3/40

    -*jetios enerales del Curso

    U#a 0e. te)i#ad& el $&ces& de a$e#di.a:e, elestudia#te se; ca$a. de;sic&s del le#?ua:e

    C!Desa&lla al?&it)&s de )edia#a 9 ?a# c&)$le:idad,

    utili.a#d& l&s $i#ci$i&s 9 =u#da)e#t&s de la$&?a)aci"# estuctuada!

    E)$lea estuctuas de ct&l de selecci"# 9 >ucles e#el le#?ua:e de $&?a)aci"# C, @acie#d& us& de l&s

    di0es&s )t&d&s 9 tc#icas!Res&l0e $&?a)as de )edia#a c&)$le:idad e)$lea#d&estuctuas est;ticas de ae?l&s e# C!

  • 7/23/2019 introducion al lenguaje c

    4/40

  • 7/23/2019 introducion al lenguaje c

    5/40

    nidad / 0 Introducci'n a C

    C-1!E1ID-"1!1! Estuctua Ge#eal de u# /&?a)a e# C!1!*! Ti$&s de Dat&s!1!B! Csta#tes 9 aia>les!1!! E#tada(Salida de dat&s!1!! O$ead&es 9 E$esies!1!! E:ecici&s de A$licaci"#!

    1!5! E0aluaci"# de la U#idad!

  • 7/23/2019 introducion al lenguaje c

    6/40

    n $oco de historia2

    El Le#?ua:e C, =ue dise%ad& $& De##is Ritc@ie e# 145+, e# l&s

    La>&at&i&s 3ELL de Estad&s U#id&s! Este le#?ua:e $ese#tacaacte-sticas, c&)& s las si?uie#tes< Le#?ua:e de $&?a)aci"# de $&$"sit&s ?e#eales! /e)ite la /&?a)aci"# Estuctuada! A>u#da#cia de O$ead&es 9 Ti$&s de Dat&s! N& est; as&ciad& a #i#?# siste)a &$eati0& #i a #i#?u#a

    );ui#a! /&$ula 9 E=ica.! /e)ite el desa&ll& de Siste)as O$eati0&s 9 $&?a)as

    de a$licaci"#! /&ta>ilidad! Eiste# las li>e-as e# las >i>li&tecas! Tie#e s"l& B* $ala>as ese0adas!

  • 7/23/2019 introducion al lenguaje c

    7/401.1. Estructura General de un Programa en C

    Estructura eneral de un 3rogra#a en C

    C:u#t& de Fu#cies

    Fu#ci"# /i#ci$al )ai#

    Diecti0as Ki#clude

    Estructura eneralde un 3rogra#a C

    4unciones.0Es u# c:u#t& de i#stuccies ue e=ecta

    u#a taea es$ec-=ica!

  • 7/23/2019 introducion al lenguaje c

    8/40

    Es5ue#a de la Estructura de un 3rogra#a en C

    Declaraciones lo*ales /&t&ti$& de =u#cies aia>les

    4unci'n 3rinci$al #ain67

    )ai#

    declaacies l&cales se#te#cias

    De&iniciones de otras &uncionesTi$&1=u#ci"#1

    89Co#entario98

    Ki#clude Diecti0as del /e$&cesad&Kde=i#e Mac&s del /&cesad&

  • 7/23/2019 introducion al lenguaje c

    9/40

    Directias del 3re$rocesador

    Editor de texto inteli!ente

    Directi"asInstrcciones #e se le da al comptador antes decompilar el pro!rama$

    Programa Fuente Programa Objeto

    Compilacin

    Errores de Sintaxis

  • 7/23/2019 introducion al lenguaje c

    10/40

  • 7/23/2019 introducion al lenguaje c

    11/40

    Creaci'n de un 3rogra#a

  • 7/23/2019 introducion al lenguaje c

    12/40

    3uesta a 3unto de un 3rogra#a

    IICI&

    'I

    Editar el pro!rama

    Compilar el pro!rama

    Errores de(intaxis

    Errores entiempo dee)eccin

    Comprobar errores

    SI

    SI

    NO

    NO

  • 7/23/2019 introducion al lenguaje c

    13/40

    Ciclo de ida de una A$licaci'n

    /&>le)a

    A#;lisis

    Es$eci=icaci"#

    /&?a)aci"#

    Al?&it)&

    C&di=icaci"#

    /ROGRAMA

    4ase deDise;o

  • 7/23/2019 introducion al lenguaje c

    14/40

    4ases de Instalaci'n

    Edici"#

    C&)$ilaci"#

    Mta:e

    /ue>a de E:ecuci"#

    E$l&taci"# 9 Ma#te#i)ie#t&

    3rogra#a 4uente

    3rogra#a -*jeto

    3rogra#a Ejecuta*le

    A$licaci'n

  • 7/23/2019 introducion al lenguaje c

    15/40

    Ele#entos de un 3rogra#a C

    Ide#ti=icad&es/ala>as Rese0adasLitealesO$ead&esOt&s Se$aad&es

  • 7/23/2019 introducion al lenguaje c

    16/40

    IDE1!I4ICAD-RE" Caactees Letas N)e&s Si?#& Su>a9ad&RELA":

    1 El $i)e caacte de>e se u#a leta!

    * C&)>i#aci"# de letas 9 #)e&s!B N& se ad)ite es$aci&s e# >la#c&! Se $uede utili.a el si?#& de su>a9ad& $aa u#i * #&)>es e# u#& s&l&! Las letas )a9sculas 9 )i#sculas s di=ee#tes!Eje#$lo:

    Nu)e&H&as Nu)e& H&asNu)e&H&asNH&asNu)H&asNH

    C-RREC!- I1C-RREC!-

  • 7/23/2019 introducion al lenguaje c

    17/40

    3ALARA" RE"ERADA"

    $i#t= /ese#ta )e#sa:es e# $a#talla

    sca#= I#?esa dat&s $& teclad&clsc Li)$ia $a#tallai#t cases'itc@ 0&id i= else '@ile d& =&

    LI!ERALE"

    A P QA)ica N P 1*B dat& #u)ic&3 P QDel Su N P Q1*B dat& cade#a$i#t=A $i#t=Qclsc, sca#=, ?etc@$i#t=QA)ica$i#t=Q1*B

    cadena

  • 7/23/2019 introducion al lenguaje c

    18/40

    -3ERAD-RE"

    Relacionales o de Co#$araci'n: Eje#$los:

    Me#& ue P Me#& & i?ual ue A 3 A P 3 Ma9& ue P Ma9& & i?ual ue A 3 A P 3PP I?ual ue P Di=ee#te a A PP 3 A P 3

    Arit# >6 Resta 3 P 1+ 66 Dece)e#t& 66> >66 Su)a C P B

    A P 3(C

    L'gicos:AND si?#i=ica Y WW OR si?#i=ica O ll NOT si?#i=ica NO , X,

    La di0isi"# $uede ta>a:a c< al&es E#te&s I#t & al&es Reales Fl&at!

  • 7/23/2019 introducion al lenguaje c

    19/40

    -!R-" "E3ARAD-RE"

    Si?#&s de $u#tuaci"# 9 si?#&s es$ecialesulad&!0 Ta>ulad& etical!

    \ A$"st&=e c&)illa si)$le!

    I)$i)e d&>le c&)illa!

    ] I)$i)e el caacte del si?#& de i#te&?aci"#!

    I)$i)e u# caacte de dia?al i#0etida , >aa i#0etida !

    I#dica ue de>e e:ecuta al?& eta&di#ai&!

  • 7/23/2019 introducion al lenguaje c

    21/40

    1.2. Tipos de Datos en C

    !i$os de Datos en C

    E#te&s I#t

    Reales & C&)a Fl&ta#te Fl&at

    Cade#a & Tet& C@a

    1u#

  • 7/23/2019 introducion al lenguaje c

    22/40

    !I3- !a#a;o en

    ytes

    RA1-

    M-#i)& M;i)&

    C@a 1 + *

    S@&t * 61*7 1*5

    I#t * 6B*!57 B*!55

    U#si?#ed I#t * + !B

    L? 6*!15!7B!7 *!15!7B!B5

    Fl&at B! V 1+6B7 B! V 1+B7D&u>le 7 1!5 V 1+6B+7 1!5 V 1+B+7

  • 7/23/2019 introducion al lenguaje c

    23/40

    De&iniciones

    Ti$& c@a

    c@a cade#a P _\ _ P 1 c"di?& ascii c@a &$ci P ^1\ Ti$& s@&t s@&t ctP+ Ti$& i#t

    i#t a#i&P1+ Ti$& u#si?#ed i#t u#si?#ed i#t dias Ti$& l?

    l? T&talAcu)ulad& Ti$& =l&at =l&at sueld& Ti$& d&u>le d&u>le t&tal

  • 7/23/2019 introducion al lenguaje c

    24/40

    Constantes y aria*les

    >?u< es una Constante@

    Es u# 0al& ue $e)a#ece =i:& dua#te la e:ecuci"# de u# $&?a)a! >?u< es una aria*le@Es u# 0al& ue sie)$e 0a-a su 0al& dua#te la e:ecuci"# de u#$&?a)a, eiste# * ti$&s de 0aia>les< Gl&>ales 9 L&cales!aria*les lo*ales: S las 0aia>les ue se las de=i#e# e# la

    =u#ci"# $i#ci$al Mai#, e# cualuie $ate del $&?a)a se @ace us&de ellas, estas 0aia>les s usadas e# t&d& el $&?a)a!aria*les Locales: S las 0aia>les ue s&la)e#te s de=i#idasde#t& de las Fu#cies, tie#e# u#a 0ida li)itada, 0a desde el$i#ci$i& e# ue el usuai& l& declaa 9 se destu9e cua#d& te)i#ael >l&ue de c"di?& escit& $& el $&?a)ad& se dis$e de la)e)&ia #ecesaia s"l& cua#d& se #ecesite la 0aia>le l&cal!

    Las Csta#tes 9 las aia>les s utili.adas e# la e#tada 9 salidade dat&s!

    1.3. Constantes y Variables

  • 7/23/2019 introducion al lenguaje c

    25/40

    Declaraci'n de aria*les

    ti$& de dat& N&)>e de 0aia>le P al& i#icial

    ti$& de dat& N&)>ea1, N&)>ea*, ``` Eje#$lo:Dat&s E#te&s i#tle!?ets 6 /e)ite i#?esa cade#as de tet&!La =u#ci"# scan& euiee de 0aia>les de ti$& /u#te&, #&0aia>les ce#ciales de#t& de u# $a#tesis!

    Reglas del "can&: C&l&ue u# W a#tes de l&s #&)>es de 0aia>les! N& c&l&ue el W $aa #&)>es de ae?l&s! El W a)$esa#d es u# $u#te&! Asu)e c&)& te)i#aci"# el $i)e es$aci& e# >la#c& & la tecla

    E#te!Reglas del ets: Asu)e c&)& te)i#aci"# la tecla E#te!

    1.. Entrada!"alida de Datos

  • 7/23/2019 introducion al lenguaje c

    28/40

    Entrada8"alida de Datos

    E:e)$l&< Ingreso de Datos 6scan&7:

    $i#t=QI#?ese u# #)e&< sca#=Q[d,W#u)sca#=Q[=,W0asca#=Q[c,W0asca#=Q[s,0a Ingreso de Datos 6scan& y gets7:$i#t=QI#?ese su #&)>e< Qsca#=Q[s,#&)>?ets#&)> "alida de Datos 6$rint&7:

    $i#t=Qcade#a de ct&l, 0a1, 0a* 2 $i#t=QSu #&)>e es< [s, #&)> Asu)e< A#->al "alida de Datos 6gets7:

    ?ets#&)> Asu)e< A#->al Sea#&

    Ingrese su nombre:Anbal Serrano

    Su nombre es: Anbal

    Su nombre es: Anbal Serrano

  • 7/23/2019 introducion al lenguaje c

    29/40

    Cadenas de Control

    Ctie#e l&s ti$&s de dat&s 9 =&)as de )&stalas!

    [d, [i

    El dat& se csidea ti$& e#te& i#t![=El dat& se csidea ti$& eal & =l&at![cEl dat& se csidea ti$& caacte c@a![sEl dat& se csidea ti$& cade#a c@a![ldEl dat& se csidea ti$& e#te& la?& l? i#t!

    [l=El dat& se csidea ti$& eal la?& d&u>le![uDeci)al si# si?#& u#si?#ed deci)al![@E#te& c&t& s@&t i#t![&Octal!

    [

    Headeci)al![eN&taci"# Cie#t-=ica![$/u#te&![[I)$i)e /&ce#ta:e!

  • 7/23/2019 introducion al lenguaje c

    30/40

    Eje#$lo:

    i#t i P : P 1+=l&at c P 41!14, d P 4!1/7 $rint&6Gd d & &, i, j, c, d7J

    /ANTALLA< 1+ 41!14 4!1)7 $rint&6GiKd, jKd, cK&, dK&, i, j, c, d7J

    /ANTALLA< iP, :P1+, cP41!14, dP4!1=7 $rint&6G.)&, c7J

    /ANTALLA< 41!17 $rint&6GEl alor de c es .=&, c7J

    /ANTALLA< El 0al& de c es 41!15

  • 7/23/2019 introducion al lenguaje c

    31/40

    Entrada8"alida de Datos 6=7

    Casos Es$eciales:

    /7 uego de Ins$ecci'n:De=i#e u# c:u#t& de caacteesue $uede leese utili.a#d& sca#=!ACBs:A, 3 9 C s l&s #ic&s caactees ue $uede lee,al e#cta u#& di=ee#te =i#ali.a c u# 0al& #ul&!

    A0NBs:Ta)>i# $uede# se a#?&s de caacte, e# estecas&, s&l& ace$ta )a9sculas!

    )7 uego Inerso: Au- se declaa# ue caactees NO$uede t&)a c la =u#ci"# sca#=, se utili.a el cicu#=le:&, ue ace$ta cualuie caacte )e#&s l&s i#dicad&s!OPnBs:Ace$ta cualuie caacte )e#&s u# salt& de l-#ea!OQ0Bs:Ace$ta cualuie caacte )e#&s del + al 4!sca#=[+64bs, edad

  • 7/23/2019 introducion al lenguaje c

    32/40

    -$eradores y Ex$resiones

    Ait)ticas O$ead&es Ait)tic&s

    Ex$resiones O$ead&es Relaciales

    L"?icas O$ead&es L"?ic&s

    O$ead&es Ait)tic&s< I)$lica# u#a l"?ica ait)tica, usa#

    0al&es E#te&s 9(& 0al&es Reales! O$ead&es Relaciales< I)$lica# u#a c&)$aaci"# & elaci"#

    e#te * & );s 0aia>les 9(& 0al&es! O$ead&es L"?ic&s< I)$lica# u#a l"?ica dete)i#ada de sus

    &$ead&es!

    1.#. Operadores y E$presiones

  • 7/23/2019 introducion al lenguaje c

    33/40

    -$eradores de Asignaci'n

    L&s &$ead&es de asi?#aci"# ?e#eal)e#te usa# el si?#& P

    E:e)$l& P c P

    Ta)>i# se $&d-a de=i#i P , c P -tros -$eradores:

    P a P > a P a >6P a 6P > a P a 6 >

    VP a VP > a P a V >(P a (P > a P a ( >[P a [P > a P a [ >

  • 7/23/2019 introducion al lenguaje c

    34/40

    i#t sueld& P 1+++

    sueld& P ++ sueld& P sueld& ++sueld& P 1++se)a#al (P 5 se)a#al P se)a#al ( 5a P a 1 a" a

    a P a 1 a66 " 66a /ANTALLA /ANTALLA

    !

    "

    !

    #

    "

    a $ !%

    print&'Q[dQ, a(%a))%

    print&'Q[dQ, a(%a))%print&'Q[dQ, a(%

    a $ !%

    print&'Q[dQ, a(%a))%

    print&'Q[dQ, a(%a))%print&'Q[dQ, a(%

  • 7/23/2019 introducion al lenguaje c

    35/40

    Asignaci'n ooleana

    1 P edad

    + P Fals&i#t edad, )a9&edad, :&0e#3osi*ilidades:

    1 P Es )a9& de edad! 1 P Edad e#te 1 a 17!)a9&edad :&0e#

    + P N& es )a9& de edad! + P N& est; e# el a#?&!

    $i#t=GI#?ese su edade; i#?esa el #&)>e del clie#te, #)e& detel=& 9 la ca#tidad de )i#ut&s e# lla)adas, esta>lecid&s as-< Lla)adas L&cales g+,1 )i#ut& Lla)adas /&0i#ciales g+,* )i#ut& Lla)adas a Celulaes g+,+ )i#ut&

    Lla)adas I#te#aciales g+,7+ )i#ut&Lue?& $ese#ta l&s su>t&tales $& cada ti$& de lla)adas 9 el T&tal a/a?a! Ejercicio V:

    Realice u# $&?a)a ue $e)ita calcula la c&)isi"# ue eci>e u#

    0e#ded& cua#d& @a eali.ad& 0e#tas su$ei&es a g1+++, c u#$&ce#ta:e del 1[ del t&tal de las 0e#tas cas& ctai& si #& alca#.aesas 0e#tas, #& te#d; c&)isi"#!

  • 7/23/2019 introducion al lenguaje c

    40/40

    LOGO

    *Pre!ntas+

    Programacin Avanzada