Está en la página 1de 26

Clase 09: Elementos de un programa en C

Prof. Edgardo Adrin Franco Martnez


http://computacion.cs.cinvestav.mx/~efranco
@efranco_escom

efranco.docencia@gmail.com

Estructuras de datos (Prof. Edgardo A. Franco)

Cdigo fuente en C
Elementos de un programa

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

Estructura de un programa en C
Ejemplo de programa en C

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Contenido

Un cdigo fuente en C, es un conjunto de lneas que expresan


computaciones bajo la sintaxis y semntica del lenguaje C. Un
programa escrito en C tiene como caractersticas sobresalientes, el
ser eficiente y veloz.
Como el lenguaje C es compilado, se requiere del empleo de un
compilador apropiado segn la plataforma en la que se desea
ejecutar el programa.

Cdigo
Fuente en C

Compilador
ANSI C (gcc)

Programa
ejecutable u
cdigo objeto

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Cdigo fuente en C

Un programa escrito en lenguaje C puede incluir


uno, varios o todos los elementos siguientes:
Comentarios
Identificadores
Constantes
Variables
Operadores
Sentencias o instrucciones
Macros del pre-procesador

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Elementos de un Programa

/*
Programa que calcula el de un circulo de radio dado por el usuario
Autor: Edgardo Adrin Franco Martnez
Versin 1.0 Septiembre 2012
Todo lo anterior es un comentario y todo lo que comienza con //
*/
#include <stdio.h> //Macros del pre-procesador
#define PI 3.141599
//Constantes
int main(void)
{
float area,radio;
//Variables y sus identificadores
printf("\nIntroduce el radio del circulo: "); //Sentencias
scanf("%f",&radio); //Sentencias
area=PI*radio*radio; //Sentencias y operadores
printf("\nEl rea de un circulo de radio %f, es: %f",radio,area);//Sentencias
return 0;//Sentencias
}

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Elementos de un Programa

Un comentario es un escrito que sirve de


explicacin de parte del programa para que se
entienda ms fcilmente.
Comentarios multi-lnea
Comienzan con /* y terminan con */
No puede anidarse un comentario dentro de otro.

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Comentarios

Comentarios de una sola lnea


Comienzan al principio de la lnea con //

E.g.
//Esto es un comentario
/* Esto tambin es
un comentario */

Los identificadores (IDs) son smbolos lxicos que


nombran entidades. El concepto es anlogo al de
"nombre". Nombrar las entidades hace posible
referirse a las mismas, lo cual es esencial para
cualquier tipo de procesamiento simblico.
Para el caso del lenguaje C
No pueden emplearse palabras reservadas como
identificadores
No pueden emplearse nombres de funciones que ya
existan en el programa o en la biblioteca estndar de C
No puede usarse el identificador main

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Identificadores

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

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Palabras reservadas
En los lenguajes de programacin, una palabra
reservada es una palabra que tiene un
significado gramatical especial para ese lenguaje
y no puede ser utilizada como un identificador
en ese lenguaje. En lenguaje C existen 32
palabras reservadas.

Los nombres de variables se escriben en minsculas, los


nombres de funciones comenzarn con letras
maysculas y terminarn con minsculas.
Suma_Matrices //Funcin
edad_alumno //Variable

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Identificadores (Convenciones)

Las constantes escritas con #define van con maysculas


como #define PI 3.1416
Utilizar el subguin para separar palabras intermedias.
Suma_Matrices

No emplear nombres cortos, sino adecuados para la el


entendimiento de la implementacin de una solucin.

En programacin, una constante es un valor que no puede ser


alterado durante la ejecucin de un programa.

Una constante corresponde a una longitud fija de un rea


reservada en la memoria principal del ordenador, donde el
programa almacena valores fijos.

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Constantes

En el lenguaje de programacin C
#define se utiliza para asignar un identificador a una constante.
#define PI 3.1416
#define NUM_COLUMNAS 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 NUM_COLUMNAS por 20.

10

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>;
E.g.
int a;
float area, radio, volumen;

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Variables

11

Tipo en C

Descripcin

Nmero de
bits

Rango

char

Carcter

0...255

int

Enteros

16

-32768... 32767

long

Enteros de largo
alcance

32

-2147483648...
2147483647

float

Reales

32

3.4E-38...
3.4E+38

double

Reales de doble
precisin

64

1.7E-308...
1.7E+308

*Los tamaos de los tipos de datos dependen de la arquitectura y sistema


