You are on page 1of 33

TIPO DE DATOS

TIPO int char float DESCRIPCIN MEMORIA 2 bytes 1 byte 1 palabra (4 bytes) 2 palabras (8 bytes) 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)

Algunos tipos bsicos de datos se pueden ampliar usando los Haga clic para modificar el estilo de subttulo del cualificadores de tipos de datos short (corto), long (largo), signed patrn (con signo), unsigned (sin signo) Un unsigned int ocupa la misma memoria que un int con la diferencia que en un int, el bit ms a la izquierda se reserva para el signo. En un unsigned int, todos los bits se utilizan para representar el valor numrico. Por ejemplo un int puede variar de -32 768 a 32 767, en cambio un unsigned int varia de 0 a 65 535 Un dato tipo char puede tomar valores de 0 a 255 y signed char de -128 a 127 7/28/12

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 pude 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

7/28/12

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

7/28/12

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 7/28/12 Secuencia de escape \a \b \t \v \n \f \r \ \ \? \\ \0 Valor ASCII 007 008 009 011 010 012 013 034 039 063 092 000

Constantes de cadena de caracteres Una constante de cadena de caracteres consta de cualquier nLmero de caracteres consecutivos (o ninguno) encerrados entre comillas () Ejemplos: verde Washington, D. C. 200005 270-32-3456 $19.95 LA RESPUESTA CORRECTA ES: 2*(I+3)/J Linea 1\nLinea 2\nLinea 3 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. 7/28/12

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; . 7/28/12

Conversiones explcita de tipos utilizando el operador de conversin de tipos (cast)


Siempre que se quiera modificar, de forma temporal, el formato de una variable, simplemente se coloca delante del identificador de la variable el tipo, entre parntesis, al que desea convertir el citado identificador. int valor1, valor2; float resultado; valor1 = 7; valor2 = 3; resultado = valor1/valor2; resultado= (float) valor1/valor2

// resultado = 2 // resultado = 2.333333

7/28/12

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 7/28/12 // i=0, j=0, k=-1 i=j=k--

OPERADORES ARITMTICOS

El lenguaje C, incorpora el conjunto, estndar de operadores aritmticos para la suma

(+), resta (-), multiplicacin (*), divisin (/) y mdulo (%) int a =3 , b= 8, c = 0, d; d = b % a; // devuelve 2 d = a % b; // devuelve 3 d = b % c; // devuelve mensaje de error

7/28/12

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 puuede ser: valor1 = 8 * (valor2 = 5); valor1 = valor2 = valor3 = 0;

OPERADORES DE ASIGNACIN COMPUESTA


a = a + 5 ----- b = b - c ----- d = d*6 ---- e = e/f ---- > a+= 5 b-= c d*=6 e/= f

Permiten expresar, de forma ms concisa, ciertos clculos.

7/28/12

Operadores relacionales

Operador == != > < <= >=

Significado Igualdad (No asignacin) Desigualdad Mayor que Menor que Menor o igual que Mayor o igual que

7/28/12

Operadores lgicos
Operador ! && || Significado NOT AND OR

7/28/12

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, 7/28/12 (foperando1&&foperando2));

Operador condicional Syntaxis: condicin ? expresion_caso_verdadero : expresion_caso_falso if (A <= c && c <= Z) printf (%c, a + c A); else printf(%c, c);

printf(%c, (A <= c && c <= Z) ? (a + c A) : c);

7/28/12

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 deracha del operador.El formato de la expresin es: expresin_izquierda , expresin_derecha Normalmente, el operador coma se utitiliza en los bucles for en que se itera ms de una variable. Por ejemplo: for (min=0, max=longitud-1; min < max; min++, maxx--) { . . . }

7/28/12

Funciones

Las funciones constituyen los bloques principales de construccin de la mayora de los programas en C y C++. Las funciones permiten dividir e implementar las partes de un programa en mdulos separados. De esta forma, las funciones pemiten que el programa addquiera un aspecto modular. La programacin modular permite dividir un programa en partes prcticas que contribuyen a un formato final del programa. Prototipo de una funcin
tipo_devuelto nombre_funcin(tipo_argumento nombre_argumento_opcional [ ]); La estructura de una funcin es: tipo devuelto nombre_funcin(tipos y nombre_argumentos) { (declaraciones de datos y cuerpo de la funcin) return( ); }

7/28/12

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( ) {

7/28/12

double dfactorial (double drespuesta) { if (drespuesta <= 1.0) rerturn (1.0) else return(drespuesta*dfactorial(drespuesta-1.0)); } main( ) { double dnumero, dresult; printf(Ingresar nmero:); scanf(%lf, &dnumero); dresult = dfactorial(dnumero); printf(El factorial de %15.0lf es: %15.0lf\n, dnumero, dresult); return (0);

7/28/12

7/28/12

7/28/12

7/28/12

7/28/12

7/28/12

7/28/12

7/28/12

Sentencia for

7/28/12

7/28/12

7/28/12

7/28/12

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, 7/28/12 automaticamente

printf("\n[%d] %-34s", ++iln,ptam1); //ancho min. 34, justificado a la izquierda printf("\n[%d] %d", ++iln,ivalor); //ancho de ivalor por omision, 4 printf("\n[%d] %+d", ++iln,ivalor); //imprime ivalor con el signo + printf("\n[%d] %3d", ++iln,ivalor); //ancho min. 3, automaticamente 4 printf("\n[%d] %10d", ++iln,ivalor); //ancho min. 10, justificado a la derecha printf("\n[%d] %-10d", ++iln,ivalor); //ancho min. 10, justificado a la izquierda printf("\n[%d] %010d", ++iln,ivalor); //justificado a la derecha, completado con ceros printf("\n[%d] %f", ++iln,dpi); //utiliza el numero de digitos por omision printf("\n[%d] %20f", ++iln,dpi); //ancho min. 20, justificado a la derecha printf("\n[%d] %020f", ++iln,dpi); //justificado a la derecha, completado con ceros printf("\n[%d] %-20f", ++iln,dpi); //ancho min. 20, justificado a la izquierda printf("\n[%d] %.2s", ++iln,ptam1); //imprimer los 2 primeros caracteres printf("\n[%d] %19.2s", ++iln,dpi); //imprime 2 caracteres, justificado a la deracha printf("\n[%d] %-19.2s", ++iln,dpi); //imprime 2 caracteres, justificado a la izquierda printf("\n[%d] %10.8f", ++iln,dpi); //ancho 10, con 8 decimales printf("\n[%d] %20.2f", ++iln,dpi); //2 decimales y justificado a la derecha printf("\n[%d] %-20.4f", ++iln,dpi); //4 decimales y justificado a la 7/28/12 izquierda

#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; }

7/28/12

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] 7/28/12

You might also like