You are on page 1of 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.

Comentarios de una sola lnea


Comienzan al principio de la lnea con //

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

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Comentarios

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

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.
char int float double long void if else do while default break continue goto struct return auto extern register const

short
signed unsigned

for
switch case

union
enum typedef

static
volatile sizeof

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

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

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.

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Identificadores (Convenciones)

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. 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.

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Constantes

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
char
int

Descripcin
Carcter
Enteros

Nmero de bits
8
16

Rango
0...255
-32768... 32767

long
float double

Enteros de largo alcance


Reales Reales de doble precisin

32
32 64

-2147483648... 2147483647
3.4E-38... 3.4E+38 1.7E-308... 1.7E+308
12

*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)

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
Suma Resta Multiplicacin Divisin

Descripcin
5+2 7 5-2 3 5*2 10 5/2 2

% (tipo de dato)

Mdulo Cast forzado

5%2 1 (double)5 5.0


14

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Operadores Aritmticos

Operador
== != > <

Nombre
Igual a Diferente de Mayor que Menor que

Descripcin
if (a==s) if (a!=null) if (a>0.5) if (a<2l)

>= <=

Mayor o igual que Menor o igual que

if (a>=2f) if (a<=3)
15

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Operadores Relacionales

Operador && || !

Nombre Y (AND) O (OR) NEGADO (NOT)

Descripcin if ((a>3) && (a<9)) if ((a==2) || (a==3)) 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
Operador indireccin

Descripcin
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.

&

Operador direccin

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Operadores de Direccin

18

Operador
<< >>

Nombre
Corrimiento a la izquierda Corrimiento a la derecha

Descripcin
b=a>>2; b=a<<3;

&
| ~ ^

Y (AND) entre bits


O (OR) entre bits Complemento A1 O exclusivo (XOR)

c=a&128;
c=a|0x0a; c=~a; c=^a;
19

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Operadores de Bits

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

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

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

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

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 ;
Pueden ser simples o compuestas. Las compuestas van entre llaves:

sentencia_compuesta { sentencia_simple_1; sentencia_simple_2; : sentencia_simple_n; };

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Sentencias o instrucciones

22

Sentencias de Repeticin do while, while, for


Sentencias de Salto return, break, continue

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Sentencias de Seleccin if else, switch case, ?:

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>


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

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Macros del pre-procesador

I. Directivas (macros) del pre-procesador


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

II. Declaracin de Prototipos


Declaracin de funciones

III. Declaracin de variables globales

V. Funcin Principal
main( )

IV. Funciones definidas por el usuario

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Estructura de un programa en C

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*/ //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)); }

Clase 09: Elementos de un programa en C Algoritmia y programacin estructurada Prof. Edgardo Adrin Franco Martnez

Ejemplo de programa en C

26

You might also like