Operadores, variables, constantes, tipos de datos y expresiones
-
Upload
ariel-galvan -
Category
Documents
-
view
1.403 -
download
1
Transcript of Operadores, variables, constantes, tipos de datos y expresiones
![Page 1: Operadores, variables, constantes, tipos de datos y expresiones](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/1.jpg)
Operadores, variables, constantes, tipos de datos y expresiones
![Page 2: Operadores, variables, constantes, tipos de datos y expresiones](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/2.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/3.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/4.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/5.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/6.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/7.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/8.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/9.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/10.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/11.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/12.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/13.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/14.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/15.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/16.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/17.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/18.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/19.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/20.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/21.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/22.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/23.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/24.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/25.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/26.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/27.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/28.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/29.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/30.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/31.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/32.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/33.jpg)
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](https://reader033.fdocument.pub/reader033/viewer/2022061411/5571f9c449795991699061e4/html5/thumbnails/34.jpg)
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*/