operadores, variables, constantes, tipos de datos y expresiones

Download Operadores, variables, constantes, tipos de datos y expresiones

Post on 30-Jun-2015

1.308 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

Operadores, variables, constantes, tipos de datos y expresiones

REFERENCIAS DOCUMENTALES} Luis

Joyanes Aguilar e Ignacio Zahonero Martnez, Programacin en C Metodologa, algoritmos y estructura de datos, Mc Graw Hill, pp. 89-136

Los elementos de un programa en C}

}

Consta de uno o ms archivos. Un archivo es traducido en diferentes fases. Que realizan la inclusin de archivos y la sustitucin de macros. El preprocesador se controla por directivas introducidas por lneas que contienen # como primer carcter. El resultado del preprocesador es una secuencia de tokens. TOKENS (elementos lxicos de los programas) Existen cinco clases de tokens: identificadores, palabras reservadas, literales, operadores y otros separadores.

Identificadores} Un

identificador es una secuencia de caracteres, letras, dgitos y subrayados (_) } El primer carcter debe ser una letra } Maysculas y minsculas son distintas.

Palabras reservadas} Una

palabra reservada, tal como void, es una caracterstica del lenguaje C asociada con algn significado especial.

Comentarios}

Un comentario es cualquier informacin que se aade a su archivo fuente para proporcionar documentacin de cualquier tipo. El compilador ignora los comentarios, no realiza ninguna tarea concreta. Los comentarios en C estndar comienzan con la secuencia / * y terminan con la secuencia * /.

Signos de puntuacin y separadores}

}

Todas las sentencias deben terminar con un punto y coma (;), aunque existen otros tipos de puntuacin como: i % ^ & * o - + = { } - [ ] \ ; ' : < > ? , . / Los separadores son espacios en blanco, tabulaciones, retornos de carro y avances de lnea.

Archivos de cabecera} Son

archivos especiales que contienen declaraciones de elementos y funciones de la biblioteca. se utilizar para insertar un archivo de cabecera correspondiente.

} #include:

Ejemplo:/*archivos de cabecera*/ #include /*printf, scanf*/ #include //getch, clrscr #include /*pow, sqrt*/ Void main() //palabras reservadas { float a, b, c; //identificadores int x, y, z; //signos de char p, q; //puntuacin /*comentarios*/ }

Variables}

Las variables son estructuras de datos que pueden cambiar de contenido a lo largo de la ejecucin de un programa. Las variables pueden almacenar todo tipo de datos: cadenas, nmeros y estructuras. El nombre de una variable ha de ser un identificador vlido que de preferencia describa su propsito.

}

Variables locales}

Son aqullas definidas en el interior de una funcin y son visibles slo en esa funcin especfica.

Variables globales}

Se declaran fuera de la funcin y se utilizan en todo el programa.

Constantes} En

C existen cuatro tipos de constantes: } constantes literales } constantes definidas } constantes enumeradas } constantes declaradas

Constantes literales}Constantes enteras: 12345 1024L 0777 }Constantes reales: Una constante flotante representa un nmero real, siempre tienen signo y representan aproximaciones en lugar de valores exactos. }Constantes

carcter (char): cadena

Una constante carcter (char) es un carcter del cdigo ASCII encerrado entre apstrofes.

}Constantes

Es una secuencia de caracteres encerrados entre dobles comillas.

Constantes Definidas}

Las constantes definidas son identificadores que se asocian con valores literales constantes y que toman determinados nombres. #define pi 3.1416

Constantes Enumeradas} Las

constantes enumeradas permiten crear listas de elementos afines.

Constantes declaradas} Los

valores de las constantes declaradas se almacenan en memoria, pero no se pueden modificar. const float pi=3.1416;

Las definiciones const especifican tipos de datos, terminan con puntos y coma y se inicializan como las variables.

Tipos de datos en CTodos los tipos de datos simples o bsicos en C son, esencialmente, nmeros. Los tres tipos de datos bsicos son:}Enteros }Nmeros

de coma flotante (reales) }Caracteres

Enteros (int)} }

Los enteros son adecuados para aplicaciones que trabajen con datos numricos. Se almacenan internamente en 2 bytes de memoria.

Tipos de coma flotante (float/double)}

Los tipos de datos de coma (punto) flotante representan nmeros reales que contienen un punto decimal.

Caracteres (char)} }

Un carcter es cualquier elemento de un conjunto de caracteres predefinidos o alfabeto. La mayora de las computadoras utilizan el conjunto de caracteres ASCII.

Tabla de datos simples en CTipo Char Short Int Unsigned int Long Float Double Long double Ejemplo c -15 1024 42325 262144 10.5 0.00045 le-8 Tamao en bytes 1 2 2 2 4 4 8 8 Rango MnimoMximo 0..255 -128..127 -32768..32767 0..65535-2147483648..2147483637

3.4*(10)..3.4*(10) 1.7*(10)..1.7*(10) Igual que double

Ejemplo: #define PI 3.1416 //constante definida const float e = 2.718281828; //constante declarada int a, b; float c, d; /*declaracin de variables globales*/ void main( ) { float x, y; int p = -1; unsigned int = 1; char s, t; }

