Escolar Documentos
Profissional Documentos
Cultura Documentos
Programacin
Introduccin a la Informtica
Departamento de Sistemas
Universidad del Cauca
2006
Agenda
LENGUAJE DE PROGRAMACION C
Caractersticas
Breve Historia
ESTRUCTURA GENERAL DE UN PROGRAMA
Funcin principal
Sentencias
Encabezados
ELEMENTOS DEL LENGUAJE
Datos, Tipos de Datos
Identificadores
Variables, Constantes
Expresiones, Operadores y Funciones
Primitivas
CREACION Y COMPILACION DE UN
PROGRAMA
2
Lenguaje de Programacin C
Caractersticas del Lenguaje C:
El ms difundido de los lenguajes de programacin
existentes.
Combina elegancia y sutileza con potencia y
flexibilidad.
A menudo se lo considera Lenguaje de Medio Nivel.
Estructurado.
Creado por y para programadores.
Breve Historia:
Apareci a finales de los 70s como resultado
evolutivo de otros lenguajes.
Creado por Brian Kernighan y Dennis Ritchie en Bell
Telephone Laboratories Inc. (AT&T Bell Laboratories).
Estructura General de un
Programa
Todos los programas en C comparten ciertos
componentes y rasgos esenciales:
Funciones
- main() Sentencias
Encabezados
/*Programa de Ejemplo en C*/
#include stdio.h
int main()
{
printf (Este es un breve programa en C);
return 0;
}
Datos
Son los valores con los que opera un programa.
TIPOS
DE
DATOS
Estructurados: Hacen
referencia a un grupo de
casillas de memoria
Numricos
Lgicos
Alfanumricos
Entero
Real
Caracteres
Cadenas
Tipos de Datos
NUMRICOS:
ENTERO: positivos o negativos, no tienen parte
decimal.
REAL: positivos o negativos, tienen parte decimal.
LGICOS:
BOOLEANO: Solo puede tomar dos valores: Verdadero
o Falso.
Se utiliza para representar las alternativas (s/no) a
Tipo
Significado
Palabra
determinadas
condiciones.
caracter
entero
flotante
doble
sin valor
dato de caracter
nmeros enteros con signo
nmeros en punto flotante
nmeros en punto flotante de doble
precisin
sin valor
Clave
char
int
float
double
void
Tipos de Datos
ALFANUMRICOS:
LETRAS: (a...z) o (A...Z)
DIGITOS: (0...9)
SIMBOLOS ESPECIALES: ], [, , *, ?, =, ), (, /, &, %, $, #,
, etc
CARACTER: Representa un solo dato alfanumrico.
Se caracteriza por estar entre comillas simples
Ejm: a, 5, ?
CADENA:
Contiene una serie finita de caracteres.
Se caracteriza por estar entre comillas dobles .
Ejm: Pepito Prez & Cia, ao 2005.
Identificadores
Nombres elegidos por el programador para
representar
entidades
(variables,
constantes,
funciones, etc.) en el programa.
Reglas de creacin:
Comenzar con letra o con el
caracter de subrayado
Contener letras, dgitos o caracter
subrayado
No debe contener espacios en
blanco
Diferencia maysculas de
minsculas
No usar Palabras Reservadas ni
nombres de Funciones de la
Biblioteca Estndar.
Variables, Constantes
Los datos se guardan en casillas (espacios) de memoria
para su utilizacin y tienen un NOMBRE que es su
identificador.
Variables: Posicin en memoria, referenciada por un
identificador, que puede tomar distintos valores a lo
largo del programa.
Constantes: Posicin de memoria, referenciada por
un identificador, al que se le asignar un valor que
no se podr modificar a lo largo del programa
10
Variables
Almacenan un valor (Datos) que puede cambiar en el
transcurso de la ejecucin del programa, cuantas veces
sea necesario.
Formato para declarar variables:
Tipo_de_Dato
Nombre_Var1,
Nombre_VarN
Ejm:
int Edad
float Estatura
char Genero
char* Nombre
Nombre_Var2,...,
Luego de la creacin,
las variables estn
indefinidas, es decir
no tienen un valor
definido.
11
Constantes
Son valores reales, no variables, cuyo valor no cambia.
Tipos:
Constantes enteras: 1, 658, 1000000, 15, etc.
Constantes reales:
3.1416, 8000000.12, 58, etc.
Constantes de carcter:
'a', 'B', ';', '<', '+', 8 etc.
Constantes de cadena:
"Hola", "Mi tel es
12345!!", etc.
Constantes lgicas:
Verdadero, Falso
PI = 3.141592
12
e = 2.718282
Palabras Reservadas
Solo las puede utilizar el
lenguaje
(condicionales,
smbolos especiales, etc.) .
Las variables y las constantes
no
se
deben
nombrar
utilizando
las
palabras
reservadas del lenguaje de
programacin.
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigne
d
void
volatile
while
Listado de palabras
reservadas en C
13
Operadores
En lenguaje C, como en todos los lenguajes de alto
nivel, juegan un papel preponderante los operadores,
por medio de los cuales
es posible establecer
modificaciones sobre las variables o influencia de las
unas sobre las otras.
Operadores
Operadores
Operadores
Operadores
Aritmticos
Lgicos
Relacionales
de Asignacin
Jerarqua de Operadores
14
Operadores Aritmticos
EXPRESION ARITMTICA:
OPERADORES
ARITMTICOS:
Es
una
combinacin
de
variables,
constantes
y
operadores
aritmticos
que
genera un resultado de tipo
numrico.
Operador
Significado
Suma
125.78 + 10
135.78
Resta
65.30 32.33
32.97
Multiplicacin
8.25 * 7
57.75
Divisin
15 / 4
Potencia
3^2
MOD (%)
Modulo (Residuo)
15 MOD 2
DIV
Divisin entera
15 DIV 2
15
Operadores Aritmticos
-Jerarqua-
Jerarqua
Significado
()
(Mayor)
|
|
|
V
(Menor)
Parntesis
^
*, /, MOD, DIV
(Mismo nivel)
+, - (Mismo nivel)
Potencia
Multiplicacin, Divisin,
Modulo, Divisin entera
Suma , Resta
16
EJEMPLO:
15 / 2 * (7 + (68 15 * 33 + (45 ^ 2 / 16) / 3) /15) + 19
3
7.5
495
2025
2
126.5625
4
42.19
5
-427
6
-384.8125
7
-25.654
8
-18.6541
10
-139.9062
11
-120.9062
17
Operadores Lgicos
Permiten realizar condiciones complejas a partir de
condiciones simples.
Tablas de Verdad para los operadores
lgicos:
A
A&&
A
B
||
OR
B
0
&&
AND 0
0
0
0
!
NOT 0
1
0
1
A||B
!A
Significado
(Mayor)
|
|
|
|
V
(Menor)
NOT P
No es cierto que P,
Es FALSO que P
P AND Q
P OR Q
NOT
AND
OR
18
Operadores Relacionales
Operador
Significado
Ejemplo
Resultado
==
Igual a
hola == lola
FALSO
!=
Diferente de
a != b
VERDADERO
>
Mayor que
22 > 11
VERDADERO
>=
35 >= 20
VERDADERO
<
Menor que
7 < 15
VERDADERO
<=
15 <= 22
FALSO
EJEMPLO:
(15 >= 7 * 3 ^ 2 AND 8 > 3 AND 15 > 6) OR NO (7 * 3 < 5 + 12 * 2 div 3 ^ 2)
2
3
VERDADERO VERDADERO
10
21
24
63
FALSO
12
6
FALSO
13
7
14
FALSO
15
11
2
FALSO
VERDADERO
VERDADERO
20
Operadores de Asignacin
Operad
or
Operacin
Asignacin
++
Incremento
--
Decremento
+=
Suma y Asignacin
-=
Resta y Asignacin
*=
Multiplicacin y Asignacin
/=
Divisin y Asignacin
%=
Mdulo y Asignacin
Operadores
Unarios
Operado
r
Operacin
Complemento a uno.
Operando entero
21
Jerarqua de Operadores
Operadores Ordenados por
prioridad
{ }, ( ), [ ]
- (unario), ~, !, ++
*, /, %
+, <, <=, >, >=
==, !=
&&
||
22
EJEMPLO:
((1580 mod 6 * 2 ^ 7) > (7 + 8 * 3 ^ 4)) >((15*2) == (60 * 2 / 4))
2
2
3
256
4
81
1
128
7
FALSO
6
655
5
648
8
30
9
120
10
30
11
VERDADERO
12
FALSO
23
Funciones Primitivas
A veces se necesitan otros operadores especiales
diferentes de los ya nombrados que son funciones
predefinidas o internas del lenguaje.
Aceptan argumentos.
Producen un solo resultado de diferentes tipos.
Las mas usuales son: (siendo x el argumento de la
funcin)
Funcin
Descripcin
Tipo de argumento
Abs (x)
Valor absoluto de x
Entero o real
(x)
Seno
Seno de x
Entero o real
Coseno (x)
Coseno de x
Entero o real
Ln (x)
Logaritmo neperiano de x
Entero o real
Log10 (x)
Logaritmo decimal de x
Entero o real
Redondeo (x)
Redondeo de x
Real
Cuadrado (x)
Cuadrado de x
Entero o real
Raz (x)
Raz cuadrada de x
Entero o real
Resultado
Igual que argumento
Real
Real
Real
Real
Entero
Igual que argumento
Real
24
EJEMPLO
Pasar la siguiente expresin a una expresin algortmica
utilizando funciones primitivas.
3x 2 y 2 x y
4 x 4 xy y
2
EXPRESIN ARITMETICA
25
Funciones de Entrada/Salida
La entrada y salida de
informacin (E/S), se puede
gestionar mediante la
funcionalidad de la biblioteca
stdio.
Entrada: scanf()
Salida: printf()
Ejemplo: Leer un nmero por
teclado y mostrarlo
int num;
scanf(%d,&num);
printf(El nmero es:
%d,num);
Secuencias de Escape:
\n
Nueva lnea
\t
Tabulador
Horizontal
\v
Tabulador Vertical
\b
Retroceder Espacio
\r
Retorno de carro
\f
Alimentar una
pgina
\a
Pitar
\
Escribir comilla
simple
\
Escribir comilla
doble
\\
Escribir barra hacia
atrs
%d
%f
%c
Formatos E/S
entero
coma flotante 26
caracter
Creacin y Compilacin de un
Programa
Editor
Disco
Preprocesador
Disco
Compilador
Disco
Editor de Enlaces
Disco
Memoria Primaria
Cargador
Disco
.
.
.
Memoria Primaria
CPU
.
.
.
27
Buenas Prcticas de
Programacin
28
Bibliografa:
Deitel y Deitel. C++ Cmo programar. Prentice Hall
1999.
Hernandez G, Jaime y otros. Curso prctico de
programacin de computadoras. Cekit 1999.
Schildt, Herbert. C Gua de Autoenseanza. McGraw
Hill 1994.
29