Está en la página 1de 36

ELEMENTOSDEUN

LENGUAJEDE
PROGRAMACION
LenguajeC
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 61
Elementos de un Lenguaje
El Lenguaje C tiene los siguientes elementos:
Datos: numricos y de caracteres
Identificadores
Constantes
Variables
Operadores
Expresiones y asignacin de datos
Archivos de cabecera
Funciones Matemticas
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 62
Datos: numricos y de caracteres
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 63
Tipo Descripcin Tamao Rango
char Carcter 1 byte -128 a +127
int Entero 2 bytes -2
15
a +2
15
1
long Largo 4 bytes -2
31
a +2
31
1
float Punto
flotante
4 bytes -3.40 10
38
-1.18 10
-38
a
a
+3.40 10
38
+1.18 10
-38
double Doble
precisin
8 bytes -1.70 10
308
-2.70 10
-307
a
a
+1.70 10
308
+2.70 10
-307
Identificadores
Es el nombre con el que se hace referencia a una
funcin o a una variable.
Reglas:
Letras a..z, A..Zy digitos 0..9
Carcter subrayado (_)
El primer carcter debe ser una letra o un (_)
Se hace distincin entre maysculas y
minsculas
El ANSI C permite definir al identificador hasta
31 caracteres de longitud
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 64
Ejemplos
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 65
Identificador Vlido No Vlido
distancia
tiempo-total
caso_A
dolares$
PI
%final
velocidad_de_la_luz
Ejemplos
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 66
Identificador Vlido No Vlido
distancia X
tiempo-total X
caso_A X
dolares$ X
PI X
%final X
velocidad_de_la_luz X
Constantes
Las Constantes son valores que siempre son los
mismos.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 67
Constante Descripcin
Numrica Nmero entero o de punto flotante.
Ejm: 15, 16.4, -21
Carcter Cualquier carcter individual encerrado
entre comillas simples (a, Y, \n, etc.).
El cdigo ASCII establece una
equivalencia entre cada carcter y un
valor numrico correspondiente.
Constantes
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 68
Constante Descripcin
Cadena Conjunto de caracteres alfanumricos
encerrados entre comillas dobles.
Ejm: CB412, Hola Mundo
Simblica Se define con la directiva #define
del preprocesador.
#define PI 3.14159
#define mensaje Hola Mundo
Variables
Las Variables cambian de valor durante la
ejecucin del programa.
Declaracin de Variable:
tipo identificador = valor inicial ;
Ejemplos:
int exp, exf=14;
float prompc, promfi=12.5;
char letra, Letra, car=X;
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 69

