2012kolo1a_rozw.pdf

(127 KB) Pobierz
________________________________
Imię i nazwisko
Wypełnij drukowanymi literami
___________
Numer indeksu
czas pisania: 45 minut,
12 grudzień 2012
Zad. 1.
(5 pkt.) Wyróżnione pole (_ _ _ _ _)
uzupełnij nie używając średnika oraz
nawiasów [](), tak aby program po
uruchomieniu wypisywał tekst:
100
#include <stdio.h>
int main() {
int a[3] =
{0, 0, 1 };
int j=2;
for ( ; 0 <= j; j-- )
printf( "%d", *(a+j) );
}
Zad. 2.
(5 pkt.) Jaki tekst zostanie wypisany przez poniższy program? (Uwaga: zaznacz
wyraźnie duże i małe litery w odpowiedzi.)
#include <stdio.h>
void zagadka(char *s,char *t,char *w,int i) {
int j=0, k=0;
Wynik:
rr
for ( ; j< i; j += (j%2)+1 )
if ( s[j] == t[i-j-1] )
w[k++] = s[j-1];
w[k] = '\0';
}
int main() {
char *w = "Abrrakadabrra!";
char s[20];
zagadka( w, w, s, 14 );
printf( "%s", s );
}
Zad. 3.
(10 pkt.) Obok każdego wywołania funkcji printf, uzupełnij tekst, który zostanie
wypisany. Wpisz BŁĄD jeśli nie można tego jednoznacznie określić lub gdy instrukcja
powoduje błąd wykonania programu.
#include <stdio.h>
void f( int a ) { a=3; }
int a, g;
int main() {
int a, b, c, *e, d[3];
printf( "%d", ++a );
f( b );
printf( "%d", b++ );
e = &b;
c = 7;
*e = 13;
printf( "%d", b + c );
printf( "%d", c | 12 );
e = d;
*(e++) = 2;
printf( "%d", d[1] );
*e = 4;
printf( "%d", d[1] );
printf( "%d", c >> 1 );
printf( "%d", c );
printf( "%d", (d[3]?sizeof(a):sizeof(b)) );
printf( "%d", g ^ 37 );
}
BŁĄD
BŁĄD
20
15
BŁĄD
4
3
7
BŁĄD
37
________________________________
Imię i nazwisko
Wypełnij drukowanymi literami
___________
Numer indeksu
czas pisania: 45 minut,
12 grudzień 2012
Zad. 1.
(5 pkt.) Wyróżnione pole (_ _ _ _ _)
uzupełnij nie używając średnika oraz
nawiasów [](), tak aby program po
uruchomieniu wypisywał tekst:
001
#include <stdio.h>
int main() {
int a[3] =
{ 1, 0, 0 };
int j=2;
for ( ; 0 <= j; j-- )
printf( "%d", *(a+j) );
}
Zad. 2.
(5 pkt.) Jaki tekst zostanie wypisany przez poniższy program? (Uwaga: zaznacz
wyraźnie duże i małe litery w odpowiedzi.)
#include <stdio.h>
void zagadka(char *s,char *t,char *w,int i) {
int j=0, k=0;
Wynik:
aa
for ( ; j< i; j += (j%2)+1 )
if ( s[j] == t[i-j-1] )
w[k++] = s[j+1];
w[k] = '\0';
}
int main() {
char *w = "Abrrakadabrra!";
char s[20];
zagadka( w, w, s, 14 );
printf( "%s", s );
}
Zad. 3.
(10 pkt.) Obok każdego wywołania funkcji printf, uzupełnij tekst, który zostanie
wypisany. Wpisz BŁĄD jeśli nie można tego jednoznacznie określić lub gdy instrukcja
powoduje błąd wykonania programu.
#include <stdio.h>
void f( int a ) { a=4; }
int a, g;
int main() {
int a, b, c, *e, d[3];
printf( "%d\n", ++a );
f( b );
printf( "%d\n", b++ );
e = &b;
c = 7;
*e = 13;
printf( "%d\n", b - c );
printf( "%d\n", c & 12 );
e = d+1;
*(e++) = 2;
printf( "%d\n", d[1] );
*e = 4;
printf( "%d\n", d[1] );
printf( "%d\n", (d[3]?sizeof(a):sizeof(b)) );
printf( "%d\n", c << 1 );
printf( "%d\n", c );
printf( "%d\n", g ^ 35 );
}
BŁĄD
BŁĄD
6
4
2
2
BŁĄD
14
7
35
Zgłoś jeśli naruszono regulamin