You are on page 1of 34

FAC. ING.

DE SISTEMAS Y ELECTRONICA

EL LENGUAJE C
I. HISTORIA.
II. PALABRAS
RESERVADAS
III. ESTRUCTURA DE UN
PROGRAMA
IV. ENTORNO DE
PROGRAMACION
V. ELEMNTOS DE UN
PROGRAMA
Ing. CIP. Francisco Mori

Historia de C
Inventado e implementado por primera vez
por Dennis Ritchie.

C es un lenguaje de programacin de
computadoras.
Lenguaje de alto nivel
Ms bien medio.
Permite manipulacin de bits y bytes,
direcciones de memoria.
Estructuras de control de alto nivel.
Portabilidad.
Simple, pero poderoso.
Muy ligado al mundo Unix.
Ideal para aplicacin de alto rendimiento.

1960s
BCPL (Martin Richards)

1969
B (Ken Thompson)

1971
NB (Dennis Ritchie)

1972-1973
C (Dennis Ritchie)

1973
Reescritura del kernel de Unix en C

1978
Pcc (Steve Johnson)
Brian Kernighan & Dennis Ritchie The C Programming Language
1982-1989
Proceso de estandarizacin
ANSI-89

1995
Primera enmienda de C

1999
Estndar C99

1997
ANSI C++

C++
Diseado e implementado por Bjarne Stroustrup.
C mejorado
Soporta orientacin a objetos y programacin genrica

Palabras Reservadas
char

void

default

return

int

if

break

auto

float

else

continue

extern

double

do

goto

register

long

while

struct

const

short

for

union

static

signed

switch

enum

volatile

unsigned

case

typedef

sizeof

Estructura gral. de un
programa en C

Programa
principal

Funciones
que sern
usadas en el
main

Ejemplos de programas
Ejem. 1
Escribir un programa en Lenguaje C que enve un
mensaje (Hola mundo) a la pantalla del computador.
Sol.

#include <stdio.h>
main()
{
printf( Hola
mundo );
return 0;
}

Entorno de Programacin de C
Fases de la generacin
de programas

1. Editar
2. Preprocesar

Editor

Disk

Preprocesso
r

Disk

Compiler

Disk

Linker

Disk
Memoria Principal

El enlazador vincula el
cdigo objeto con las
libreras

Cargador coloca el
programa en memoria
Disk

5. Cargar (Load)
6. Ejecutar (Execute)

Preprocesa las
directivas
El compilador crea el
cdigo objeto y lo
almacena en disco

Loader

3. Compilar (Compile)
4. Enlazar (Link)

El programa es creado
en el editor y
almacenado en el disco

..
..
..

Memoria Principal

CPU

..
..
..

El CPU toma cada una


de las instrucciones y
las ejecuta,
almacenando, de ser
necesario, nuevos
datos en la memoria

Elementos de un
Programa
1. Comentarios.
2. Identificadores.
3. Constantes.
4. Variables.
5. Operadores.

1.- Comentarios
Comentarios multi-lnea
Comienzan con /* y terminan con */
No puede anidarse un comentario dentro de
otro.

Comentarios de una sola lnea (C++, Java,


Delphi).
Comienzan al principio de la lnea con //

Ejemplo:
//Esto es un comentario
/* Esto tambin es
un comentario */

2.- Identificadores
Se utilizan para nombrar variables,
funciones, etiquetas y elementos definidos
por el usuario.
Los primeros seis caracteres deben ser
significativos (distinguirse de otro similar) y
mximo puede tener hasta 31 caracteres.
El primer carcter debe de ser una letra o
subguin. Posteriormente pueden ser
letras, nmeros, signos de subrayado.
Existe diferencia entre maysculas y
minsculas.

Identificadores
No pueden emplearse palabras
reservadas como identificadores.
No pueden emplearse nombres de
funciones que ya existan en el
programa o en la librera de
funciones de C.
No puede llamarse main.

Convenciones
Empezar los nombres de funciones y de variables
con una letra minscula.
Las constantes escritas con #define van con
maysculas como #define PI 3.1416
Las palabras intermedias comienzan con
maysculas.
sumaMatrices

Utilizar el subguin para separar palabras


intermedias.
suma_Matrices

Emplear nombres cortos para optimizar. (i, j, k,


cont)

3.- Constantes
Constantes de carcter.
Ej. a, 0, \0x5, \0, \n, \t, $,
\\, NULL

Constantes enteras.
Ej. 5, +5, -5, \05, \0x5, 5L, 5U, 5lu,
etc.

Constantes reales.
Ej. 0.5f, 0.5, 5e-01f, 5.0e-01, (float)5,
etc.

