PYTANIA EGZEMINACYJNE Z C++


PYTANIA EGZEMINACYJNE Z C++

1 Dla jakich wartości zmiennej x pętla się wykonuje

while ( ! (x - 5 ) && ( x >= 5 ))

Tylko dla x = 5.

2 Podaj wartość zmiennej k . Odpowiedź uzasadnij.

int k, i = 5;

k = i + 0x10;

k = 5;

Wartośc k = 5, ponieważ w ostatnim wierszu nadano zmiennej k warość 5 , wcześniejsza wartość została usunięta.

3 Zadeklarowano strukturę:

struct osoba {

int data;

char nazwisko[50];

}

Napisz fragment programu w którym zadeklarujesz zmienną typu osoba i nadasz wartość jej składowym.

#include <iostream.h>

#include <conio.h>

main()

{

clrscr();

struct osoba{

int data;

char nazwisko[50];

}osoba = {28,"Janek Fiutek"}; - nadanie wartości składowym struktury.

cout<<osoba.data<<endl;

cout<<osoba.nazwisko;

getch();

return 0;

}

Można też tak:

#include <iostream.h>

#include <conio.h>

main()

{

clrscr();

struct osoba{

int data;

char nazwisko[50];

};

struct osoba osoba = {34,"Walencja Niedopchęcja"}; - tu nadanie wartości

cout<<osoba.data<<endl;

cout<<osoba.nazwisko;

getch();

return 0;

}

4 Napisz funkcje, która oblicza 3 potęgę argumentu, wywołaj ją w programie.

#include <iostream.h>

#include <conio.h>

float fun(float arg) // definicja i deklaracja funkcji jednocześnie

{

float wynik;

wynik = arg * arg * arg;

return wynik;

}

main()

{

float a, b;

clrscr();

cin>>a;

b = fun(a); // wywołanie funkcji z argumentem a

cout<<b;

getch();

return 0;

}

5 char Nazzwa[ ] = ”12345678” . Jaki jest rozmiar tablicy nazwa. Uzasadnij odp.

Rozmiar tablicy wynosi 9 , osiem znaków plus NULL.

6 Jakie wartości może zwrócić zmienna wynik. Odpowiedź uzasadnij.

int wynik = ( n > p ) && (c < 2 )

Zmienna wynik zwróci zero albo jeden. Jeżeli n będzie większe od p i c będzie mniejsze od dwóch wtedy warunek jest prawdą czyli 1 w przeciwnym wypadku warunek jest fałszywy więc 0 .

7 Zakreśl pary funkcji, które są funkcjami przeciążonymi ( przeładowanymi ).

  1. void screen( int f ); void scren(int);

  2. void screen( int ); float screen( int );

  3. void screen( int ); float screen( int, int*);

  4. float screen( int ); float screen( int, int* );

Dwie ostatnie.

Fragment programu:

int w = 5; float r = 7; f( w,r) cout<<w<<” ”<<r;

Jakie wartości zostały wyświetlone?

wart - przez wartość

ref - przez referencje

w = 5

r = 7

W tej funkcji jest błąd jako drugi argument jest int a w programie do funkcji oddany jest float.

Pierwszy zapis przesuwa adres o jeden a drugi zapis dodaje do *p wartość jeden.