Вы находитесь на странице: 1из 43

| 


  |
Ponente: Ing. Gustavo A. Sánchez
Rodríguez.
Lógica de Programación
ð
 
 
þ ëue inventado por Dennis Ritchie en un DECDEC--
PDP--11 en los Laboratorios BELL, basándose
PDP
en el lenguaje B, creado por Ken Thompson.
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.


 
  
 
þ Se cataloga como un lenguaje de nivel medio,
medio,
puesto que combina elementos de lenguajes de
alto nivel (ëortran, Pascal, Basic, etc.) con la
funcionalidad del lenguaje ensamblador.
ensamblador.
þ Permite el manejo de bits
bits,, bytes y direcciones de
memoria.
þ Posee sólo 32 palabras clave,
clave, definidas por el
comité ANSI.

 
þ El compilador de C traduce el código fuente en
código de ensamblador(Máquina).
ensamblador(Máquina). El código
fuente es recibido del preprocesador.
preprocesador.
þ En leguaje C al realizar la compilación permite
que este verifique el programa arrojando con
dicha compilación los errores tanto semánticos y
sintácticos..
sintácticos
0
  


þ En el lenguaje C todo programa comienza con
los símbolos de {«..}, el cual {, indica el inicio
del programa, }, indica el fin del programa como
se aprecia en el ejemplo siguiente:
/* Programa : HOLA MUNDO */
#include <stdio.h>
stdio.h> Archivo de Encabezado(Head)
main(( ) Representa el punto de inicio de su ejecución
main
{ Inicio del Programa
printf ("
("\\nHola mundo"); Impresión de la palabra Hola mundo»
} ëin del Programa
 
  
þ Durante la fase de enlazado de la compilación (el "Ô "
" añade a cualquier
programa C++ un módulo especial,   , , que es realmente el punto de
entrada a la ejecución del programa.
programa. Este módulo realiza diversas tareas
preparatorias a la ejecución propiamente dicha
dicha.. Por ejemplo, iniciar todas las
variables estáticas o globales y realizar determinadas verificaciones del
hardware.. ëinalmente pasa el control a una función que debe responder al
hardware
nombre de 
 y le pasa algunos argumentos en base a datos que ha
recibido a su vez del Sistema Operativo;
Operativo; esta es la razón por la que todos los
programas C++ deben contener una función con este nombre. nombre. Así pues,

 representa el punto de la ejecución a partir del cual el programador
toma el control de la ejecución, antes de esto ya han sucedido muchas cosas
en nuestro programa.
programa. A su vez el punto de finalización de esta función, su
punto de retorno (  ) significa el fin del programa, pero recuerde que
existe otra forma de terminar el programa, que puede ser utilizada desde
cualquier punto (sin necesidad de volver a la función 
 ), consiste en
utilizar la función  de la Librería Estándar
Estándar..
 


   



  
   
   
!


      
     
  "   
    

  "  

   
 #  $ 
0     


þ Comentarios.
þ Identificadores.
þ Constantes.
þ Variables.
þ Operadores.
þ Sentencias o instrucciones.
þ Macros del pre-
pre-procesador.
 

þ Comentarios multi
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 üü
þ 0  %

üü  

ü  
 
 
 ü
|  
 
þ Se utilizan para nombrar variables
variables,, funciones
funciones,,
etiquetas y elementos definidos por el usuario
usuario..
þ Los primeros seis caracteres deben ser
significativos (distinguirse de otro similar) y
máximo puede tener hasta 31 caracteres
caracteres..
þ El primer carácter debe de ser una letra o
subguión.. Posteriormente pueden ser letras,
subguión
números, signos de subrayado.
subrayado.
þ Existe diferencia entre mayúsculas y minúsculas
minúsculas..
|  
 
¢ No pueden emplearse palabras reservadas como
identificadores.
¢ 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
main..
   
þ Empezar los nombres de funciones y de variables con
una letra minúscula
minúscula..
þ Las constantes escritas con X  van con
mayúsculas como X  
þ Las palabras intermedias comienzan con mayúsculas
mayúsculas..


 

þ Utilizar el subguión para separar palabras intermedias.




 

þ Emplear nombres cortos para optimizar. & & !&  


 
 
þ Constantes de carácter.
0' (
)& (*)& (+
0' (
)& (*)& ( +*,)& (
*,)& (++*)& (
*)& (++ )& (
)& (++)& (-)& )
)& (-)& )+++)& .
þ Constantes enteras.
0' ,& /,& 00,& +
0' ,& /,& ,& +*,&
*,& +
+*,& , & ,.& , & '
þ Constantes reales.
0' *', & *',& , 0
& *',& , 0*1 & ,'*
& ,'* 00*1&  
,& '
þ Constantes de texto (Cadenas o ´Stringsµ)
š0  


