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

Operadores, variables, constantes, tipos de datos y expresiones

Embed Size (px)

Citation preview

Page 1: Operadores, variables, constantes, tipos de datos y expresiones

Operadores, variables, constantes, tipos de datos y expresiones

Page 2: Operadores, variables, constantes, tipos de datos y expresiones

REFERENCIAS DOCUMENTALES Luis Joyanes Aguilar e Ignacio

Zahonero Martínez, “Programación en C Metodología, algoritmos y estructura de datos”, Mc Graw Hill, pp. 89-136

Page 3: Operadores, variables, constantes, tipos de datos y expresiones

Los elementos de un programa en C Consta de uno o más archivos. Un archivo es traducido en

diferentes fases. Que realizan la inclusión de archivos y la sustitución de macros. El preprocesador se controla por directivas introducidas por líneas que contienen “#” como primer carácter. El resultado del preprocesador es una secuencia de tokens.

TOKENS (elementos léxicos de los programas) Existen cinco clases de tokens: identificadores, palabras

reservadas, literales, operadores y otros separadores.

Page 4: Operadores, variables, constantes, tipos de datos y expresiones

Identificadores Un identificador es una secuencia de

caracteres, letras, dígitos y subrayados (_) El primer carácter debe ser una letra Mayúsculas y minúsculas son distintas.

Palabras reservadas Una palabra reservada, tal como void,

es una característica del lenguaje C asociada con algún significado especial.

Page 5: Operadores, variables, constantes, tipos de datos y expresiones

Comentarios Un comentario es cualquier información que se añade

a su archivo fuente para proporcionar documentación de cualquier tipo. El compilador ignora los comentarios, no realiza ninguna tarea concreta. Los comentarios en C estándar comienzan con la secuencia / * y terminan con la secuencia * /.

Signos de puntuación y separadores Todas las sentencias deben terminar con un punto y

coma (;), aunque existen otros tipos de puntuación como:

i % ^ & * o - + = { } - [ ] \ ; ' : < > ? , . / ´´

Los separadores son espacios en blanco, tabulaciones, retornos de carro y avances de línea.

Page 6: Operadores, variables, constantes, tipos de datos y expresiones

Archivos de cabecera

Son archivos especiales que contienen declaraciones de elementos y funciones de la biblioteca.

#include: se utilizará para insertar un archivo de cabecera correspondiente.

Page 7: Operadores, variables, constantes, tipos de datos y expresiones

Ejemplo:/*archivos de cabecera*/#include<stdio.h> /*printf, scanf*/#include<conio.h> //getch, clrscr#include<math.h> /*pow, sqrt*/Void main() //palabras reservadas{

float a, b, c; //identificadoresint x, y, z; //signos dechar p, q; //puntuación…… /*comentarios*/

}

Page 8: Operadores, variables, constantes, tipos de datos y expresiones

Variables Las variables son estructuras de datos que

pueden cambiar de contenido a lo largo de la ejecución de un programa. Las variables pueden almacenar todo tipo de datos: cadenas, números y estructuras.

El nombre de una variable ha de ser un identificador válido que de preferencia describa su propósito.

Page 9: Operadores, variables, constantes, tipos de datos y expresiones

Variables locales Son aquéllas definidas en el interior de una

función y son visibles sólo en esa función específica.

Variables globales

Se declaran fuera de la función y se utilizan en todo el programa.

Page 10: Operadores, variables, constantes, tipos de datos y expresiones

ConstantesEn C existen cuatro tipos de

constantes: constantes literales constantes definidas constantes enumeradas constantes declaradas

Page 11: Operadores, variables, constantes, tipos de datos y expresiones

Constantes literalesConstantes enteras:

12345 1024L 0777Constantes reales:

Una constante flotante representa un número real, siempre tienen signo y representan aproximaciones en lugar de valores exactos.Constantes carácter (char):

Una constante carácter (char) es un carácter del código ASCII encerrado entre apóstrofes.Constantes cadena

Es una secuencia de caracteres encerrados entre dobles comillas.

Page 12: Operadores, variables, constantes, tipos de datos y expresiones

Constantes Definidas Las constantes definidas son identificadores

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

