! " # $ % ! ! " & '$ # % • ! $ % % ( $ ! #" # & ( " &) (* + ! , $ $ ' ( # *" ) + ) , ) + % + - + % + • () . " ( ( " # • " # -0 . / % $ / -1 2 . " / 0 * $ ' 1 Programación en C Pág • + ( ! -% 2 ! ( $ / / . ! ! 1 , # " # + # 1 3 " 1 # % ! 1 ! ! # ! ! 3 ! ' + 3 ' ! 3 % 4 ! - !' . , ! $ -5 6 . % , - . & 4 $ ! ! % ' 34 43 % 2 $ & 4 : ' 4 78 # 4 ; ! < = 87 78 * 3%9 - 9 : " ) &/ *9 . 87 78& " (9 & A *A %*9 " & 87 -. &/ > *? 9 @" 78 &A " " / & @" B 3) *C ) 87 5 D -E/ ( -EH I J 78 @" %&/ & *C ) @" ? &/ *&A %" ( 87 F G E.D 78 *) ( / 3 *C ) @" (&%*@& 87 .D 78 *) ( / 3 *C ) @" " ) / &@& 87 Programación en C Pág + F KL 8 -E& 8 FH 78 *) ( / 3 87 E .D *C ) @" &(*M ) & *C ) 78 *) ( / 3 *C ) @" (&%*@& 87 6 " ! 4 " 2 , % 1 !' ! ! 2 , ' + % 4 ! % 4 - . ! % % # ! % ' , 4 ! K % " N 4 , # 4 % % 4 * ! O % P % , $ " ! ! ! " 4 4 $ L $ ! " 5 $ 6 ( $ " # 4 Q ! / ! 1 +Q ' ! ( ! Programación en C 1 Pág 3 ! , R ,' Q. - % , ! @ , Q + , ! , ! / , " ! $ 1 , ! 1 KQ 1 / ! 1 # 7 ! ! 8 7 " • • • 8 ;6 9 9< :/ = > $ * ? $ " @9 A 1 ! , " 2 ( • • • • • • • • 2 ' " B $ B $ % 9 " " ! ) > % ? "> BB 6 %B + + ) 9 / %ST -: (Q@9 (. / %S@ -3) *U . 9 D G V I -. WX 56 < Y ZZ 7[ S ; H J \ 8 Q F = " 9 " % " . ! " E[I ! 4 . [ ) , [ ! [, ! [! Programación en C A ] 4 1 , - . Pág [ / [ & [ A - . . [V [I ! [[ A ] -! , [ &( ** / [$ &( ** / 7 5 . $ + % ! , 3 ! ! .D " ^ ! 7 SS 2 - 7 7 $ ! ! 4 " 2 2 " , . % " ! , ! ! ] _ $ , , _ 1 & R # Programación en C A ! R Pág K Q Q Q Q Q Q Q 7 Q , Q $ Q Q Q Q Q # 3 4 ! " 4 ! %4 78 A 87 78 ```` 87 B " @B " + ; # " $ ( ! 1 , " " • • • • " / C ! 6 % ! &) (* ,' 4 ! ) , / 4 R ! ! - R . Q . % ! # &) (* ! 7 SS Programación en C !' , + , 4 % A ,' / $ $ ! # + ) / > 1 Pág N ; 86# #> @ B # D $* " ?# , ) $ ) &( ** ) + &( ** Q +ONP *) ^ : *) + S +ONO aQNKK K *) ^ : &U 3*) ^ : *) 3*) ^ : &U Q+ O P N P + O P N P aQ +L LNO +LK O "Q P a "S P N 4 L " QO + ++ " Q aP OL " S aP K 4 + ++ " Q N N " Q L+ P " S L+ L 4 aP " Q L Q + P $ a $ Q % " + -, ) $ #" " . .D $@ B " ! . - # %9 ) M ^ : *) %9 ) M ^ : &U 3%9 ) M ^ : *) 3%9 ) M ^ : &U B % ^ : *) B % ^ : &U B % ^ " #(*%9 ) @A %^ : *) @A %^ : &U @A %^ " #(*%9 ) %@A %^ : *) %@A %^ : &U %@A %^ " #(*%9 ) Q - > $ + , . - " ! - ! . / # Pág O # % / ! Programación en C . * % , , ! % , , " ^ 5 ' ``` ! 6D ^ , ! # " , . A # * / ) *0 ! , 9 ! ^ ^ ^ 5 ! ``` 6D ! % ^ ^ ^ , ! , a , " @ *" , a ' + + % ! , , , " ! , ! 1 , . 9 *" + ! ^ ^ , ^ ! ^ ^ #" 9 Programación en C Pág P ") "/9 D ``` ") "/9 @B " D > & ! ! . - 4 1 " ^ D 'A - A , 8 1 ^ D B *%" D ^ ! % 1 , ! : D E * C 1 ! , ! $ @ 3 ! D $ ' % $ ' D $ F < < # 8 G G8 % ' ! + , ! , $ $ % 8 , , $@ C ! b E V I $ Programación en C Pág L 3 , ! ! , ! 1 . 9 H ! ^ ^, ! " " @ #! + - * / % % ' $@ 8 && || ! (AND) (OR) (NOT) % E E! I I" . E I % . @ I J IK JK YF KK % , ! 3 $ , a @G ! - c @ - . &( ** +N. " ( 1 $ " @ , "$ "$ "$ L " 5 9 " 7 D 1 "$ + 1 #" 9 Programación en C Pág a - =!. G F +@ " # =! F! ?/@ 3 @ !D $ " " , 1 " ; " M # 4 , ! ,' #" 9 Ejemplo: . 8 p A Si p es un puntero que puede guardar la dirección de una variable entera. p=&A (si A = 8) y si AUX es una variable entera AUX=*p. 8 AUX guardará el valor almacenado en A AUX )@ " - + ? # D @ " R 1 ^ - . 9 @ $ - +? " ! " . @ ! @8 # $ " ; J Z \ << == &) @ , 9/ , U9 / , @ 1 @ 1 " ! ! ! 1 ! ! % Programación en C Pág @ " " SS QQ F 8F 7F H F SF QF << F == F JF ZF \F '@ 8 ; * @ & : @, : ( / @ @ 9 9 9 " " 1 1 #" SS QQ F 8FK 7F+ H+ SF+ QF <<F ==F J! ZF ! \F ! 1 &) @ ! ! 9/ ! ! U9 / ! ! * ← S ← Q ← ← 8K ← 7+ ← H+ ← S+ ← Q ← << ← == ← J! ← Z! ← \A J ( , - , . ! - . 1 -. ( ! 1 -Q=. , #" 9 @4 P > > > ( ") Programación en C > : aN &R PL @ F P : FaN &R FPL > ") @4 P > : aN K MF &R PL Pág + Q=@ F P Q=: FaN Q=&R FPL @ % " #> 9 $ ! , 2 ! , ' + 1 D ! ! " ! , ! ( ! , , K , N ( O ( P ( , , , " , $ , & $ • • • • , % % % % , ! ! , , ! , , ! !' , , % , 1 ! N O % "6 Programación en C " Pág " 1 $ 4 , , ( , ! , % , ? #$ $ 4 A A " @ $ " #" 9 ( &FA 8> 7+ , , &F.A 8 > 7 + &FA 8.> 7 + &FA 8> 7+a #@ " ? @/P Q/ / J -R ; ) -,!,*,&,++,--,sizeof,“casting” -R ; ) *,/,%,+,- -R ; ) <<,>> -R ; ) <,>,<=,>0 -R ; ) ==,!= -R ; ) & -R ; ) ^ -R ; ) | -R ; ) &&,|| -R ; ) ?: ; ) -R =,*=,/=,%=,+=,-=,<<=,>>=,&=,|=,^= ; ) -R , -R S ) " 3 $ , - ! ! . ( $ • • • • ; , 2 $ & % / " ' Programación en C Pág ( $ 2 - , $ . T " T ; # % 1 4 ! ; ! " $ , $ $ 1 ( " ( ( + $ ! , $ Fuente.c Preprocesador Fuente_resultante.c Compilador Fichero.obj Librerías Link fichero_ejecutable.exe " ; 7 SS % , #" # , Programación en C Pág K U + U + U U U " + U U + ( + U + A ; + U + U + #$ A ; -E I. A# + ( , ! ^ ^ ; ! U + + U + + U ( . ! U ! A A# + ^ U #$ ^ ; I+ ) J * , , !' ! " U + U + #$ A A# A U I A ( , " " U + U U + + 7 #$ " U A A# , U &# N #$ ! . ( U 1 A A A8 . U B )J # )% O A A, 8 A 1 ; - 2 ! A 4 , A 1 Programación en C Pág N U" # T 5 ?8 ' @ 8$ " • • " 6 * )% $ ] 1 , , ! ! 1 ! ! " E ] I ! 1 ! • • %! %! 8$ ! 4 4 6 " ! 4 ! 4 4 > 3 ! - ] %! 4 ! 4 ! " R 1 . Fichero.obj Librerías Link fichero_ejecutable.exe " &) (* ! - . R ! ! ! - ! 4 & . 8$ 6 ! &) (* " 4 4 1 ! . ! 4 -% ! ># " ! , 4 1 Programación en C 1 Pág O 4 " ! ( 4 ! 4 @%% -@ @%%d # e _ - & )% % ] %! * . 1 &#*d . $ @ , , , , ! , , ! - 4 . " $ 7 SS , ! ! 3 1 ! 3 , ; 7 SS = . . < #" ! ^ * ! = #" 3 ! 7 SS 3 1 ! 3 4 -D. 3 . -! #" . < &= &← a : & =K < &= & ← &Q B ^ < B " ( -EH I J&.D & F aD e -& = K. 5 # -EH I &.D &QQD 6 ( ( , " 7 SS 2 3 1 7 SS -. $ Programación en C Pág P M 4 B 3) *C ) (&%*@& " ) / &@& 3 1 - - . D ! , , ! , . " " # , $ , ! 4 " 2 1 - B 3) *C ) 3 4 . M B ? ? ! ! . 1 E I ? 8 ,WX # E , ( I D , 2 • • • 7 SS , ! ! , ! 1 " Programación en C Pág L 78 @ % 5 87 # ?% @ 78 87 E I E , ! I ``` 78 1 87 6 78 @ 87 $ - # + 5 78 87 6 5 V#$ % , % ! $ / /+ / . ! D 1 % 7 , ! ! . 3 ! R 3 , D D 3 + ``` 3 $ ! + ``` - . Q ``` ``` Programación en C Pág +a 7 B " " " • ( • -! . 3 EDI B + , R #" D 9 ( $ % ( $ $ " , A A " 0 $ , ! , " " ! P ! ! F PD KS 8+ Q ! F K S 8+ f D 9 # ! ( $ $ + ? " @ 0 P 50Q $ @ ! % , . 7+ / $ $ - ( #& E E, - I I + " # ( , . $ D . ' , , $ $ Programación en C Pág + 56 ( ) ? " @ 1 9 0 $ WWW '0 59 50 WWW '0 $ WWW P + 9 + 0Q 2 @ $ $ , ! . , ", 2 $ E , $ - , ID E! ]I ( 2 #" 9 @ R +. . , + -E* 1 + -EH I J .D " )- ( ! 4 2 4 R I.D . 5 N L $ F aD 'D + F +PD + 9 F 6 " " @ . D + -E" H 4 I .D % () Programación en C Pág ++ # , 2 ! " # I ( $ D , () ? 1 , % ! , 2 ! E #> $ , " $ ! E, , , I " , @ 0 WWW 2 # ? " @ WWW + A# Pseudocó $@ . # ! ( ! " , $ ! #> . - , % $ 1 0 WWW 2( ) ? " @0 ) sentencia . X # Sí X ? " @ Exp. No Diagrama Programación en C Pág + @. + # , ( ! " ! &# % $ + 1 ?P% K / P% 5 K 5Q Q0 P Q0 # @ 0 2 . " . $ ' # 1 _ _ ! ( $ $ '0 . # ( _ ( $ 0 . ? R @ # ,' . ? # ( $ $ @ , ?% % $ @0 . # ? B ! ! ^ ^ ^ ^ ^ ^ ^, , ! D ^ ^ , ! D - .D , Programación en C Pág + " 7 SS 2 3 1 7 SS -. $ M 4 B 3) *C ) " ) / &@& (&%*@& 3 1 - - . D ! , , ! , . @; + + % ! % " $ % % #$ A A A+ ? " ># + # @ 1 % + ?% $ $ / ? % % ># + " - + + @ @ } @ ! " , -" # % ! ># ! . , $@ 8 # + % ,' % P% % % $ " , KQ #$ ># ! Programación en C $ A A A+ ?P " ># Q@ , , , Pág +K D 1 , : , -. ^ " " ^+ ^+ ^ @ 1 ># 7 SS 2 . % ( ) B % , 5 ?" + ># @ ? @ % , , , ! % B % @; , + ?M " , ># " 3 @ " , % 1 Programación en C Pág +N 3 $ B " A " E A% A % #$ A ! A A+ ? " ># @0 ! V#$ % ( ! 3 , E $ , ! ! , ! C ! $ - ! 56. $ ( ! - -. !' . ! U U % , + $ $ -, . 5 6 ^ - . 5 6 E 5 C 3 $ , ! , ! ! 3 ! ! ! , ! ! $ , 3 , ! ! , 1 1 ! , - Programación en C 5 6 " . ! , D ! 1 $ Pág +O ! , ! 4 D , , ! $ ! % % H # # % # , ! $ ! $ , - ! . % , 1 ! , ! ! , 4 " E ] - . ! I & , ! ! , $ 4 & 1 , ! - ! . ! , 1 . ( 2 # 2 , D % 1 ( 2 , 4 ! . ! 1 • , • • • - ( ! $ & " ! " % , " 1 ! 1 , ! ! $ % , PB " A ! A # Programación en C # ! Q B " A A D Pág +P S , $ 6 3 YY , * % ! . % - 4 7 SS . . " 7( , > 3. • % • -. -. • -. -. • -. -. • . $ + ) • -. -. • ! ! _-. _-. • -. -. • -. -. • / ! _ , • . $ -. -. * $ % + ) _ -. -. , 2 * > -. -. -. Programación en C Pág +L - ]! -. -. -. -. -. + $ -. -. -. , * ( > 4 " 7( " 1 , ,' , 1 , , $ + / ! . ( , ' # 1 ! , , , , , , " " . $ . . - . - . 2 " +? @ " ! " ,' + ? ) 4 / " # @0 EI " Programación en C Pág a %c %d %i %e ó %E %f %g ó %G %o %s %u %x ó %X %p %n %% carácter entero entero notación científica de números reales coma flotante Utiliza el mas corto entre %e ó %f Octal sin signo Cadenas de caracteres Enteros sin signo Hexadecimal sin signo Punteros Puntero a entero al que se asigna el nº de caracteres escritos Imprime % " Z P+ , QP 9 Q S ! ; QP" " 1 S ! =a G , 9 3 a 8 4 2 4 , 1 2 a 4 a " Q P,3 3)3 38Q + -EH 8 ` 8 I . 9 B ) B ) % ! " 2 , , +?@ B +? Programación en C ) 4 / # @0 Pág 1 4 " ! .D $ -. - " ,' ! 1 $ / ,' ! ! , 4 " ) " 9 ) ?% @0 ) ?@ ! ! " " 4 ! 1 " , ?@ % " ! 8 , ) % ?@ * ) ? @0 ) ?@ # ! R , " ? ) ) ?) )?@ * 4 4 @0 ) @0 ) ) ?@ ) % ) ?% ) ?% " )?@ " ! @0 ) @0 ) ) " '$) ) ? @0 ) ?@ Programación en C Pág + @ , , , , , '$) ?% @0 ) ( ( , @9 ( -+a E, I . 1 " _ -]! -. F a. -.D -DD. 5 -]! ! -. FF a. ]D 6 % ]! " " +?@ * @9 ( +?@ ! T @9 ( . " , # ?@ # " " 9 % . ? = A @0 . * " % # ?@ # " # , " 4 " 9 @0 * * # ?N O@0 * # ?N O@0 # ? ) AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA Programación en C Pág