Nombre | Símbolo | Comentarios |
---|---|---|
Multiplicación | * |
El tipo del resultado es el tipo del factor de mayor precisión; por ejemplo, si se multiplica un entero
int
por un
float , el resultado es de tipo
float
Si se multiplican
int , el resultado es de tipo
int , etc.. Este proceso de promoción de tipos para evaluar la expresión tiene por objeto mantener en lo posible la información almacenada en el valor de mayor precisión empleado en ésa expresión.
|
División | / |
El tipo del resultado es el tipo del operando de mayor precisión; por ejemplo, si se divide un entero
int
por un
float , el resultado es de tipo
float . La división de enteros produce un entero, que es el cociente entero de la división (sin decimales). La división de dos valores
float
o
double
produce, respectivamente, un valor
float
o
double .
|
Módulo | % | Sólo es aplicable a variables enteras, produce el resto de la división entera. |
Suma | + | El tipo del resultado es el tipo del sumando de mayor precisión. El operador suma admite valores enteros y reales. Este operador, a diferencia de lo que ocurre en otros lenguajes, no denota la concatenación de cadenas. |
Resta | - | Su comportamiento es análogo al del operador suma. El tipo del resultado es el tipo del valor de mayor precisión. Como curiosidad, el operador - antepuesto a una variable numérica sirve para cambiar su signo, en el sentido matemático habitual. Se trata de un operador unario, esto es, de un operador que admite un único argumento. |
Asignación | = |
La forma general de una expresión de asignación simple es como sigue: lvalue = rvalue;en donde
rvalue
y
lvalue
son dos expresiones tales que el resultado obtenido al evaluar
rvalue
es compatible con la variable señalada por el resultado de evaluar
lvalue . En el caso de una variable, el
lvalue
es la dirección de la misma. Los siguientes son ejemplos válidos de expresiones de asignación:x = 3; x = x + y; x = strcat(cad_1, cad_2); x = (y == 7);La evaluación de este tipo de expresiones se realiza en varias fases:
rvalue . Por tanto, tiene sentido la expresión de asignación compuesta:x = y = z = t = 7;que dará el valor
7
a las variables
x ,
y ,
z
y
t . El operador de asignación tiene menor prioridad que todos los operadores aritméticos, con objeto de asegurar que antes de asignar un valor se calcule correctamente la expresión correspondiente.
|
fscanf()
. Utilizar el operador de redirección para hacer que el programa lea los números de un archivo de disco. ¿Cómo se modificaría el programa para que leyera los tres números de disco sin usar el operador de redirección?
fscanf()
produce como resultado el número de conversiones que ha efectuado. Si se pulsa 'q', no efectúa conversión alguna, luego devuelve un 0.
time
.
time
.