User Tools

Site Tools


tanszek:oktatas:szamitastechnika:operatorok

This is an old revision of the document!


1. Feladat: Mi lesz a és b értéke?

#include <stdio.h>
 
int main()
{
    int a = 1;
    int b;
    b = a++;
    printf("b = %d a = %d", b, a);
}

2. Feladat: Mi lesz a és b értéke, ha a ++ operátor az a változó előtt áll?

#include <stdio.h>
 
int main()
{
    int a = 1;
    int b;
    b = ++a;
    printf("b = %d a = %d", b, a);
}

3. Feladat: Mi lesz a k változó értéke?

#include <stdio.h>
 
int main()
{
    int i = 1, k = 2;
    int e;
    k *= -i-- * ++k;
    printf("k = %d", k);
}

4.a Feladat: Mi lesz az e változó értéke?

#include <stdio.h>
 
int main()
{
    int a = 1, b = 2, c = 3, d = 4;
    int e;
    e = !( a <= b && !(c == d));
    printf("e = %d", e);
}

4.b Feladat: Mi lesz az f változó értéke? <code> #include <stdio.h> int main() { int a = 5, b = 3, c = 8; int f; f = (a > b) || (c < a + b); printf(“f = %d”, f); } </code> 4.c Feladat: Mi lesz az z változó értéke?

#include <stdio.h>

int main()
{
    int x = 10, y = 7;
    int z;
    z = (x != y) && (y <= x) || !(x - y > 3);
    printf("z = %d", z);
}

4.d Feladat: Mi lesz az k változó értéke? <code> #include <stdio.h> int main() { int m = 4, n = 6; int k; k = !(m > n) && (m + n > 8) && (n - m == 2); printf(“k = %d”, k); } </code> 5. Logikai operátorok <code c> #include <stdio.h> main() { a = 5(00000101) b = 9(00001001) unsigned char a = 5, b = 9; 00000001 = 1 printf(“a & b = %d\n”, a & b); 00001101 = 13 printf(“a | b = %d\n”, a | b); 00001100 = 12 XOR akkor 1 ha vagy az egyik, vagy a másik bit 1 printf(“a ^ b = %d\n”, a ^ b); 11111010 = 250 printf(“~a = %d\n”, a = ~a); 00010010 = 18 printf(“b « 1 = %d\n”, b « 1); 00100100 = 36 printf(“b « 2 = %d\n”, b « 2); 00000100 = 4 printf(“b » 1 = %d\n”, b » 1); } </code> 6. műveletek logikai operátorokkal <code c> #include <stdio.h> int main() { kapcsoljuk be egy int változó 4. bitjét int bit = 1 « 3; az 1.et eltoljuk hárommal balra, az eredmény: 00001000 int val = 1; tetszőleges szam printf(“%8b\n”, val | bit); kapcsoljuk ki egy int változó 8. bitjét int bit2 = 1 « 7; az 1.et eltoljuk héttel balra, az eredmény: 10000000 int val2 = 255; tetszőleges szam printf(“%8b\n”, val2 & ~bit2); return 0; } </code> 7. az XOR-os titkosítás **

#include <stdio.h>
 
int main()
{
    // ha egy számot XOR-ozunk egy tetszőleges számmal 2x-akkor visszakapjuk az eredeti számot
    int value = 546356243;
 
    printf("%8b\n", value);
 
    int code = 112254534; 
 
    int encrypted = value ^ code;
 
    printf("%8b\n", encrypted);
 
    printf("%8b\n", encrypted ^ code);
 
    return 0;
}
tanszek/oktatas/szamitastechnika/operatorok.1730231105.txt.gz · Last modified: 2024/10/29 19:45 by knehez