Informatika2-2014/Gyakorlat14
A MathWikiből
A lap korábbi változatát látod, amilyen Wettl (vitalap | szerkesztései) 2014. május 6., 11:20-kor történt szerkesztése után volt.
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!