Który z zestawów słów kluczowych języka ANSI C jest niepoprawny:
a) long int, case, do b) switch, else, unsigned int
c) long, sizeof, switch d) break, while, bool
Które z poniższych słów nie jest słowem kluczowym języka ANSI C:
a) default b) signed c) pointer d) case
Która nazwa w języku ANSI C zdefiniowana przez programistę jest niepoprawna?
a) integer b) switch c) moje_dane d) A4
float **x; Taka deklaracja to:
a) deklaracja jest niepoprawna
b) wskaźnik na wskaźnik na wartość typu float
c) wartość liczbowa rzeczywista
d) wskaźnik na wartość typu float
Która z deklaracji jest niepoprawna:
a) int a*; b) double *x[5]; c) float A[][4]; d) char s();
Dany jest fragment programu:
int x, y = 1;
x = (y < 2) ? 1 + y << 2 : y << 3 + 2;
Jaką wartość przyjmie zmienna x?
a) 3 b) 4 c) 8 d) 5
Dany jest fragment programu:
int a = 2, b = 3, c;
c = (a, a -= b, b = --a-b--);
Jakie wartości przyjmą zmienne a, b, c?
a) −2, −6, −5 b) −2, −6, −4 c) −2, −5, −5 d) −1, −6, −5
Dany jest fragment programu:
int b;
void oblicz()
{
int a = b;
...
}
Jaką wartością zostanie zainicjalizowana zmienna b?
a) minimalną wartością z zakresu wartości typu int b) 1
c) wartością nieokreśloną d) 0
Które z poniższych wyrażeń jest błędne przy założeniu, że zmienne x, y, z są typu rzeczywistego?
a) z = x%y; b) 3.14;
c) x += 10*y; d) z = x ? y++ : y--;
Która z poniższych instrukcji jest poprawna?
a) do { } while; b) while (1);
c) if (a > 0) b = 1; else d) if a > 0 b = 1;
Funkcja main została zdefiniowana jako:
int main(int argc, char *argv[]). Parametry argc i argv oznaczają:
a) argc - liczba zmiennych w programie, argv - tablica wskaźników łańcuchów zawierających nazwy zmiennych w programie
b) argc - liczba parametrów wywołania programu, argv - tablica wskaźników łańcuchów zawierających parametry z wiersza poleceń, przy czym argv[0] zawiera nazwę lub pełną ścieżkę do uruchamianego programu
c) argc - liczba parametrów wywołania programu, argv[0] - parametr wywołania programu podany w wierszu poleceń jako pierwszy po nazwie programu
d) argc - liczba zmiennych środowiskowych, argv[0] - tablica wskaźników łańcuchów zawierających nazwy zmiennych środowiskowych
Zadeklarowano zmienne: int *pa, a[10];
Które z poniższych przypisań jest prawidłowe?
a) pa = &a[10]; b) pa = 10;
c) a[0] = pa; d) pa = &a[5];
Dany jest poniższy fragment programu. Jakie wartości przyjmą zmienne a i b?
a = -1; b = -1;
if (a > 0)
{
if (b++ < 0)
{ a = 5; }
}
else
{ a = 0; b++; }
a) 5, -1 b) -1, 0 c) 0, 0 d) -1, -1
Dany jest fragment programu:
float x, suma = 0;
for (x = 0; x!= 10; x+=0.1)
suma += x;
Które ze zdań jest prawdziwe?
a) pętla wyznaczy sumę liczb od 0 do 10 z krokiem 0.1
b) wartość zmiennej x będzie zwiększana w co drugim przebiegu pętli
c) zmienna x nie osiągnie wartości 10
d) pętla wykona 99 iteracji
Dany jest fragment funkcji:
int x, iloczyn;
for (x = 1; x < 5; x++)
iloczyn *= x;
Jaką wartość przyjmie zmienna iloczyn?
a) 0 b) nieokreśloną c) 24 d) 120
Instrukcja return:
a) zawsze powoduje wyjście z programu
b) powoduje jedynie zakończenie wykonywania pętli
c) powoduje wyjście z funkcji
d) pozwala funkcji zwrócić przez wartość więcej niż jedną zmienną typu prostego
int a = 3, b = 7, c; c = a | b; Jaką wartość przyjmie zmienna c?
a) 10 b) 21 c) 7 d) 4
int a = 3, b = 2, c; c = a ^ b; Jaką wartość przyjmie zmienna c?
a) 1 b) 5 c) 9 d) 3
Zadeklarowano: long double a[3]; Jaką wartość zwróci wyrażenie sizeof a ?
a) 240 b) 30 c) 3
d) użycie operatora sizeof dla typów rzeczywistych jest niepoprawne
Poprawny zestaw instrukcji języka ANSI C to:
a) if, signed, switch b) for, return, continue
c) long, do, switch d) break, while, char
Test nr 2A