23
X  
þ En el leguaje C se requieren de librerías para
poder inicializar algunas de la funciones, para
ello se usa la instrucción #include,
include, que es la
instrucción requerida para el uso de funciones de
un archivo encabezado o librería
þ Su sintaxis es:
þ #include stdio.
stdio.h: Esta librería o archivo de
encabezado me permitiría inicializar o usar funciones
de entrada/salida como lo son printf printf(permite
(permite la
impresión, scantf
scantf(permite
(permite capturar datos o pedirlos
al usuario
usuario..)
X 
þ Se utiliza para asignar un identificador a una
constante.
X  | '1415
X  6  *
þ El pre
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.
Õ

 
þ 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:






 
Ñ  
 78 
þ int: Representa números enteros.
int:
þ float:: Representa números decimales.
float
þ double:: Representa números decimales de mayor
double
precisión.
þ char : Representa caracteres.
þ Aunque el tipo char represente caracteres
internamente para el computador no es más que
un número comprendido entre 0 y 255
 
þ Es un modificador de acceso que me permite
asignar a una variable un valor constante,
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;
valor;
þ Ejemplo:
 

 
!

!
"#
"#$%&'()
$%&'()
 
   

   $*+,-.)
$*+,-.)


þ 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:

   / 


 ! 
! 0
0
6 
 
þ 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
6 
  9
6 
  : 
/ 
,/ ; <
0  
,0 ; 
   
 , ; 1*
ü : ,ü ;
    , ; 1
  
 š
3 $
  , ; ,'*
6 
  


6 
  : 
== |

 
==()
>= :     
>=  
?  
# @  
?*',
A    @  
A 
?=  
#  
@  
?= 
A=     
@  
A=
6 
  
6 
  : 
BB C :  
? BB 
AD
EE 6 6  
==  EE 
==
> 0:6  >
==  

6Ñ  
>=
þ Importante:
ëALSO es igual a cero.
cero.
VERDADERO es diferente de cero.
cero.
6 
   

6 
  
   

=
= 
= 
// // = /1
00 00
00 = 01
/= /=  = / 
0= 0=  = 0 
= =  = 
ü= ü=  = ü 
= =  =  
6 
   7
6 
  : 
AA  

=
?? 
$@ 

??  

=
AA
  

B C :   =
B1 
E 6 6   =
E**

    1 =

 6   F6 =

6 
   




6 
  
   

AA= AA=  = AA 
??= ??=  = ?? 
B= B=**
 = B**

E= E=< = E<
= =** =**
= =*<  =*< 


%
*< & **
& **   G   
 
.
6 
  : : 
6 
  : 
6 
   

 @ 8
  


 

    
'
Ñ
9  






 

 




 
'

'
B 6 
   
  

 
  


   
 


 '
Õ

   

þ Sirven para almacenar una dirección de memoria.
memoria.
þ Utilizan el operador & para obtener la dirección.
þ Se deben inicializar con NULL (equivale a cero).
cero).
þ Se declaran como:
A  
?A
A  
? A ? 


 A
A  
?

