Está en la página 1de 27

M. en C.

Francisco Javier Ibarra Villegas


Es un lenguaje estructurado debido a que permite:
Encapsulamiento de cdigo (como subrutinas o bibliotecas).
Soporta instrucciones bucles (estructuras).
while
do-while
for
switch-case
Permite la utilizacin de variables locales y globales.
Bibliotecas estndar: Proporcionan las funciones ms comunes para
realizar las tareas necesarias.
Variables globales: Pueden ser modificadas por cualquier funcin a
lo largo del programa.
Variables locales: Slo pueden ser modificadas por cualquier funcin
donde son creadas y ninguna otra funcin puede manipularlas.
Funciones: (Subrutinas) Partes de cdigo que realizan una tarea
especifica. La funcin principal que siempre deber estar presente en
cualquier programa, es la main
main() {
}
Secuencia de sentencias: Instrucciones que determinan las
operaciones o acciones que se deben llevar a cabo.
Bibliotecas a utilizar
Variables globales

main() {
Variables locales
Secuencia de sentencias
}
Bibliotecas a utilizar
Declaraciones globales

main() {
Variables locales
Secuencia de sentencias
}

F1() {
Variables locales
Secuencia de sentencias
}

Fn() {
Variables locales
Secuencia de sentencias
}
// Se utiliza doble diagonal para comentar en slo una lnea.

/* Utilizar una diagonal seguida de un asterisco define un


comentario de mltiples lneas y debe cerrarse con un asterisco
seguido de una diagonal */
En lenguaje C existen otros componentes importantes que nos
facilitan la programacin:

Nombres e Variables y
Identificadores Constantes

Estructuras de
Operadores Control
Son aquellos utilizados por los usuarios para definir funciones,
etiquetas, variables, y algunos otros objetos.
Caractersticas:

La longitud debe ser entre 1 y 31 caracteres alfanumricos.


Deben comenzar con letra. El guin bajo _ cuenta como letra.
Son sensibles al uso de maysculas y minsculas.

Tip: Es comn utilizar minsculas para las


variables y maysculas para constantes.
Son los objetos bsicos en un programa. Existen distintos tipos de
variables y constantes, los cuales determinan el alcance tanto
numrico como espacial, as como el de los resultados, esto es, los
tipos definen cun grande puede llegar a ser una variable o
constante.

Tipo Descripcin Tamao en bits Rango


char Byte o Carcter 8 -128 a +127
int Word (2 Bytes) 16 -32,768 a +32,767
float Punto flotante de precisin simple 32 3.4 e-38 a 3.4 e+38
double Punto flotante de precisin doble 64 1.7 e-308 a 1.7 e+308
void Sin valor 0
Aunque estos tipos de datos pertenecen al estndar ANSI C para
computadoras, la tabla cambia un poco para sistemas embebidos.
Para la familia 8051, la tabla es la siguiente:

Tipo Descripcin Tamao en bits Rango


char Byte o Carcter 8 -128 a +127
int Word (2 Bytes) 16 -32,768 a +32,767
float Punto flotante de precisin simple 32 1.175494e-38 a
3.402823e+38
double Punto flotante de precisin doble n/a n/a
void Sin valor 0
Tipo Modificador / Tipo Tamao en bits Rango
char Byte 8 -128 a +127
unsigned char 0 a 255
signed char -128 a +127
int Word (2 Bytes) 16 -32,768 a +32,767
unsigned int 0 a 65,535
signed int -32,768 a +32,767
long Double Word (4 Bytes) 32 1.175494e-38 a 3.402823e+38
unsigned long 0 a 4294967,295
signed long -2147483,648 a +2147483,647
const define a un tipo de dato que no cambiar durante la
ejecucin del programa.
volatile generalmente se utiliza para indicarle al compilador que no
optimice la variable precedida con este calificador, evitando en
algunas ocasiones su eliminacin durante la compilacin.

Las constantes pueden ser expresadas en 3 bases numricas


distintas:
Nmero Decimal Octal Hexadecimal
31 31 O37 0x1F
128 128 O200 0x80
123.457 123.457 n/a n/a
1.01 101 e-2 n/a n/a
Un operador es un smbolo que indica al compilador que lleve a cabo
ciertas manipulaciones matemticas o lgicas.
Aritmticos
Relacionales
Lgicos
Nivel de bits
Asignacin y Expresiones
Operador Descripcin El orden de precedencia de los
- Resta, Smbolo negativo operadores es la forma en que el
+ Suma compilador da prioridad a ciertas
operaciones. El uso de los parntesis
* Multiplicacin
( ) puede ayudar a cambiar el orden
/ Divisin de prioridad ya que estos tienen la
% Divisin en mdulo prioridad ms alta.
-- Decremento
PRIORIDAD DE LOS OPERADORES:
++ Incremento

