Академический Документы
Профессиональный Документы
Культура Документы
TIPO
int
char
float
DESCRIPCIN
Entero
Carcter
Nmero de punto flotante (nmero que incluye
punto decimal y/o exponente)
double Nmero de punto flotante de doble 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 doso 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
Una constante entera hexadecimal debe comenzar por 0x 0X. Puede aparecer
despus cualquier combinacin de dgitos tomados del conjunto de 0 a 9 y de a a
f (tanto minsculas como maysculas).
Ejemplo:
0x 0X1
0X7FFF
0Xabcd
Constantes de punto flotante
Es un nmero en base 10 que contiene un punto decimal o un exponente (o ambos)
Ejemplo:
0.
1.
0.2
827.602
5000.
0.000743
12.3
315.0066
2e-8
0.006e-3
1.6667E+8
.12121212e12
Constantes de carcter
Es un solo carcter encerrado con comillas simples
Ejemplo:
A
x
3
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
VARIABLES Y ARRAYS
Una variable es un identificador que se utiliza para representar cierto tipo de
informacin dentro de una determinada parte del programa. En su forma ms
sencilla, una variable contendr un dato simple, esto es, una cantidad numrica o
una constante de carcter. En algn punto del programa se le asiginar a la variable
un determinado valor. Este valor se puede recuperar despus en el programa con
simplemente hacer referencia al nombre de la variable.
A una variable se le pueden asignar diferentes valores en distintas partes del
programa, de esta forma la informacin representada por la variable puede cambiar
durante la ejecucin del programa. Sin embargo, el tipo de datos asociado a la
variable no puede cambiar.
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;
k = i ++;
k= --i;
k= i--;
i=j=k--
// i=4, k=4
// i=4, k=3
// i=2, k=2
// i=2, k=3
// i=0, j=0, k=-1
OPERADORES ARITMTICOS
El lenguaje C, incorpora el conjunto, estndar de operadores aritmticos para la suma
Valor
a+b
ab
a*b
a/b
a%b
13
7
30
3
1
Valor
v1 + v2
v1 v2
v1 * v2
v1 / v2
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
Interpretacin
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
(i >= 6) && (c == w)
(i >= 6) || (c == 119)
(f < 11) && (i > 100)
(c != p) || ((i + f) <= 10)
! (i > (f + 1))
Interpretacin
Valor
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, (foperando1&&foperando2));
printf (\n operando1 || operando2 es %d, (foperando1||foperando2));
return(0);
}
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--) {
.
.
.
}
SUBPROGRAMAS O FUNCIONES
FUNCIONES DE BIBLIOTECA STANDARD
FUNCIONES DEFINIDAS POR EL USUARIO
Nombre de la funcin
Declaracin de parmetros.- Se tiene que declarar los tipos de los parmetros que
deben coincidir con los de los argumentos (los que se usan en la llamada a la
funcin). Los identificadores usados en los parmetros son locales porque no son
reconocidos fuera de la funcin.
Cuerpo de la funcin .- Es una sentencia compuesta que define las acciones que debe
realizar sta.
// convierte_mayuscula_a_minuscula.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h
#include conio.h
char minuscula(char c)
{
return(('A' <= c && c <= 'Z') ? ('a' + c - 'A') : c);
}
int _tmain(int argc, _TCHAR* argv[])
{
char carmin, carmay, d;
printf("Introducir un caracter en mayuscula. \n");
carmay = getchar( );
carmin = minuscula(carmay);
printf("%c\n",carmin);
d = getch( );
return 0;
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 C omo C++
admiten la recursividad. Los algoritmo recursivos permiten resolver problemas de
forma creativa, legible y concisa.
double dfactorial (double drespuesta)
{
if (drespuesta <= 1.0)
rerturn (1.0)
else
return(drespuesta*dfactorial(drespuesta-1.0));
}
main( )
{
Inicio
Arcilla
> 30
Si
No
Arcilla
> 20
Si
Si
limo
> 50
Si
No
arena
< 50
No
No
Si
Limo
> 50
No
No
Arena
50
Si
limo
> 50
Si
No
arena
50
No
arena
80
Si
No
Si
1
10
Sentencia for
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
printf("\n[%d] %5s", ++iln,ptam1); //ancho minimo 5, automaticamente, 29
printf("\n[%d] %34s", ++iln,ptam1); //ancho min. 34, justificado a la derecha
#include "stdafx.h"
#include "iostream.h"
inline long cuadrado(int iValor) {return iValor * iValor;}
ARRAYS
Los elementos individuales de datos de un array se denominan elementos
Todos los elementos deben ser del mismo tipo de dato.
Todos los elementos se almacenan en posiciones contiguas de la memoria de
la computadora y el subndice del primer elemento es cero
El nombre de un array es un valor constante que representa la direccin del
primer elemento del array
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 fARRAY_MAX 15
Int iarray[iARRAY_MAX]
float farray[fARRAY_MAX]
x[0] = 0
x[0] = 0.25
x[0] = 0
x[0] = -0.50
x[0] = 0
x[0] = 0
color[0] = R
color[0] = E
color[0] = D
Todos los elementos del array que no tienen asignados valores iniciales explcitos sern
puestos automticamente a cero.
Ejemplo:
int digitos[10] = {3, 3, 3};
float x[6] = {-0.3, 0, 0.25};
x[0] = -0.3
x[0] = 0
x[0] = 0.25
x[0] = 0
x[0] = 0
x[0] = 0
x[0] = 0
x[0] = 0.25
x[0] = 0
x[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
1
Inicio
Pedir
ncursos
Para i=1 hasta
ncursos
Pedir curso(i)
nota(i),
cred(I)
Prox. i
Pp=SumNxC/SumaCred
Prox. i
Mostrar
Pp
1
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);
}