Escolar Documentos
Profissional Documentos
Cultura Documentos
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
Lección 2 7 0111 7 7
8 1000 8 10
Introducción al lenguaje C 9 1001 9 11
10 1010 A 12
11 1011 B 13
12 1100 C 14
13 1101 D 15
14 1110 E 16
15 1111 F 17
3 4
IDENTIFICADORES
¿Qué identificadores son válidos?
Son los nombres que se pueden dar a elementos del programa.
1. Soy un identificador
Reglas para formar identificadores:
2. Yo_también
- Sólo se pueden utilizar los siguientes caracteres:
Letras: a-z o A-Z (la eñe no vale) 3. 1_primero
Números: 0-9
4. _dato1
Carácter de subrayado: _
- Primer carácter: letra o carácter de subrayado (nunca un número). 5. V_=IxR
- Tienen que ser distintos de las palabras clave.
6. automovil
- Las mayúsculas y las minúsculas son diferentes para el
compilador. Pepe, pepe y PEPE son identificadores distintos.
7. auto
8. ejemplo:
5 6
2.7 OPERADORES
SECUENCIAS DE ESCAPE
2.7.1 ARITMÉTICOS
Una secuencia de escape está formada por el carácter barra invertida \
seguida de una letra o una combinación de dígitos.
Operador Operación
Secuencia Definición + Suma
\n Retorno de carro y salto de línea - Resta
\t Tabulador horizontal * Multiplicación
\b Retroceso (“backspace”) / División
\r Retorno de carro sin salto de línea
% Módulo (o resto) de una división de números enteros.
\f Alimentación de página para impresora
\a Pitido
\’ Comilla simple Prioridad (o precedencia) de las operaciones:
\” Comilla doble
\\ Barra invertida (“backslash”) 1º. Paréntesis () (evaluados de más internos a más externos)
\ooo Carácter ASCII (o es un dígito octal) 2º. Multiplicación *, división / y módulo %.
\xhh Carácter ASCII (h es un dígito hexadecimal)
3º. Suma + y resta -.
Asociatividad de izquierda a derecha.
7 8
2.7.3 INCREMENTALES
2.7.2 RELACIONALES
- Se aplican a un solo operando, generalmente una variable entera.
- Los operandos son datos numéricos de un tipo básico (int, float, etc.).
Operador Operación
- El resultado de la operación es un valor booleano: verdadero o falso (1 ó 0).
++ Incremento de una unidad.
-- Decremento de una unidad.
Operador Operación
< ¿Primer operando menor que el segundo?
- Dependiendo de la posición respecto del operando podemos distinguir:
> ¿Primer operando mayor que el segundo?
<= ¿Primer operando menor o igual que el segundo? Operación Significado
>= ¿Primer operando mayor o igual que el segundo? x++ Post-incremento
!= ¿Primer operando distinto del segundo? ++x Pre-incremento
== ¿Primer operando igual que el segundo? x-- Post-decremento
--x Pre-decremento.
9 10
- Los operandos son booleanos (1 ó 0). - Las operaciones se realizan sobre los bits de operandos enteros.
- Un operando puede ser un variable o una constante numérica, en cuyo
caso se evaluará como: Operador Operación
Verdadero, si su valor es distinto de 0. & AND
Falso, si su valor es igual a 0. | OR
11 12
2.7.6 ASIGNACIÓN 2.7.7 OTROS OPERADORES
- Asignan el valor de la expresión situada a la derecha del operador al
operando situado a su izquierda. Operador condicional ? :
- El valor de la expresión se convierte al tipo de datos del operando. - Sintaxis: Operando1 ? Operando2 : Operando3
- Resultado de la operación:
Operador Ejemplo Significado
= x=0 Asignación simple Operando 1 (booleano) Resultado de la operación
*= x*=y x=x*y Verdadero Operando2
/= x/=3 x=x/3 Falso Operando3
%= x%=2 x=x%2
+= x+=y x=x+y
-= x-=2 x=x-2 - Ejemplo:
<<= x<<=1 x=x<<1 int x = 5, y = 10, z = 0;
z = (x > y) ? x : y ; //z = 10
>>= x>>=2 x=x>>2 z = (x != y) ? x : y ; /* z = 5 */
&= x&=z x=x&z
|= x|=y x=x|y
^= x^=y x=x^y 13 14
15 16
Operadores para punteros (capítulo 5) 2.7.8 PRIORIDAD Y ORDEN DE EVALUACIÓN
- Obtiene la dirección de memoria en la que está almacenado su operando. ( ) [ ] . -> Izquierda a derecha
- ~ ! ++ -- (tipo) * & sizeof Derecha a izquierda
- Sintaxis: &operando
* / % Izquierda a derecha
- Ejemplo:
int x=5, *p; // La variable p es un puntero. + - Izquierda a derecha
p=&x; // A p se le asigna la dirección de memoria de x << >> Izquierda a derecha
// y se dice que p “apunta” a x. < <= > >= Izquierda a derecha
== != Izquierda a derecha
Operador * (“indirección”)
& Izquierda a derecha
- Proporciona el contenido de una dirección de memoria a partir de su puntero.
^ Izquierda a derecha
- Sintaxis: *nombre_del_puntero
| Izquierda a derecha
- Ejemplo: && Izquierda a derecha
int x=5, y=0, *p;
p=&x; // p apunta a x. || Izquierda a derecha
y=*puntero; // y = 5 ?: Derecha a izquierda
= *= /= %= += -= <<= >>= &= |= ^= Derecha a izquierda
17 18