/*declaracin de variables locales*/ //declaracin de variables reales //inicializacin de variable entera //y una variable entera sin signo //declaracin de variables carcter

Operadores}

Un operador es un smbolo matemtico que indica que debe ser llevada a cabo una operacin especificada sobre un cierto nmero de operandos y devuelve un valor.

Existen varios tipos de operadores como:

Operadores de asignacinSmbolo Uso = *= /= %= += -= a=b a *= b a /= b a %= b a += b a -= b DescripcinAsigna el valor de b a a Multiplica a por b y asigna el resultado a la variable a. Divide a entre b y asigna el resultado a la variable a. Fija a al resto de a/b. Suma b y a y lo asigna a la variable a Resta b de a y asigna el resultado a la variable a

Operadores aritmticosOperador + * / , Tipo enterosSuma Resta Producto Divisin entera: cociente Divisin entera: resto

Tipos realesSuma Resta Producto Divisin en coma flotante

Ejemplox+y bc x*y b/5 b%5

Precedencia de operadoresOperador+,*,/,%

Operacin+ 25, -6.745 5*5 es 25 5/5 es 5 5%5 es 1 2+3 es 5 2-3 es -1

Nivel de precedencia 1 2

+, -

3

Operadores de incrementacin y decrementacinIncrementacin ++n n += 1 n=n+1 Decrementacin --n n -= 1 n=n-1

Operadores lgicos} OperadorOperando (a) Verdadero (1) Falso (0)

lgico NOT (!)Not a Falso (0) Verdadero (1)

} OperadorOperandos a Verdadero (1) Verdadero (1) Falso (0) Falso (0)

lgico AND (&&)b Verdadero (1) Falso (0) Verdadero (1) Falso (0) a&&b Verdadero (1) Falso (0) Falso (0) Falso (0)

} OperadorOperandos a Verdadero (1) Verdadero (1) Falso (0) Falso (0)

lgico OR (||)b Verdadero (1) Falso (0) Verdadero (1) Falso (0) a || b Verdadero (1) Verdadero (1) Verdadero (1) Falso (0)

Operadores de manipulacin de bitsOperador & | ^ ~ > OperacinY (AND) lgica bit a bit O (OR) lgica (inclusiva) bit a bit O (XOR) lgica (exclusiva) bit a bit (OR exclusive, XOR) Complemento a uno (inversin de todos los bits) Desplazamientos de bits a izquierda Desplazamientos de bits a derecha

Operadores de desplazamiento de bitsEfectan un desplazamiento a la derecha (>>) o a la izquierda ( < >= == != & ^ || && || ?:i % ^ & * o - + = { } -[ ] \ ; ' : < > ? , . /

AsociatividadI-D D-I I-D I-D I-D I-D I-D I-D I-D I-D I-D I-D I-D D-I D-I I-D

,

Conversiones de tiposConversin implcita:Las conversiones se ejecutan automticamente. Int i = 12; double x = 4; x = x+i; /* valor de i se convierte en double antes de la suma*/ x = i/5; /* se hace la divisin entera i/5==2, 2 se convierte a tipo double: 2.0 y se asigna a x*/

Conversin explicita:C fuerza la conversin explicita de tipos mediante el operador de molde (cast): (float)1; /* convierte a 1 en float*/ (int)3.4; /* convierte 3.4 a entero, 3*/

Expresiones}

Una expresin se compone de uno o mas operandos que se combinan entre si mediante operadores. En la practica una expresin es una secuencia de operaciones y operandos que especifica un calculo y en consecuencia devuelve un resultado. La forma mas simple de una expresin consta de una nica constante o variable. Las expresiones mas complicadas se forman a partir de un operador y uno o mas operandos.

n + 15 operando operador operando

Ejemplo:#include Void main() { float x=1.1, y=2.34; int a=2, b=5; printf("Resultado divisin = %f\n", x/y); printf("Resultado suma = %d\n", a+b); printf("Resultado multiplicacin = %f\n", x/y); }

Sentencias y bloques de programa} Una

sentencia es cualquier expresin en C que se espera que tenga alguna consecuencia. } Pueden ser asignaciones, operaciones, llamadas a funciones o combinaciones de ellas. } Toda sentencia termina con un ";". Una sentencia simple consiste en una expresin acabada en un punto y coma (;)

Funciones bsicas de entrada y salida (printf y scanf) EntradaLa entrada de datos a un programa puede tener diversas fuentes, teclado, archivos en disco. La entrada que consideramos ahora es a travs del teclado. La funcin ms utilizada, por su versatilidad, para entrada formateada es scanf ( ).

SalidaLa salida de datos de un programa se puede dirigir a diversos dispositivos, pantalla, impresora, archivos. La funcin printf ( ) visualiza en la pantalla datos del programa, transforma los datos, que estn en representacin binaria, a ASCII segn los cdigos transmitidos.

Ejemplo:#include float n,m; Void main() { printf(Introduce un nmero\n); scanf(%f,&n); m=n*2; printf(El doble de %f es %f,n, m); } /*Visualizacin en pantalla: Introduce un nmero 5 El doble de 5 es 10*/

//bloque de //sentencias

Recommended

View more >