MAYOR ++, --
. - Smbolo negativo
.
. *, /, %
MENOR +, -
Evalan o comparan los objetos estableciendo alguna relacin
existente entre ellos, mediante los operadores:

Operador Descripcin
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
== Igual que
!= Diferente que

Como resultado de la evaluacin o comparacin, se obtiene un


CIERTO que puede interpretarse como un 1 lgico o un FALSO
como un 0.
Operador Descripcin
&& Y (Conjuncin, AND)
|| O (Disyuncin, OR)
! NO (Negacin, NOT)

Precedencia entre operadores Relacionales y Lgicos:

MAYOR !
. >, >=, <, <=
. ==, !=
.
&&
MENOR ||
Operador Descripcin
& AND
| OR
^ XOR
~ NOT
>> Desplazamiento a la derecha
<< Desplazamiento a la izquierda
Ayudan a simplificar expresiones:

+= Suma &= AND


-= Resta ^= XOR
*= Multiplicacin |= OR
/= Divisin <<= Rotacin a la izquierda
%= Divisin por mdulo >>= Rotacin a la derecha

Ejemplo:

x=x+3; // En esta sentencia x es igual a x mas 3

x+=3; /* El operador += simplifica la expresin anterior y la


sentencia es completamente equivalente */
El operador Ternario ? es un smbolo que define propiamente una
sentencia de evaluacin y asignacin a la cual se le denomina
expresin y cuya sintaxis es:
Expresin1?Expresin2:Expresin3
El operador ? evala la Expresin1, si esta es verdadera; entonces
se ejecuta la Expresin2, de lo contrario la Expresin3.

Ejemplo:

x=y>3?100:200; /* En esta expresin se evala si y>3, si esto es


verdadero se asigna 100 a x; es decir x=100,
de lo contrario x=200 */
Las estructuras de control establecidas en el ANSI C son:

IF-ELSE
WHILE
DO-WHILE
FOR
SWITCH

Las llaves { } se utilizan para agrupar declaraciones y


sentencias dentro de estas estructuras. El punto y coma ; es
un finalizador de sentencias.
La estructura if-else (Si - De lo contrario) es utilizada para la toma de
decisiones.

Sintaxis:
if (Expresin)
Si
Sentencia1; Expresin Sentencia1

else
No
Sentencia2;
Sentencia2
Una variante de la estructura (if-else) es (if-else if); esta permite
evaluar ms de una condicin.

Sintaxis: Expresin1
Si
Sentencia1

if (Expresin1)
Sentencia1; No

else if (Expresin2) Expresin2


Si
Sentencia2

Sentencia2;
No
else if (Expresin3)
Sentencia3; Expresin3
Si
Sentencia3

else
No
Sentencia4;
Sentencia4
A diferencia del (if-else if), esta estructura slo evala una variable.

Sintaxis:
switch (Variable) Expresin1
Si
Sentencia1
{
case Expresin1: No
Sentencia1;
break; Expresin2
Si
Sentencia2
case Expresin2:
Sentencia2; No
break;
case Expresin3: Expresin3
Si
Sentencia3
Sentencia3;
break; No
default:
Sentencia4
Sentencia4;
}
Permiten realizar ciclos iterativos (repetitivos), que se limitan en su
ejecucin por la evaluacin de una condicin a travs de una
variable. La variable se evala respecto a 0.

Sintaxis:
while (Expresin)
No
{ Expresin=0 Sentencia1
Sentencia1;
Si
}
Sentencia 2; Sentencia2
Es un ciclo que permite realizar de forma similar al ciclo while
iteraciones de forma controlada, pero adems, permite manejar la
condicin inicial de la variable a evaluar, as como el tipo de
operacin para alcanzar el lmite.

Expresin1
Sintaxis:
for (Expresin1; Expresin2; Expresin3)
{ Sentencia1
Sentencia; Si
}
Expresin3 Expresin2

No
Las estructuras while y for prueban la terminacin de lazo al inicio, a
diferencia del do-while que lo hace al final.

Sintaxis:
Sentencia1
do
{
Sentencia1; No
Expresin=0
}
while (Expresin) Si
Sentencia2;
Sentencia2

También podría gustarte