opcional
Operadores
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 70
Aritmticos
+ Suma
- Resta
* Multiplicacin
/ Divisin
% Resto divisin entera
Incrementales
++ Incremento en 1
-- Decremento en 1
Lgicos
&& Y
|| O
! Negacin
Primarios
( ) Llamada funcin
[ ] Indice de arreglo
. Miembro estructura
Permiten realizar operaciones en el programa.
Operadores
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 71
Relacionales
== Igual que
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
!= No igual que
De Asignacin
= Asignacin simple
+= Asignacin suma
-= Asignacin resta
*= Asignacin
multiplicacin
/= Asignacin divisin
%= Asignacin resto
Expresiones y Asignacin de Memoria
Una expresin es un conjunto de constantes,
variables y operadores que se evalan durante la
compilacin dando lugar a una cantidad
numrica.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 72
m=9/2*3; Divisin entera (12)
n=m/5; Expresin variable (2.4 o 2)?
++m;
m++;
Incrementa el valor de m en 1
&m Direccin en memoria de m
funcion() Valor retornado por la funcin
Tabla de Cdigos ASCII
Fuente: http://www.elcodigoascii.com.ar/
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 73
Conversin entre carcter y entero
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 74
letra=I; Valor carcter
letra=letra+2; I 73 (ASCII)
I + 2 75
75 K (ASCII)
Divisin entera
entero/entero Valor entero
8/3*5 8/3 2
2*5 10
Evitar el igual qu entre decimales
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 75
Los nmeros decimales no se pueden almacenar,
en general, de forma exacta en la computadora.
Esto origina errores en los clculos y en las
comparacin igual queentre valores decimales.
Las Directivas y el Preprocesador
Las directivas son lneas que empiezan con #.
El procesador es un programa independiente que
analiza e interpreta las directivas.
En el programa utilizaremos: #include y #define
Ejemplo:
#include<stdio.h> : Incluye el archivo de
Funciones Entrada/Salida
stdio=standard-input-output
#define PI 3.14159 : Define la constante PI
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 76
Archivos de cabecera
Son archivos que contienen un conjunto de
funciones preprogramadas que se utilizan en el
lenguaje C.
En el programa se utiliza la directiva de
preprocesador: #include
#include<stdio.h> : Funciones Entrada/Salida
#include<math.h> : Funciones Matemticas
#include<string.h> : Funciones de Cadenas
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 77
Secciones de un Programa C
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 78
#include<stdio.h>
#define PI 3.14159
Directivas del Preprocesador
int main()
Inicio FuncinPrincipal
{
int a, b;
Declaracin, Inicializacin
de Variables
scanf(%d, &a);
Entrada de Datos

b= 5*a*a 4*a+ 3;
Expresiones yAsignacin

printf(b=%d\n,b);
Salida de Resultados

}
Fin Funcin Principal
Funciones de Entrada / Salida
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 79
Permiten a un programa recibir y enviar datos al
exterior.
Para su utilizacin en ANSI C, es necesario incluir
al comienzo del programa el archivo stdio.h con la
sentencia:
#include<stdio.h>
donde stdio proviene de standard-input-output.
Salida por Pantalla: printf
Imprime en la unidad de salida estndar (monitor)
texto, constantes y variables que se especifiquen.
printf( cadena de formato , expresin);
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 80
Especificadores de Formato
Especificadores Adicionales
Secuencias de Escape
Texto
Constante
Variable
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 81
Especificadores de
Formato
Tipo de la expresin
%c Caracter
%d Entero
%ld Entero largo
%f Punto Flotante
%lf Doble Precisin
%s Cadena de Caracteres
Especificadores de Formato
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 82
Especificadores
Adicionales
Efecto
Ancho J ustifica a la derecha
.Precisin Redondea al n de decimales
- J ustifica a la izquierda
+ Muestra el signo del valor
0 Llena con ceros segn el ancho
Especificadores de Formato
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 83
Secuencia
de Escape
Efecto
\n Salto de lnea
\t Tabulador
\r Retorno de carro
\ Comilla simple
\ Doble comilla
\\ Diagonal
Secuencias de Escape
Entrada por Teclado: scanf
Lee datos de la entrada estndar (teclado).
scanf( cadena de formato , &variable);
Similar a printf
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 84
Especificadores de Formato
Secuencias de Escape
Texto
Ejercicio
Escribir un programa en C que permita leer dos
nmeros complejos y calcular su producto.
Solucin.-
Num1= a +bi
Num2= c +di
Num1*Num2=?
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 85
Ejemplo
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 86
Inicio
Leer
radio
longitud 2*3.14159*radio
Escribir
longitud
Fin
Ejemplo
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 87
#include<stdio.h>
#definePI3.14159
int main()
{
float radio, longitud;
printf("Radio:");
scanf("%f",&radio);
longitud= 2*PI*radio;
printf("longitud=%f\n", longitud);
system("pause");
}
Modifican el flujo secuencial en la ejecucin del
programa.
Se denominan Condicionales o Bifurcaciones y
permiten elegir entre dos o ms opciones segn
ciertas condiciones.
En las condiciones se utilizarn:
Operadores relacionales : >, <, >=, <=, ==, !=
Operadores lgicos : &&, ||, !
Decisin y Bifurcacin
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 88
Decisin y Bifurcacin
Sentencia if
Sentencia if .. else
Sentencia if .. else mltiple
Sentencia switch
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 89
Decisiones: Sentencia if
Permite ejecutar o no una sentencia simple o
compuesta segn se cumpla o no una
determinada condicin.
if(condicin){
sentencia;
}
Las llaves son opcionales
cuando hay una sola sentencia.
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 90
condicin
sentencia
~
V
F
~
Sentencia if
Ejm:
if (nota>=10)
printf(Aprobado);
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 91
nota10
~
V
F
~
Esc
Aprobado
Decisiones: Sentencia if else
Permite realizar una bifurcacin, ejecutando una
parte u otra del programa, segn se cumpla o no
una determinada condicin.
if(condicin) {
sent_V;
}
else {
sent_F;
}
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 92
~
~
condicin
sent_V
V
F
sent_F
Sentencia if else
Ejm:
if (nota>=10)
printf(Aprobado);
else
printf(Desaprobado);
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 93
~
~
nota10
V F
Esc
Desaprobado
Esc
Aprobado
Sentencia if else mltiple
if(cond1)
sent1;
else if(cond2)
sent2;
else if(cond3)
sent3;
else if()

[else
sentn;]
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 94
~
~
cond1
sent1
V F
cond2
sent2
V F
cond3
sent3
V F

sentn
Sentencia if else mltiple
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 95
~
~
V F
V F
V F
10nota 20
Esc
Aprobado
Esc
Desaprobado
Esc
Reprobado
Esc
Nota no Vlida
6> nota 0
10>nota6
Sentencia if else mltiple
if(nota>=10&& nota<=20)
printf(Aprobado);
else
if(nota>=6&& nota<10)
printf(Desaprobado);
else
if(nota>=0&& nota<6)
printf(Reprobado);
else
printf(Notanovlida);
PROGRAMACION DIGITAL - CB412-I CICLO 2014-1 96