?
þ Ejemplo:

12++
12++
3

4ü 5


  
 ü

ü 
3 ü
   
 6 
 
( ) [ ] -> Alta prioridad
! ~ + - ++ -- & * sizeof Unarios
* / %+- Aritméticos
<< >> Corrimiento de bits
< <= > >= == != Relacionales
& ^ | && || ?: Bits / Lógicos / Condicional
= *= /= %= += -= &= Asignación
^= |= <<= >>=
, Evaluación
  
 |  
þ .
  
 

      @
 
   
'    

 &
 
 &



  '
þ Ñ

   
  

  
      #




þ      
    
  

 
'
  
 

'
  
 


 %
þ H
þ   
1
þ   

þ %
þ   

þ 
  
 |  
þ Sentencias de Selección.
þ if ² else, switch ² case, ?:
þ Sentencias de Repetición.
þ do ² while, while, for
þ Sentencias de Salto.
þ return, break, continue.
0
  


|' : 
   0 

|' : 
   0
X   # X 
||' : 

  
(Declaración de funciones)
|||' : 

  

   


|Õ' I     
  


Õ' I   






  
0  
X  6  7
X  6
  7
X  *,+(.89

  -: 0 ; <=


   ü *

/
 ü

  -: 0 ; <=>


 :? :0 0@; ;@< <=
A


:

 : =>
0;<
0;<*,+(.
   -:0;<=
! :$B
! :$ B  C DE)  =
 :=
A
 0 
i Ci ! i C-
 :0!  C=  :0!  C=

 >



3
A

% 
     

@  @   
 
' 
    
  
& >
 
 
9
&




  & 


 & 



 
  G9
& 
8 & '' 
3
A
6 
  
J%
   J   
1 %   

  J   
1 %   

  
%
  
1 
  
  =
=  
 
 
 
  

  
  =


''
0   
  
 #    $





 

 %
Õ
 =    J   
1%

1%  

"00

"
"   
H

 1%   


!

 %   


!
%

 %   


!

 %   
K
 

!

   .  

þ Los arreglos unidimensionales son
secuencias de valores del mismo tipo que
se almacenan en localidades contiguas de
memoria, según el orden del índice.
índice.
<tipo dato> esp <identificador>
<identificador>[tamaño]
[tamaño];;
þ Ejemplo:
 
 

 "#
"#


"8#>3FFG89A


"8# >3FFG89A

!

!
"#
"#$%&'()
$%&'()



   
  $*+,-.)
$*+,-.)
   .  

þ 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:
 
 "8#
"8#




 ! 
 D
  /



4 "#
4 "#
ü +
  C   ü
   .  

þ 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
(tamaño--1)
1)..
þ Se deben utilizar variables enteras y para agilizar
el acceso a memoria se pueden declarar con el
modificador register
register..
þ Ejemplo:
 /   HI
   .  

þ Para guardar o leer los elemento en un arreglo es
muy frecuente utilizar la sentencia for
for..
þ Ejemplo:
 /   
 "8#

ü , /

/
  

8 ü
 : 
 : 
 68
68
 @@
@@==
 "
 " # 
   .  

þ 

     
   




  
   
 $
 




 
       
''
þ Ejemplo:
 /   

"#
  !
 !

 :  6 @@=
>

:$E)

: $E)4
4 !
 !=
=
 :
: =ü 
=ü  

J
 ü
 !
 " # !
 " # 
A
   .  


þ .
        
    &
&
    
 
  
 
#
  

 
  %

<tipo dato> esp <identificador>[dim1] [dim2]«[dimN];

þ Ejemplo:
 "#"#"#
    

  

þ .


 š 3  


 &
 

    

  

    

  ' 
   
' 
   
  (+*) @


    
 
8    (


  
  ''


  
  
þ
G 
  
 
   9 
@   @  
@   @   
8 



 



  '

 

  '
þ Ejemplo:

  "#ü 2C ü

Вам также может понравиться