operativo (actualmente los int son iguales a los long en tamao)

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Variables
(Tipos de dato simples)

12

Son palabras o smbolos que implican una accin


sobre ciertas variables.
Pueden ser unarios (1 variable), binarios (2
variables) o ternarios (3 variables).

Operadores Aritmticos
Operadores Relacionales
Operadores Lgicos
Operadores de Asignacin
Operadores de Direccin
Operadores de Bits

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores

13

Operador

Nombre

Descripcin

Suma

5+2 7

Resta

5-2 3

Multiplicacin

5*2 10

Divisin

5/2 2

Mdulo

5%2 1

(tipo de dato)

Cast forzado

(double)5 5.0

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores Aritmticos

14

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

if (a>=2f)

<=

Menor o igual que

if (a<=3)

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores Relacionales

15

Operador

Nombre

Descripcin

&&

Y (AND)

if ((a>3) && (a<9))

||

O (OR)

if ((a==2) || (a==3))

NEGADO
(NOT)

if (!(a==3)) es igual a
if (a!=3)

Importante (en C):


FALSO es igual a cero.
VERDADERO es cualquier valor diferente de cero.

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores Lgicos

16

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;

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores de Asignacin

17

Operador

Nombre

Descripcin

Operador
indireccin

&

Operador
direccin

Me da el valor que est


almacenado
en
una
direccin de memoria.
Tambin
sirve
para
declarar una variable
apuntador.
Me da la direccin de
memoria de una variable.

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores de Direccin

18

Operador

Nombre

Descripcin

<<

Corrimiento a la izquierda

b=a>>2;

>>

Corrimiento a la derecha

b=a<<3;

&

Y (AND) entre bits

c=a&128;

O (OR) entre bits

c=a|0x0a;

Complemento A1

c=~a;

O exclusivo (XOR)

c=^a;

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores de Bits

19

Operador
<<=
>>=
&=
|=
^=
=

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

Nota:
0x7f, 0x0a, 0x03 son un nmeros hexadecimales.

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

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Operadores de Asignacin para


bits

20

( ) [ ] ->

Alta prioridad

! ~ + - ++ -- & * sizeof

Unarios

* / %+-

Aritmticos

<< >>

Corrimiento de bits

< <= > >= == !=

Relacionales

& ^ | && || ?:

Bits / Lgicos / Condicional

= *= /= %= += -= &=
^= |= <<= >>=
,

Asignacin

Evaluacin

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Precedencia de Operadores

21

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 ;

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Sentencias o instrucciones

Pueden ser simples o compuestas. Las compuestas van entre


llaves:

sentencia_compuesta
{
sentencia_simple_1;
sentencia_simple_2;
:
sentencia_simple_n;
};

22

Sentencias de Repeticin
do while, while, for

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Sentencias de Seleccin
if else, switch case, ?:

Sentencias de Salto
return, break, continue
23

Directivas ms usadas del pre-procesador.


#define <nombre de macro> <nombre de reemplazo>
Se usa para definir constantes o cualquier sustitucin de macro

#undef <nombre de macro>

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Macros del pre-procesador

Quitar una definicin de nombre de macro que se haya definido


previamente

#include <archivo>
Instruye al compilador para incluir otro archivo fuente que esta
dado con esta directiva y de esta forma compilar otro archivo
fuente. El archivo fuente que se leer se debe encerrar entre
comillas dobles o parntesis de ngulo.

24

I. Directivas (macros) del pre-procesador


#include , #define, #if, #else, #endif, #line, etc.

II. Declaracin de Prototipos


Declaracin de funciones

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Estructura de un programa en C

III. Declaracin de variables globales

V. Funcin Principal
main( )

IV. Funciones definidas por el usuario

25

//Directivas del pre-procesador


#include <stdio.h>
#include <math.h>
#define VALOR 5.7 //Definicin de constantes
//Declaracin de prototipos
double modulo3D(double x, double y, double z);
//Declaracin de variables globales
double mod3; /* Variable global mod3*/

Clase 09: Elementos de un programa en C


Algoritmia y programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Ejemplo de programa en C

//Funcin principal
int main(void)
{
int x, y, z;
x=y=z=VALOR;
mod3=modulo3D(x,y,z);
printf(\nEl mdulo es: %lf,mod3);
return(0);
}
//Funciones definidas por el usuario
double modulo3D(double x, double y, double z)
{
return(sqrt(x*x+y*y+z*z));
}

26

También podría gustarte