Constantes EnumeradasLas constantes enumeradas permiten crear listas de elementos afines.

Page 13: Operadores, variables, constantes, tipos de datos y expresiones

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.”

Page 14: Operadores, variables, constantes, tipos de datos y expresiones

Tipos de datos en CTodos los tipos de datos simples o básicos en C son, esencialmente, números. Los tres tipos de datos básicos son:

EnterosNúmeros de coma flotante (reales)Caracteres

Page 15: Operadores, variables, constantes, tipos de datos y expresiones

Enteros (int) Los enteros son adecuados para aplicaciones que

trabajen con datos numéricos. Se almacenan internamente en 2 bytes de memoria.

Caracteres (char)

Tipos de coma flotante (float/double) Los tipos de datos de coma (punto) flotante

representan números reales que contienen un punto decimal.

Un carácter es cualquier elemento de un conjunto de caracteres predefinidos o alfabeto.

La mayoría de las computadoras utilizan el conjunto de caracteres ASCII.

Page 16: Operadores, variables, constantes, tipos de datos y expresiones

Tabla de datos simples en CTipo Ejempl

oTamaño en bytes

RangoMínimo…Máximo

Char ´c´ 1 0..255

Short -15 2 -128..127

Int 1024 2 -32768..32767

Unsigned int 42325 2 0..65535

Long 262144 4 -2147483648..214748363

7

Float 10.5 4 3.4*(10)..3.4*(10)

Double 0.00045

8 1.7*(10)..1.7*(10)

Long double le-8 8 Igual que double

Page 17: Operadores, variables, constantes, tipos de datos y expresiones

Ejemplo:…#define PI 3.1416 //constante definidaconst float e = 2.718281828; //constante declaradaint a, b; float c, d; /*declaración de variables globales*/

void main( ){ /*declaración de variables

locales*/float x, y; //declaración de variables realesint p = -1; //inicialización de variable enteraunsigned int = 1; //y una variable entera sin signochar s, t; //declaración de variables carácter…

}

Page 18: Operadores, variables, constantes, tipos de datos y expresiones

Operadores Un operador es un símbolo matemático que

indica que debe ser llevada a cabo una operación especificada sobre un cierto número de operandos y devuelve un valor.

Existen varios tipos de operadores como:

Page 19: Operadores, variables, constantes, tipos de datos y expresiones

Operadores de asignación Símbolo

Uso Descripción

= a = b Asigna el valor de b a a

*= a *= b Multiplica a por b y asigna el resultado a la variable a.

/= a /= b Divide a entre b y asigna el resultado a la variable a.

%= a %= b Fija a al resto de a/b.

+= a += b Suma b y a y lo asigna a la variable a

-= a -= b Resta b de a y asigna el resultado a la variable a

Page 20: Operadores, variables, constantes, tipos de datos y expresiones

Operadores aritméticosOperador Tipo

enterosTipos reales

Ejemplo

+ Suma Suma x + y

- Resta Resta b – c

* Producto Producto x * y

/ División entera: cociente

División en coma flotante

b / 5

, División entera: resto

b % 5

Page 21: Operadores, variables, constantes, tipos de datos y expresiones

Precedencia de operadoresOperador Operación Nivel de

precedencia

+ , - + 25, -6.745 1

* , / , % 5*5 es 255/5 es 55%5 es 1

2

+, - 2+3 es 52-3 es -1

3

Page 22: Operadores, variables, constantes, tipos de datos y expresiones

Operadores de incrementación y decrementación

Incrementación Decrementación

++n --n

n += 1 n -= 1

n = n + 1 n = n - 1

Page 23: Operadores, variables, constantes, tipos de datos y expresiones

Operadores lógicos Operador lógico NOT (!)

Operador lógico AND (&&)

Operando (a) Not a

Verdadero (1) Falso (0)

Falso (0) Verdadero (1)

Operandos

a b a&&b

Verdadero (1) Verdadero (1) Verdadero (1)

Verdadero (1) Falso (0) Falso (0)

Falso (0) Verdadero (1) Falso (0)

Falso (0) Falso (0) Falso (0)

Page 24: Operadores, variables, constantes, tipos de datos y expresiones

