Strona 1

infa

Pytanie 1
W jaki sposób można obliczyć długość tekstu przekazanego jako argument w poniższej funkcji? void foo (const char*txt) { ... }
txt.length()
int length = 0; char c = *txt ; while (c != ’\0 ’) { length ++; c = *(++ txt ); }
sizeof(txt)
size_t strlen ( const char * str ) strlen ( txt )
Pytanie 2
Co możesz powiedzieć o poniższej deklaracji? int t [10] = {1,2,[4]=1};
Da ona taki sam efekt jak int t[]=1,2,0,0,1
Zgodnie ze standardem C99 jest ona niepoprawn
Niezgodna ze składnią języka
Pytanie 3
W jaki sposób obliczyć długość tablicy w funkcji foo()? void foo (double [] t) { }
sizeof(t)/sizeof(t[0])
Po wykonaniu poniższej instrukcji długość tablicy będzie umieszczona w zmiennej len int len; for(len = 0; t[len]; len++);
W tym wypadku nie jest możliwe obliczenie długości tablicy.
Pytanie 4
Która z implementacji funkcji zawierającej tablicę jest poprawna?
int∗getTable(int n) { return(int∗)malloc(n∗sizeof(int)); }
int* getTable () { int tab [10]; return tab ; }
Pytanie 5
Zakładając, że wielkość typu char to jeden bajt, short to dwa bajty, a double to osiem bajtów, jaka jest wartość wyrażenia sizeof(x), gdzie x jest zmienną poniższego typu strukturalnego, dla standardowych ustawień kompilatora 32-bitowego? struct{ char c; short i; double d; }x;
8+8+8=24
sizeof(x) = 1 + padding(1) + 2 + 8 = 12
1+4+8=13
Pytanie 6
Przeanalizuj poniższą deklarację. Jakie wartości wyrażeń, w których występują wskaźniki p1 i p2 zostaną wydrukowane? (Załóż, że używasz 32-bitowego kompilatora.) int t [10]; int∗p1=&t [0]; int∗p2=&t [8];
Poniższa odpowiedź wypisze 8 printf ("%d\n" , p2−p1 );
Poniższa instrukcja wypisze zero : printf("% d \ n " , p2==p1 + 8 );
Pytanie 7
Przeanalizuj poniższą deklarację w języku C: int(∗x)(int,int);
Deklaracja jest niezgodna ze składnią języka
Deklaracja wskaźnika na funkcję przyjmującą jako parametr dwa integery i zwracająca inta
Pytanie 8
Które stwierdzenia dotyczące operatorów w języku C/C++ są poprawne:
Wyrażenie z==++z jest zawsze fałszywe dla zmiennej z typu int.
Operatory addytywne maja˛mniejszy priorytet niz multiplikatywn

Powiązane tematy