Está en la página 1de 11

APUNTES / Pagina #1

Ing. Balebona
APUNTES DE ~ LENGUAJE C ~
1. ESTRUCTURA DE UN PROGRAMA EN LENGUAJE C
#include < >
#include < >
#define constante 20
fun1( ); /*cabecera de la funcin 1*/
{
.
/*cuerpo de la funcin 1*/
.
}
fun2( ); /*cabecera de la funcin 2*/
{
.
/*cuerpo de la funcin 2*/
.
}
main( ) /*programa principal*/
{
.
/*cuerpo del programa principal*/
.
a:=fun1();
b:=fun2();
.
.
}
APUNTES / Pagina #2
Ing. Balebona
2. REGLAS DE INTERS
(a) Punto y coma " ; " para separar instrucciones.
(b) Es costumbre que las instrucciones se escriban en
letra minscula.
(c) Utilizar variables que se puedan reconocer.
(d) Los comentarios deben ir entre /*.......*/ o {.........}
(e) La regla de oro dice que un programa debe utilizar el mayor
tiempo posible fuera del main principal.
(f ) Un buen programador nunca utiliza GO TO para para brincar
de un sitio a otro del programa. Se suele utilizar para
chequear de errores.
(g) No deben utilizarse las palabras reservadas por el Lenguaje C
como variables en el programa.
3. OPERADORES ARITMTICOS
- resta
+ suma
* multiplicacin
/ divisin
% mdulo o resto de una divisin
- - auto decremento
++ auto incremento
NOTA:
n = n + 1 es equivalente a: + + n n + +
n = n - 1 es equivalente a: - - n n - -
con la salvedad de que:
Si m = 4 y n = + + m entoces tanto el valor de m como de n es 5,
puesto que m se incrementa antes del calculo. Por su parte si el caso
fuese de que m = 4 y n = m + + entoces el valor de m sera 5 y el
valor de n sera 4.
APUNTES / Pagina #3
Ing. Balebona
4. OPERADORES RELACINALES
> mayor que
>= mayor o igual que
< menor que
< = menor o igual que
= = igual (condicional)
! = diferentes (condicional)
5. OPERADORES LGICOS
&& AND Lgico
OR Lgico
! NOT Lgico
6. OPERADORES DE TRATAMIENTO DE BIT.
& operador AND
operador OR
^ operador OR EXCLUSIVA
~ operador complemento a uno NOT
>> desplazamiento a la derecha
<< desplazamiento a la izquierda
7. ALGUNAS FUNCIONES MATEMTICAS.
pow(X,Y) X
Y
exp(X) e
Y
log(X) Ln(X)
log10(X) Log(X)
abs(X) valor absoluto de X , |X|
sin(X) seno de X (argumento en radianes)
cos(X) coseno de X (argumento en radianes)
tag(X) tangente de X (argumento en radianes)
asin(X) arco seno de X
acos(X) arco coseno de X
atan(X) arco tangente de X
APUNTES / Pagina #4
Ing. Balebona
8. ENTRADAS Y SALIDAS.
getche( ) Espera que se pulse una tecla con eco.
getch( ) Espera que se pulse una tecla sin eco.
getchar( ) Lee un carcter del teclado despus de ENTER.
putchar( ) Escribe un carcter en pantalla.
printf( ) Escribe datos en pantalla.
scanf( ) Lee datos de la pantalla.
9. FORMATOS.
%d nmero entero
%i nmero entero
%n nmero entero sin signo
%x nmero entero hexadecimal
%f nmero entero real
%c un carter
%s una cadena de carteres
printf("curso de Lenguaje C") escribe en pantalla curso de Lenguaje C
printf("x=%i",x) si x=10 entonces escribe en pantalla x=10
printf("C=%c",C) si C="A" entonces escribe en pantalla C=A
printf("C=%d",C) si C="A" entonces escribe en pantalla C=65
printf("C=%x",C) si C="A" entonces escribe en pantalla C=41
printf("x=%i y=%c z=%d", x,y,z)
10. CARCTERES NO REPRESENTABLES.
\b retroceso
\f avance de pgina
\n nueva lnea
\r retorno de carro
\t tabulador horizontar
\" comillas dobles
\' comilla simple
\0 nulo
\\ barra invertida
\v tabulador vertical
\a alerta (bell)
printf("ESTA ES: \n UNA \n SITUACION")
APUNTES / Pagina #5
Ing. Balebona
comprobar la siguiente instruccin
11. TAMAO Y RANGO DE LOS TIPOS DE DATOS BSICOS.
TIPO NUMERO DE BIT RANGO
char 8 -128 a 127
int 16 -32768 32767
float 32 -3.4E-38 a 3.4E +38
double 64 1.7E-308 a 1.7E+308
long double 80 3.4E-4932 a 1.1E4932
long char 8 0 A 250
void 0 no tiene valor
12. DECLARACIN DE VARIABLES.
char car1,car2,car3;
int m,n;
float x,y;
double z;
short corto
long largo
signed con signo
unsigned sin signo
APUNTES / Pagina #6
Ing. Balebona
13. ESTRUCTURA DE CONTROL.
A.- if (expresin condiconal) sentencia V else sentencia F
B.- (expresin condiconal)? sentencia V : sentencia F
C.- shitch(orden)
{
case 0 : Listar(); break;
case 1 : Modificar(); break;
case 2 : Insertar(); break;
default : errore();
}
D.- for(m=1;m<100;a+=2)
{
-------------
-------------
}
E.- while(expresin condicional)
{
-----------
-----------
}
F.- do
{
-----------
-----------
}
while(expresin condicional)
G.- break
H.- goto brinco;
brinco: (brinco sirbe de rotulo)
I.- exit() esta instruccin nos permite salir de cualquier parte del programa
al sistema operativo.
APUNTES / Pagina #7
Ing. Balebona
14. FUNCIONES.
Cuando una funcin devuelve un entero, no es necesario declararla de tipo
int, pues para el lenguaje todas las funciones, en principio, devuelven un
entero.
#include "stdio.h"
char Factor(integer g, integer f)
{
:
:
return();
}
main()
{
char Factor();b;
integer y,x;
if x<0 y:=3;
y:=4;
b:=Factor(y,x)
:
:
}
15. RECURSIVIDAD.
int Factorial (int n)
{
if (n<0) return(-1);
if ( !n ) return (1);
return (n*Factorial(n-1));
}
APUNTES / Pagina #8
Ing. Balebona
ASIGNACIONES PARA FIN DE SEMANA
1.- Estudiar el concepto de recursividad y explicar la funcin Factorial
2.- El valor de e
x
se puede aproximar por la siguiente serie:
x
n
e
x
x x x x x
n
= + + + + + + + 1
2 3 4 5
2 3 4 5
! ! ! !
.......
!
realize un programa que tome el valor de x y n como entrada y visualize la
suma para cada uno de los valores (mximo n=100)
3.-investigue las siguientes instrucciones:
delay()
gotoxy()
clrscr()
sound()
nosound()
textcolor
textbackground
windows
bioscom
4.-investigue la forma de expresar vectores o arrays (matrices)
APUNTES / Pagina #9
Ing. Balebona
int bioscom(int cmdo,char byte,int puerto)
#include<bios.h>
Esta funcin se utiliza para manipular un puerto asncronico de
comunicacin serie RS232.
CMDO SIGNIFICADO
0 Inicializa el puerto
1 Envia un carcter
2 Recibe un carcter
3 Devuelve un estado del puerto
PUERTO SIGNIFICADO
0 puerto com1
1 puerto com2
byte
7 6 5 4 3 2 1 0
Significad
o
datos datos parada paridad paridad baudios baudios baudios
BAUDIO BITS
9600 111
4800 110
2400 101
1200 100
600 011
300 010
150 001
110 000
PARIDAD SIGNIFICADO
00 SIN PARIDAD
10 SIN PARIDAD
01 PARIDAD IMPAR
11 PARIDAD PAR
APUNTES / Pagina #10
Ing. Balebona
BIT DE PARADA SIGNIFICADO
0 1 BIT DE PARADA
1 2 BIT DE PARADA
No. BIT DATOS significado
10 7 BIT DE DATOS
11 8 BIT DE DATOS
Por ejemplo, el valor de 0xDF (11011111) para el parmetro char
byte, programa el puerto con 4800 baudios, paridad par, 2 bit de parada
y 8 bit de datos.
La funcin bioscom() devuelve un valor de 16 bits. El byte alto (high)
contiene los bit de estado.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
High Low
bits devolucin de bioscom( )
7
Carcter disponible. El programa puede realizar una lectura del puerto
(cmdo=2)
6
Tampn lleno (overrun). Se ha recibido un carcter cuando el programa
an no haba vaciado el anterior
5
Error de paridad.
4
Error de trama (flaming error). El reconocimiento del carcter es
incorrecto.
3
Error de transmisin (break detect). Error en la lnea..
2
Registro de transmisin vaco. el programa puede enviar un carcter
(cmdo=1).
1
El registro de desplazamiento de la informacin est vaco.
0
Finalizado el tiempo concedido (time out).
7
Delta clear to send. El CTS ha cambiado de estado desde la ltima
lectura.
6
Delta set ready. El DSR ha cambiado de estado desde la ltima vez.
5
Trailing edge ring indicator. RI ha cambiado de estado.
4
Delta receive line signal detect.El LSD ha cambiado de estado.
3
Clear to send. Preparado par enviar.
2
Data set ready. Seal de llamada.
1
Ring indicator. Seal de llamada.
APUNTES / Pagina #11
Ing. Balebona
0
Receive line signal detected.
El byte bajo se codifica con los valores de la tabla anteriores solo
cuando cmdo = 0,1 3. Cuando cmdo es 2, bioscom( ) realiza una
lectura de puerto y devuelve el byte ledo.