que lo conforman. El flujo de control de los programas, es lineal, esto significa que la computadora ejecuta una a una las instrucciones que se le indican, sin alterar el orden en que se escriben. EXPRESION LGICA: Una expresin lgica en C es una sentencia que al ser evaluada, la computadora da un valor 0 si es falsa y un valor distinto de cero si es verdadera. OPERADORES DE RELACIN: Los siguientes operadores los utilizaremos para construir expresiones lgicas y establecen relaciones que pueden ser falsas o verdaderas. OPERADOR SIGNIFICADO >= Mayor o igual que <= Menor o igual que == Igual que != Diferente < Menor que > Mayor que EJEMPLO: A+B>=C*2; X= ='S'; X<>S; La expresin: z= a+b>=c*2; Compara el valor de la suma de a y b con el doble de c, si es menor almacena en z el valor 0 si es mayor o igual almacena un valor distinto de cero. OPERADORES LGICOS: OPERADORES SIGNIFICADO && y || o ! no EJEMPLOS: Si tenemos la expresin : !(5>3) al evaluarla el resultado que da es 0. La expresin: z=!(5>3); Almacena 0 en la variable z La expresin: z=!(a+b>=c*2) Almacena 1 en la variable z si el resultado de comparar a+b con el doble de c es menor, puesto que la proposicin es falsa, al negarla da verdadera
PRIORIDAD DE OPERADORES: Teniendo los operadores ya definidos, debemos definir la prioridad nuevamente as: CATEGORA OPERADORES ASOCIATIVA DEL OPERADOR Operadores Monarios -,++,--,!, sizeof(tipo) Derecha a Izquierda Multiplicacin divisin y *, /, % Izquierda a Derecha residuo Suma y sustraccin +, Izquierda a derecha aritmtica Operadores de relacin <, <=, >, >= Izquierda a derecha Operadores de igualdad = = , != Izquierda a derecha y && Izquierda a derecha o || Izquierda a derecha Operadores de =, +=, - =, *=, /=, %= Izquierda a derecha asignacin Las expresiones entre parntesis se evalan primero. Los operadores de asignacin tiene menor prioridad que todos los otros operadores. Por tanto las operaciones monarios, aritmticos, de relacin, de igualdad y lgicos se realizan antes que las de asignacin.
En C pueden nmeros: numero1 total total = = 3 total operarse entre = + * variables o 4; numero1; total;
Su respuesta :
17 Respuesta Corre
Algunos operadores Aritmticos son ?
definitiva=(nota1+nota2+nota3)/3; if (definitiva>=6) printf("Su nota es %f GANO",definitiva); else printf("Su nota es %f PERDIO",definitiva); getch(); } Otra versin del programa usando la instruccin que hemos visto es: #include <iostream.h> #include <conio.h> #define gano "Gano la Materia" #define perdio "Perdio la Materia" void main() { double nota1, nota2, nota3; double definitiva; clrscr(); cout<<"Escriba la primera nota"; cin>>nota1; cout<<"Escriba la segunda nota"; cin>>nota2; cout<<"Escriba la tercera nota"; cin>>nota3; definitiva=(nota1+nota2+nota3)/3; if (definitiva>=6) cout<<"Su nota es "<<definitiva<<gano; else cout<<"Su nota es "<<definitiva<<perdio; getch(); } SENTENCIA COMPUESTA: Cuando un programador, necesita que la computadora ejecute ms de una instruccin en el momento de que la expresin lgica sea verdadera o sea falsa, lo indica encerrando entre llaves { } las instrucciones que siguen al then o al else. EJEMPLO: Escriba un programa que lea tres nmeros reales a, b, c. Una vez ledos, el programa debe calcular la solucin a la ecuacin:
y debe escribir las soluciones reales si existen y las soluciones complejas.
#include <math.h> #define imagin 'i' voidmain(void) {doublea,b,c, discri, preal, x1, x2, pimag; clrscr() ; cout<<"Escribe los coeficientes ?"; cin >>a>>b>>c; discri=pow(b,2)-4*a*c; if (discri>=0) {x1=(-b+sqrt(discri))/(2*a); x2=(-b-sqrt(discri))/(2*a); cout<<"X1="<<x1; cout<<"x2="<<x2; } else { preal=-b/(2*a); pimag=sqrt(abs(discri))/(2*a); cout<<"\n x1="<<preal<<imagin<<pimag; cout<<"\n x1="<<preal<<imagin<<-pimag; } getch(); } IF ANIDADOS : Tendremos situaciones lgicas en las cuales despus de hacernos una pregunta se nos hace necesario hacer una nueva pregunta, en esos caso tenemos entonces que despus del then y/o else es necesario volver a tener una sentencia ifthen else decimos entonces que anidamos if.
plejos, nos puede interesar que dependiendo de los valores de los datos, se ejecuten unas instrucciones u otras. Las instrucciones condicionales que conocemos so
int tabla1,tabla2; tabla1 = 2; tabla2 = 5; for (i=1;i<11;i++) { printf ("\n %d x %d = %d",tabla1,i,tabla1*i); printf (" %d x %d = %d",tabla2,i,tabla2*i); } } De acuerdo con el programa anterior el resultado es ?
int main () { clrscr(); for (int i=1;i<=20;i++) { cout<<i; if (i%3==0) cout<<" Es multiplo de 3" <<endl; else cout<<" No es multiplo de 3"<<endl;
} getch(); return 0; }
NULL es una constante, que est definida como cero en varios ficheros de cabecera, como "stdio.h" o "iostream.h", y normalmente vale 0.
a un objeto de tipo "int" en memoria, slo crea una variable que puede contener una direccin de memoria. Se puede decir que existe fsicamente la variable "ente objeto de tipo "int". Cual procedimiento es el correcto.
Su respuesta : int A, B; int *entero; ... B = 213; /* B vale 213 */ entero = &A; /* entero apunta a la direccin de la variable A */ *entero = 103; /* equivale a la lnea A = 103; */ B = *entero; /* equivale a B = A; */ Respuesta correcta
nimo del elemento individual que se encuentra en la localidad apuntada por el puntero. Por lo tanto la
Su respuesta : 4 Correcta
int *q, *p; int a; q = &a; /* q apunta al contenido de a */ p = q;