Constantes de texto (Cadenas o

#define
Se utiliza para asignar un
identificador a una constante.
#define PI 3.1416
#define NCOLS 20

El pre-procesador de C, sustituye la
ocurrencia de PI por el valor 3.1416
en todo el programa antes de
efectuar la compilacin, del mismo
modo se sustituye NCOLS por 2.

4.- Variables
Una variable es una localidad de
memoria cuyo valor puede ser cambiado
durante la ejecucin del programa.
Todas las variables deben de ser
declaradas para se utilizadas.
<tipo de dato> espacio(s) <identificador>;
Ejemplo:
int a;
float area, radio, volumen;

const
Es un modificador de acceso que me
permite asignar a una variable un
valor 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;
Ejemplo:
const int a=10;
const char pais[]=MXICO;
const char *nombre=VLADIMIR;

volatile
Es un modificador de acceso que me
permite cambiar el valor de una variable
por medios no explcitamente
especificados por el programa. Por
ejemplo la direccin de una variable
global que apunta a un puerto externo.
volatile <tipo dato> esp <identificador> =
valor;
Ejemplo:
volatile unsigned char *puerto = 0x30;

5.- Operadores
Son palabras o smbolos que implican una
accin sobre ciertas variables. Pueden ser
unarios (1 variable), binarios(2 variables) o
ternarios (3 variables).

Operadores
Operadores
Operadores
Operadores
Operadores
Operadores

Aritmticos
Relacionales
Lgicos
de Asignacin
de Direccin
de Bits

Operadores Aritmticos
Operador

Nombre

Descripcin

+
-

Suma
Resta

5+2 7
5-2 3

5*2 10

Multiplicaci
n
Divisin

%
(tipo de
dato)

Mdulo
Cast
forzado

5%2 1
(double)5
5.0

5/2 2

Operadores Relacionales
Operador

Nombre

Descripcin

==

Igual a

if (a==s)

!=

Diferente de

if (a!=null)

>

Mayor que

if (a>0.5)

<

Menor que

if (a<2l)

>=

Mayor o igual
que
Menor o igual
que

if (a>=2f)

<=

if (a<=3)

Operadores Lgicos
Operador
&&

Nombre
Y (AND)

Descripcin
if ((a>3) &&
(a<9))
||
O (OR)
if ((a==2) ||
(a==3))
!
NEGADO
if (!(a==3)) es
(NOT)
igual a
Importante:
if (a!=3)
FALSO es igual a cero.
VERDADERO es diferente de cero.

Operadores de
Asignacin
Operador

Abreviado

=
++
-+=
-=
*=
/=
%=

a=2;
n++;
n--;
n+=2;
n-=2;
n*=2;
n/=2;
n%=2;

No
Abreviado
a=2;
n=n+1;
n=n-1;
n=n+2;
n=n-2;
n=n*2;
n=n/2;
n=n%2;

Operadores de Bits
Operador
<<
>>
&
|
~

Nombre
Corrimiento a
la izquierda
Corrimiento a
la derecha
Y (AND) entre
bits
O (OR) entre
bits
Complemento
A1

Descripcin
b=a>>2;
b=a<<3;
c=a&128;
c=a|0x0a;
c=~a;

Operadores de Asignacin
para bits
Operador

Abreviado

No
Abreviado
n=n<<2;
n=n>>2;
n=n&0x0a;
n=n|7;
n=^0x03;
n=0x7f;

<<=
n<<=2;
>>=
n>>=2;
&=
n&=0x0a;
|=
n|=7;
^=
n^=0x03;
=
n=0x7f;
Nota:
0x7f, 0x0a, 0x03 son un nmeros

Operadores De Direccin
Operado Nombre
Descripcin
r
*
Operador Me da el valor que
indirecci est almacenado
n
en una direccin
de memoria.
Tambin sirve para
declarar una
variable
apuntador.
&
Operador Me da la direccin
direccin de memoria de una

Variables Apuntador
Sirven para almacenar una direccin de
memoria.
Utilizan el operador & para obtener la
direccin.
Se deben inicializar con NULL (equivale a
cero).
Se declaran como:
<tipo de dato><*> espacio(s)
<identificador>;
Ejemplo:
int *a=NULL;

Precedencia de
Operadores

( ) [ ] ->
! ~ + - ++ -- & *
sizeof
* / %+<< >>
< <= > >= == !=
& ^ | && || ?:
= *= /= %= += -=
&=
^= |= <<= >>=

Alta prioridad
Unarios
Aritmticos
Corrimiento de bits
Relacionales
Bits / Lgicos /
Condicional
Asignacin

6.- Sentencias
(Instrucciones)
Una sentencia es una instruccin o expresin en
C que tiene una consecuencia. Pueden ser
asignaciones, operaciones, llamadas a funciones.
Todas las sentencias terminan con el signo de
punto y coma ;
Pueden ser simples o compuestas. Las
compuestas van entre llaves:
{

sentencia1;
sentencia2;
:
sentencian;

Sentencias (Instrucciones)
Sentencias de Seleccin.
if else, switch case, ?:

Sentencias de Repeticin.
do while, while, for

Sentencias de Salto.
return, break, continue.

Estructura de un
programa en C
I. Directivas del pre-procesador
#include y #define
II. Declaracin de Prototipos
(Declaracin de funciones)
III. Declaracin de variables globales
IV. Funciones definidas por el usuario
V. Funcin Principal main( )

Ejemplo
#include <stdio.h>
#include <math.h>
#define VALOR 5.7
double modulo3D( double x, double y, double z );
double mod3; /* Variable global */
double modulo3D( double x, double y, double z ){
return(sqrt(x*x+y*y+z*z);
}
int main( void ){
int x, y, z;
x=y=z=VALOR;
mod3=modulo3D(x,y,z);
printf(\nEl mdulo es: %lf,mod3);
return(0);
}

if-else
if (expresin)
sentencia;
else
sentencia;

if (expresin)
{
sentencia1;
sentencia2;

}
else
Nota: una expresin en C es todo {
aquello que regresa un valor. Como
sentencia1;
por ejemplo una condicin lgica,
operaciones aritmticas, llamadas
sentencia2;
a funciones, una variable, una
}
constante (nmrica, carcter, etc.).

Operador Condicional ?:
(expresin)? sentencia1 :
sentencia2;
expresin? sentencia1 :
sentencia2;
Se ejecuta:
sentencia1 si expresin =
verdadero
sentencia2 si expresin = falso.
Es un operador ternario y puede
utilizarse para asignar variables:

switch-case
switch(expresin)
{
case 1: sentencias;
break;
case 2: sentencias;
break;
:
case n: sentencias;
break;
default:
sentencias_default;
break;
}

You might also like