Informatika2-2014/Gyakorlat14

A MathWikiből
(Változatok közti eltérés)
88. sor: 88. sor:
 
kiszámítja az n-edik Fibonacci-számot (f(0)=0, f(1)=1,...),
 
kiszámítja az n-edik Fibonacci-számot (f(0)=0, f(1)=1,...),
 
ahol n nemnegatív egész!
 
ahol n nemnegatív egész!
 +
 +
'''7.''' Mit ír ki?
 +
<c>
 +
#include <stdio.h>
 +
#define EVEN 0
 +
#define ODD 1
 +
int main()
 +
{
 +
    int i = 3;
 +
    switch (i & 1)
 +
    {
 +
        case EVEN: printf("Even");
 +
                break;
 +
        case ODD: printf("Odd");
 +
                break;
 +
        default: printf("Default");
 +
    }
 +
    return 0;
 +
}
 +
</c>
 +
 +
 +
'''8.''' Hányszor írja ki, hogy ,,ez az''?
 +
 +
<c>
 +
#include<stdio.h>
 +
int main()
 +
{
 +
    int i = -5;
 +
    while (i <= 5)
 +
    {
 +
        if (i >= 0)
 +
            break;
 +
        else
 +
        {
 +
            i++;
 +
            continue;
 +
        }
 +
        printf("ez az");
 +
    }
 +
    return 0;
 +
}
 +
</c>
 +
 +
'''9.''' Mi a kimenete az alábbi programnak?
 +
 +
<c>
 +
#include <stdio.h>
 +
int main()
 +
{
 +
    int i = 3;
 +
    while (i--)
 +
    {
 +
        int i = 100;
 +
        i--;
 +
        printf("%d ", i);
 +
    }
 +
    return 0;
 +
}
 +
</c>
 +
 +
 +
'''10.''' Mi a kimenet? (beugratós)
 +
 +
<c>
 +
#include <stdio.h>
 +
int main()
 +
{
 +
    int x = 3;
 +
    if (x == 2); x = 0;
 +
    if (x == 3) x++;
 +
    else x += 2;
 +
 +
    printf("x = %d", x);
 +
 +
    return 0;
 +
}
 +
</c>

A lap 2014. május 6., 11:35-kori változata

Gyakorlás

1. Minden PRINT-et tartalmazó sornál határozzuk meg a kimenet értékét!

#include <stdio.h>
#define PRINT(int) printf("%d\n",int)
 
int main(void) {
    int i, j, k=5;
    i = 17 - 17/k*k; PRINT(i); 
    k += j = i *= 3;
    k -= i == j; PRINT(k);
    i=2; j=3; k=5; 
    PRINT( i & j | k );
    PRINT( !i || j && k);
    i=4; j = 3; i <<= j; PRINT( i );
    k = i<32 ? ++i : --i; PRINT( k );
    return 0;
}

2.

#include <stdio.h> 
#define PRINT(int) printf("%d\n",int) 
 
int main(void) { 
    int i, j, k=2; 
    i = (8+7)%6/2; PRINT(i); 
    k *= j = i = 3; 
    k += i == j; PRINT(k); 
    i=2; j=3; k=0; 
    PRINT( i && j || k );
    PRINT( !i || j ); 
    PRINT( i++ - --j );
    i=1; j = 4; i <<= j; PRINT( i ); 
    k = i<j ? i | j : i & j; 
    PRINT( k );
    return 0; 
}


3. Az alábbi kódrészletet töltsük ki úgy, hogy a ’b’ tömbbe az ’a’ mátrix transzponáltja kerüljön!

int i,j,a[3][2]={{1,2},{2,0},{3,3}}, b[2][3];
for( i=0; i<3; i++ ) {
 
 
 
}

4. Az alábbi programkód minden jelölt sora mellett adjuk meg a ’t’ tömb tartalmát!

void fuggveny(void) {
    int t[4] = {1,3,5,7}, *p;
    p = &t[0];
    t[0] = (*p)++;
    t[1] = *p++;
    t[2] = ++*p;
    t[3] = *++p;
}

5.

void fuggveny(void) { 
    int t[4], *p, i; 
    t[0] = 2; t[1] = 3; 
    for( i=2; i<4; i++) 
        t[i] = t[i-1]+t[i-2];  
    p = &t[1]; 
    t[0] = *p++; 
    t[1] = (*p)++; 
    t[2] = *++p;
    t[3] = ++*p; 
    *p+=*p; 
}

6. Írjunk egy rekurzív és egy iteratív C függvényt, mely kiszámítja az n-edik Fibonacci-számot (f(0)=0, f(1)=1,...), ahol n nemnegatív egész!

7. Mit ír ki?

#include <stdio.h>
#define EVEN 0
#define ODD 1
int main()
{
    int i = 3;
    switch (i & 1)
    {
        case EVEN: printf("Even");
                break;
        case ODD: printf("Odd");
                break;
        default: printf("Default");
    }
    return 0;
}


8. Hányszor írja ki, hogy ,,ez az?

#include<stdio.h>
int main()
{
    int i = -5;
    while (i <= 5)
    {
        if (i >= 0)
            break;
        else
        {
            i++;
            continue;
        }
        printf("ez az");
    }
    return 0;
}

9. Mi a kimenete az alábbi programnak?

#include <stdio.h>
int main()
{
    int i = 3;
    while (i--)
    {
        int i = 100;
        i--;
        printf("%d ", i);
    }
    return 0;
}


10. Mi a kimenet? (beugratós)

#include <stdio.h>
int main()
{
    int x = 3;
    if (x == 2); x = 0;
    if (x == 3) x++;
    else x += 2;
 
    printf("x = %d", x);
 
    return 0;
}
Személyes eszközök