ТЕСТ 4
въпросите на теста, един верен отговор (да), и един грешен
"отговор" (не)
Отбележете верните и грешни оператори за дефиниране на
променливи, константи и обекти от класовете Time и Employee ("Низове
и обекти").
(да) int one = 3;
(не) Time day(30);
Отбележете верните и неверни оператори за
вход и изход. Предполагаме, че всички променливи, използвани в
изразите, са дефинирани правилно.
(да) cout << "C++\n";
(не) cout >> n;
Дадени са следните дефиниции на
променливи:
int k = 2;
double x = 0.5;
Пресметнете аритметичните изрази в С++ и отбележете с "да" тези,
които имат стойност 10 (като цяло число) или 10.0 (като число тип double).
(да) 20 * x
(не) 8 * x + k
Дадени са следните дефиниции на низови
променливи:
string n = "Good morning";
string m = "By-by";
Отбележете верните и неверните (относно синтаксис) оператори.
(да) cout << n.substr(0,2);
(не) cout << length(m);
Отбележете синтактично верни/неверни оператори за цикъл на
С++. Предполагаме, че mark е цяла
променлива.
(да) for(mark = -1;
mark < 4; mark++) cout << mark;
(не) for(mark = 0,
mark < 5, mark++) mark--;
Напишете стойността на
следните изрази (сравнения и логически операции):
(true) "Harry" <
"Hurry"
(false) !(8 > 2)
Нека info е цяла
променлива с текуща стойност 0. Напишете ДА, ако даденият цикъл ще
се изпълни само веднъж.
(да) while (info
<= 0) info++;
(не) while (info
> 0) info--;
Отбележете с "ДА" безкрайните цикли. Променливата k е
дефинирана с начална стойност 0.
(да) for(;;) cout
<< k;
(не) for(; k >
0;) cout << k;
Дадена е следната декларация на функция:
int by(int, int&);
Отбележете верните и неверни оператори, съдържащи извикване
на функцията. Предполгаме, че цялата променлива c е дефинирана и
има стойност 0.
(да) cout <<
by(10, c);
(не) cout <<
by(c, 2);
Зададена е следната функция:
int main()
{
int count = 0;
string word;
while (cin >> word) count++;
cout << count << " words.\n";
return 0;
}
Вярно ли е следното твърдение?
(да) count е име на
променлива.
(не) word е глобална
променлива.
Даден е клас Big и обект b от този
клас.
class Big {
public:
Big();
vector<Time> get_t() const
{ return times; }
void set_t(Time t, int i)
{ times[i] = t; }
private:
vector<Time> times;
};
Big b;
Конструкторът на класа зарежда 10 стойности на вектора times. Отбележете верните оператори от блока на main.
(да) b.get_t().pop_back();
(не) cout <<
b.get_t();
Дадена е дефиниция на клас и глобален
масив от обекти от този клас:
class Arr {
public:
Arr()
{ for(int i=0; i<10; i++) a[i]=i*i; }
int geta(int i) const { return a[i]; }
private:
int a[10];
};
Arr arr[3];
Дали даденият оператор от функция main е
синтактически/логически верен?
(да) cout << arr[0].geta(3);
(не) cout << arr[3].geta(0);
Даден е вектор и стойности на елементите му.
vector<int>
sol(2);
sol[0] = 10;
sol[1] = 12;
Отбележете верните и грешни оператори.
(да) int k =
sol.size();
(не) cin >>
sol[2];
Даден е класът
class Product
{
public:
Product();
Product(string n, double p, int s);
void read();
string get_name() const;
double get_price() const;
void print() const;
private:
string name;
double price;
int score;
};
и обект от този клас p, дефиниран в main. Отбележете операторите, които могат да се срещат в блока
на функцията main.
(да) Product q;
(не) string
s = p.name;
Отбележете верни/грешни твърдения за функции.
(да) Оператор return може да
върне стойност на израз.
(не) Всяка функция трябва да съдържа точно един оператор return.