Académique Documents
Professionnel Documents
Culture Documents
TIPO
int
char
float
DESCRIPCIN
Entero
Carcter
Nmero de punto flotante (nmero que
incluye punto decimal y/o exponente)
doubl Nmero de punto flotante de doble
e
precisin (ms cifras significativas y
mayor valor posible del exponente)
MEMORIA
2 bytes
1 byte
1 palabra (4
bytes)
2 palabras (8
bytes)
CONSTANTES ENTERAS
Una constante entera decimal puede ser cualquier combinacin
dgitos tomados del conjunto de 0 a9. Si la constante tiene dos
o ms dgitos, el primero de ellos debe ser distinto de 0
Ejemplo:
0 1
743
5280
32767
9999
Los siguientes ejemplos son incorrectos:
12,245
carcter ilegal (,)
36.0
carcter ilegal (.)
10 230
carcter ilegal (espacio en blanco)
123-45-6789
carcter ilegal (-)
0900
El primer dgito no puede ser cero
Una constante entera octal puede estar formada por cualquier
combinacin de dgitos tomados del conjunto de 0 a 7. el
primer dgito deber ser obligatoriamente 0, con el fin de
identificar la constante como un nmero octal.
Ejemplo
0
01
0743 077777
Secuencias de escape
Una secuencia de escape siempre comienza con una barra \ y es
seguida por uno o ms caracteres especiales.
Caracter
sonido (bell)
backspace
tab horizontal
tab vertical
nueva lnea
form feed
retorno de carro
comillas ()
apstrofo ()
signo interrogacin (?)
backslash (\)
nulo
Secuencia de
escape
Valor ASCII
\a
\b
\t
\v
\n
\f
\r
\
\
\?
\\
\0
007
008
009
011
010
012
013
034
039
063
092
000
Ejemplo:
int a, b, c;
char d;
.
.
.
a = 3;
b = 5;
c = a + b;
d = a;
.
.
.
a = 4;
b = 2;
c = a - b;
d = W;
.
// resultado = 2
// resultado = 2.333333
OPERADORES
Incremento y decremento
Colocando el operador incremento (++) se aumenta en 1 al valor
que tiene almacenado la variable a la cual se aplica este operador.
En forma similar si se coloca el operadar decremento (--) se
disminuye en 1 al valor de la variable
Este operador se puede colocar antes o despus de la variable. En
una expresin simmple no se nota la diferencia, pero en una
expresin compleja, s se nota.
Cuando este operador es colocado despus de la variable, en la
expresin, primero se usa el valor de la variable y luego se
incrementa en 1 a la variable; en cambio, cuando es colocado a la
izquierda de la variable, primero se incrementa el valor de la variable
en 1 y luego el nuevo valor se usa en la expresin.
Ejemplo:
int i=3, j k=0;
k= ++i;
// i=4, k=4
k = i ++; // i=4, k=3
k= --i;
// i=2, k=2
k= i--;
// i=2, k=3
i=j=k-// i=0, j=0, k=-1
OPERADORES ARITMTICOS
El lenguaje C, incorpora el conjunto, estndar de operadores aritmticos
para la suma
13
7
30
3
1
14.5
10.5
25.0
6.25
OPERADOR DE ASIGNACIN
La asignacin se realiza mediante un operador de
asignacin (=). Se puede utilizar una expresin con un
operador de asignacin en una expresin ms
compleja, como puede ser:
valor1 = 8 * (valor2 = 5);
valor1 = valor2 = valor3 = 0;
a = a + 5 -----
b = b - c -----
d = d*6 ----
e = e/f ---- >
a+= 5
b-= c
d*=6
e/= f
Operadores relacionales
Operador
==
!=
>
<
<=
>=
Significado
Igualdad (No asignacin)
Desigualdad
Mayor que
Menor que
Menor o igual que
Mayor o igual que
Ejemplo.- Supongamos i = 1, j = 2 y k = 3
Expresin
i<j
(i + j) >= k
(j + k) > (i +
5)
k != 3
j == 2
Interpretaci
n
Valor
cierto
cierto
falso
falso
cierto
1
1
0
0
1
Operadores lgicos
Operador
!
&&
||
Significado
NOT
AND
OR
Ejemplo.- i = 7, f = 5.5, c = w
Expresin
Interpreta
cin
Valor
(i >= 6) && (c ==
w)
(i >= 6) || (c ==
119)
(f < 11) && (i > 100)
(c != p) || ((i + f)
<= 10)
! (i > (f + 1))
cierto
cierto
falso
(cierto
falso
1
1
0
1
0
int main( )
{
float foperando1, foperando2;
printf( \nIntroduzca operando1 y operando2: );
scanf(%f%f, &foperando1, &foperando2);
printf(\n operando1 > operando2 es %d,
(foperando1>foperando2));
printf (\n operando1 < operando2 es %d,
(foperando1<foperando2));
printf (\n operando1 >= operando2 es %d,
(foperando1>=foperando2));
printf (\n operando1 <= operando2 es %d,
(foperando1<=foperando2));
printf (\n operando1 == operando2 es %d,
(foperando1==foperando2));
printf (\n operando1 != operando2 es %d, (foperando1!
=foperando2));
printf (\n operando1 && operando2 es %d,
Operador condicional
Syntaxis:
condicin ? expresion_caso_verdadero :
expresion_caso_falso
if (A <= c && c <= Z)
printf (%c, a + c A);
else
printf(%c, c);
Operador coma
Evala dos expresiones donde la sintaxis permite slo una, el
valor del operador coma es el valor de la expresin que aparece
a la derecha del operador. El formato de la expresin es:
expresin_izquierda , expresin_derecha
Normalmente, el operador coma se utiliza en los bucles for en
que se itera ms de una variable. Por ejemplo:
for (min=0, max=longitud-1; min < max; min++, maxx--) {
.
.
.
}
Entrada Salida
#include "stdio.h
int _tmain(int argc, _TCHAR* argv[])
{
char c
= 'A',
ptam1[] = "Quien a buen rbol se arrima ",
ptam2[] = "buena sombra le cobija.";
int iln
= 0,
ivalor
= 1234;
double dpi
= 3.14159265;
printf("\n[%2d] %c", ++iln, c); //imprime c
printf("\n[%2d] %d", ++iln, c); //imprime el codigo ASCII de c
printf("\n[%2d] %c", ++iln, c); //ancho minimo 1
printf("\n[%2d] %5c", ++iln, c); //ancho minimo 5, justificado a la
derecha
printf("\n[%2d] %-5c", ++iln, c); //ancho minimo 5, justificado a la
izquierda
printf("\n[%d] %s", ++iln,ptam1); //29 caracteres no nulos,
automaticamente
printf("\n[%d] %s", ++iln,ptam2); //23 caracteres no nulos,
automaticamente
#include "stdafx.h"
#include "iostream.h"
inline long cuadrado(int iValor) {return iValor * iValor;}
int _tmain(int argc, _TCHAR* argv[])
{
int iValor = 5;
cout << cuadrado(iValor)
<< endl;
return 0;
}
Tipo
Biblioteca a
la cual
Sintaxis
pertenece
Descripcin
Ejemplo
1 abs(i)
int
stdlib.h
Devuelve el valor
absoluto de i
x = abs(-7) // x es 7
2 acos(d)
double
math.h
Devuelve el arco
coseno de d
3 asin(d)
double
math.h
4 atan(d)
double
math.h
5 atan(d1, d2)
double
math.h
stdlib.h
Convierte la cadena
s a una cantidad de
doble precisin.
double atof(const char *cadena)
Requiere el llamdo
de la biblioteca
math.h
Nombre de
#
funcin
6 atof(s)
double
Devuelve el arco
seno de d
Devuelve la arco
tangente de d.
Calcula el arco
double atan(double d);
tangente del
long double tanl(long double d); argumento x.
Requiere el llamado
de la biblioteca
complex.h
Devuelve el arco
tangente de d1/d2
angulo = asin(0.707); //
aproximadamente phi/4
angulo = atan(y, x)
double x;
char *cad_dbl = "200.85"; ...
x=atof(cad_dbl); // convierte la
cadena "200.85" a valor real
atoi(s)
atol(s)
calloc(n, s)
int
long
void(puntero)
Convierte la cadena s
int i;
a un entero.
char
La cadena debe tener
*cad_ent="123";
el siguiente formato:
...
[espacio en blanco]
i=atoi(cad_ent);
[signo][ddd] (siendo
//convierte la cadena
obligatorio los digitos
"123" al entero 123
decimales).
stdlib.h
malloc.h y stdlib.h
o bien
alloc.h y
stdlib.h
Reserva memoria
para una formacin
de n elementos , cada
uno de s bytes.
Devuelve un puntero
void *calloc(size_t n, al principio del
size_t s);
espacio reservado.
Si no existente
bastante espacio para
el nuevo bloque o
bien n o s es 0, calloc
devuelve nulo.
stdlib.h
long *buffer
buffer=(long *)
calloc(40,
sizeof(long));
10
11
12
13
ceil(d)
cos(d)
cosh(d)
difftime(11, 12)
double
double
double
double
math.h
Devuelve un valor
double ceil(double redondeado por
redondeo=ceil(5.1);
d);
exceso al siguiente //redondeo es 6
entero mayor
math.h
double cos(double
d);
Devuelve el coseno coseno_x=cos(1.65
complex
de d
43)
cos(complex d);
math.h
double cos(double
d=1.00;
d);
Devuelve el coseno
printf("d=
complex
hiperblico de d
%f.\n\n,d);
cos(complex d);
time.h
double
difftime(time_t
hora2, time_t
hora1)
Devuelve la
diferencia de
tiempo 11(hora2) 12(hora1) , donde
11 y 12 representan
el tiempo
transcurrido
despues de un
tiempo base (ver
funcin time)
14
exit(u)
void
stdlib.h
void exit(int
estado)
15
exp(d)
double
math.h
Eleve e a la
potencia d
double exp(double
(e=2,7182818... es
d);
la base del sistema
complex
de logaritmos
exp(complex d)
naturales
(neperianos))
16
fabs(d)
double
math.h
d=100.00;
y=exp(d);
printf("El
exponencial de x=
%f.\n\n",y);
Inicio
Arcill
a>
30
Si
Si
No
lim
o>
50
No
aren
a<
50
Si
No
No
Si
Lim
o>
50
No
Aren
a
50
Si
Si
Arcill
a>
20
Si
Si
No
lim
o>
50
No
aren
a
50
No
aren
a
80
Si
9
No
1
0
Sentencia WHILE:
La sentencia while (MIENTRAS,en espaol) es una
sentencia usada en los lenguajes de programacin para
repeticiones. Con esta sentencia se evala una condicin y
se repite un determinado proceso hasta que la condicin
deje de ser verdadera.
Estructura:
En lenguaje C++ la sentencia while se aplica se la siguiente
manera:
while(condicin)
{
// proceso
}
En la condicin colocaremos la variable afectada por la
condicin.
El proceso de realizara mientras que la condicin sea
verdadera.
Ejemplo
#include<conio.h>
#include<stdio.h>
int nro;
main()
{
scanf("%d",&nro);
while(nro<0) //Se ejecuta el proceso mientras el
nmero sea menor a 0.
{
printf("El nmero debe ser positivo"); //Corrige al
usuario.
scanf("%d",&nro); //Pide ingresar de
nuevo el nmero.
}
}
Sentencia DO WHILE:
La sentencia Do While (HACER MIENTRAS, en espaol)
funciona igual que el While con una pequea diferencia que
radica en que el While comn, el proceso, a menos que se
cumpla la condicin puede nunca ejecutarse. En el Do While,
en cambio, siempre se ejecutar la primera vez y luego se
seguir repitiendo si se cumple la condicin. (Se ejecuta a una ves)
mientras q el while no se ejecuta
Estructura:
En lenguaje C++ la sentencia do While se aplica de la
siguiente manera:
do
{
// Proceso
}
while(condicin);
El proceso se realizara al menos una vez y luego se
comprobara si la condicin es verdadera, de serlo se repetir
Ejemplo
#include<conio.h>
#include<stdio.h>
int nro;
main()
{
printf("Ingrese 0 para salir del programa");
do
{
scanf("%d",&nro);
printf("\nEl nmero ingresado es:%d",nro);
}
while(nro!=0);
}
Sentencia FOR:
La sentencia for es una sentencia usada en los lenguajes de
programacin para repeticiones. Con esta sentencia se define
una variable numrica y se repite un determinado proceso la
cantidad de veces que se le indica en la declaracin de la
sentencia.
Estructura:
for(definicin de la variable;numero de veces que se repetir el
proceso;suma numrica del contador)
{
// proceso que se repite
}
En la definicin de variable se se coloca la variable que
utilizaremos para la repeticin.
El el numero de veces que se repetir el proceso se coloca la
condicin mediante la cual se repetir el proceso, esta debe de
constar de la variable definida, un operador (>,<,=, etc.) y la
cantidad de veces que se repetir.
En la suma numrica colocaremos la variable definida seguida
de un valor para incrementar esta variable hasta que se cumpla
el numero de veces que se repetir, generalmente se utiliza el
Ejemplo
#include<conio.h>
#include<stdio.h>
int nro,i;
main()
{
for(i=0;i<5;i++)
{
scanf("%d",&nro);
printf("Numero %d: %d",i,nro);
}
}
Sentencia IF:
La sentencia if (SI,en espaol) es una sentencia muy usada
en los lenguajes de programacin. Su funcionamiento es
simple. Se evala una condicin, si es verdadera se ejecuta
un proceso y si es falsa se ejecuta otro.
Estructura:
if(condicin)
{
// proceso 1
}
else
{
// proceso 2
}
El proceso 1 es el que se realiza en caso de que la
condicin sea verdadera. El proceso 2 no es obligatorio, es
decir, puede o no estar, y se ejecuta si la condicin es
falsa.
Ejemplo
#include<conio.h>
#include<stdio.h>
int nro;
main()
{
scanf("%d",&nro);
if(nro>0)
{
printf("El nmero es positivo");
}
else
{
printf("El nmero es negativo");
}
}
SUBPROGRAMAS O FUNCIONES
mein principal) no debe faltar
Funcin.-
Recursividad
La recursividad tiene lugar en un programa cuando una funcin se
llama a s misma. Inicialmente, puede parecer un bucle infinito, pero
no es as. Tanto Como C++ admiten la recursividad. Los algoritmo
recursivos permiten resolver problemas de forma creativa, legible y
concisa.
double dfactorial (double drespuesta)
{
if (SI) (drespuesta <= 1.0)
rerturn (1.0)
else (en caso contrario)
return(drespuesta*dfactorial(drespuesta-1.0));
}
main( )
{
ARRAYS
- Conjunto de datos
DECLARACIN DE ARRAYS
int iarray[12]; //un array de 12 enteros
char carray[20]; // un array de 20 caracteres
No se puede usar nombre de variable dentro de los corchetes en la declaracin
de un array. Es mejor usar constantes definidas para especificar el tamao de
los arrays
#define iARRAY_MAX 20 define constantes
#define fARRAY_MAX 15
int iarray[iARRAY_MAX] tamao de array 20
float farray[fARRAY_MAX]
=
=
=
=
=
=
=
=
=
=
1
2
3
4
5
6
7
8
9
10
x[0]
x[0]
x[0]
x[0]
x[0]
x[0]
=
=
=
=
=
=
0
0.25
0
-0.50
0
0
color[0] = R
color[0] = E
color[0] = D
=
=
=
=
=
=
=
=
=
=
3
3
3
0
0
0
0
0
0
0
x[0]
x[0]
x[0]
x[0]
x[0]
x[0]
=
=
=
=
=
=
-0.3
0
0.25
0
0
0
=
=
=
=
=
=
1
2
3
4
5
6
x[0]
x[0]
x[0]
x[0]
=
=
=
=
0
0.25
0
-0.5
Procesamiento de un Array
Se rrealiza mediante bucles y en cada paso del bucle se procesa un
elemento del array
Ejemplo: Se desea obtener el promedio ponderado de un alumno
Inicio
Pedir
ncurs
os
Para i=1
hasta
ncursos
Pedir
curso(i)
nota(i),
cred(I)
Prox.
i
Sum
acumula
1
Para i=1
hasta
ncursos
SumNxC+=nota(i)*c
red(i)SumaCred+=c
red(i)
Prox.
i
Pp=SumNxC/Suma
Cred
Mostr
ar Pp
Fin
main()
{
char curso[20];
int ncursos, nota[10], cred[10], i, SumNxC, SumCred;
float Pp;
printf(Ingresar numero de cursos: ); scanf(%d,&ncursos);
for(i = 0; i < ncursos; i++) {
printf(Nombre curso: ); scanf(%s,curso);
printf(Nota = ); scanf(%d, ¬a[i]);
printf(Crreditos = ); scanf(%d,&cred[i]);
}
for(i = 0; i < ncursos; i++) {
SumNxC += nota[i] * cred[i];
SumCred += cred[i];
}
Pp = (float) SumaNxC/SumCred;
printf(El Prom. Ponderado es %4.2f,Pp);
}