Operador lógico OR (||)

Operandos

a b a || b

Verdadero (1) Verdadero (1) Verdadero (1)

Verdadero (1) Falso (0) Verdadero (1)

Falso (0) Verdadero (1) Verdadero (1)

Falso (0) Falso (0) Falso (0)

Page 25: Operadores, variables, constantes, tipos de datos y expresiones

Operadores de manipulación de bitsOperador Operación

& Y (AND) lógica bit a bit

| O (OR) lógica (inclusiva) bit a bit

^ O (XOR) lógica (exclusiva) bit a bit (OR exclusive, XOR)

~ Complemento a uno (inversión de todos los bits)

<< Desplazamientos de bits a izquierda

>> Desplazamientos de bits a derecha

Page 26: Operadores, variables, constantes, tipos de datos y expresiones

Operadores de desplazamiento de bitsEfectúan un desplazamiento a la derecha (>>) o a laizquierda (<<) de n posiciones de bits.

int num = 25; /*00011001 binario*/Int desp;desp = num << 3; /*11001000 binario*/

Operador comaPermite combinar dos o más expresiones separadas por comas en una sola línea y se evalúan de izquierda a derecha.

int i =10, j = 25;

Page 27: Operadores, variables, constantes, tipos de datos y expresiones

Operadores especiales Operador ( ):Es el operador de llamada a funciones. Sirve paraencerrar los argumentos de una función, efectuarconversiones explicitas de tipo, resolver los

conflictosde prioridad entre operadores. Operador [ ]:Sirve para dimensionar los array (arreglo) y

designar un elemento de un array (arreglo).

Page 28: Operadores, variables, constantes, tipos de datos y expresiones

Prioridad Operadores Asociatividad

1 X -> [ ] ( ) I-D

2 ++ -- ~ ! -+ & * sizeof D-I

3 .* ->* I-D

4 * / % I-D

5 + - I-D

6 << >> I-D

7 < <= > >= I-D

8 == != I-D

9 & I-D

10 ^ I-D

11 || I-D

12 && I-D

13 || I-D

14 ?: D-I

15 i % ^ & * o - + = { } -[ ] \ ; ' : < > ? , . / ´´

D-I

16 , I-D

Page 29: Operadores, variables, constantes, tipos de datos y expresiones

Conversiones de tiposConversión implícita:Las conversiones se ejecutan automáticamente.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 división entera i/5==2, 2 se convierte a

tipo double: 2.0 y se asigna a x*/

Conversión explicita:

C fuerza la conversión explicita de tipos mediante eloperador de molde (cast):(float)1; /* convierte a 1 en float*/(int)3.4; /* convierte 3.4 a entero, 3*/

Page 30: Operadores, variables, constantes, tipos de datos y expresiones

Expresiones Una expresión se compone de uno o mas operandos

que se combinan entre si mediante operadores. En la practica una expresión es una secuencia de operaciones y operandos que especifica un calculo y en consecuencia devuelve un resultado. La forma mas simple de una expresión 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

Page 31: Operadores, variables, constantes, tipos de datos y expresiones

Ejemplo:#include<stdio.h>

Void main(){

float x=1.1, y=2.34;int a=2, b=5;

printf("Resultado división = %f\n", x/y);printf("Resultado suma = %d\n", a+b);printf("Resultado multiplicación = %f\n", x/y);

}

Page 32: Operadores, variables, constantes, tipos de datos y expresiones

Sentencias y bloques de programa Una sentencia es cualquier expresión 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 expresión acabada en un punto y coma (;)

Page 33: Operadores, variables, constantes, tipos de datos y expresiones

Funciones básicas 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 través del teclado. La función más 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 función printf ( ) visualiza en la pantalla datos del programa, transforma los datos, que están en representación binaria, a ASCII según los códigos transmitidos.

Page 34: Operadores, variables, constantes, tipos de datos y expresiones

Ejemplo:#include<stdio.h>float n,m;Void main(){

printf(“Introduce un número\n”);scanf(“%f”,&n); //bloque dem=n*2; //sentenciasprintf(“El doble de %f es %f”,n, m);

}/*Visualización en pantalla:Introduce un número5El doble de 5 es 10*/