ТЕСТ 2
въпросите на теста, един верен отговор (да), и един грешен
"отговор" (не)
Отбележете верни/грешни (с "да"/"не") твърдения за функции.
(да) Оператор return може да върне стойност на израз.
(не) Всяка функция трябва да съдържа none един оператор return.
Дадена е следната декларация на функция:
int mark(int val, int& ref);
Отбележете верните и неверни оператори, съдържащи извикване на
функцията. Предполгаме, че цялата променлива com е
дефинирана и има стойност 0.
(да) cout << mark(10, com);
(не) cout << mark(com, 2);
Дадена е следната дефиниция на функция:
int hard(int n)
{
if (n % 3 > 1) return n%2;
else return (n + 1)%2;
}
Напишете изведената на екрана стойност.
(0) cout << hard(2);
(1) cout << hard(4);
Отбележете верните (с "да") и неверните (с
"не") твърдения за класове.
(да) Конструктор без параметри се нарича конструктор по
подразбиране.
(не) Всяка член-функция има най-малко един явен параметър.
Отбележете с "да" верните декларации на
функции, които могат да бъдат конструктори на класове. Другите
оператори отбележете с "не".
(да) Date();
(не) int Time();
Дефиниран е класът
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.
Отбележете с "да" операторите, които могат да се срещат в блока на
тази функция.
(да) Product q;
(не) string s = p.name;
Отбележете верни/неверни твърдения относно
следната дефиниция на член-функция:
Employee::Employee(string employee_name, int initial_salary)
{
name = employee_name;
salary = initial_salary;
}
(да) Това е дефиниция на конструктор на класа Employee.
(не) initial_salary е частен член (данна) на класа Employee.
Еквивалентни ли са логическите изрази,
дадени като (1) и (2)?
(да) (1) country == "USA" && state != "AK"
(2) ! (country != "USA" || state == "AK")
(не) (1) country == "USA" && state != "HI"
(2) ! (country != "USA" && state ==
"HI")
Дадени са следните дефиниции на променливи:
double a, x;
bool flag1, flag2;
Може ли да се приложат отложени пресмятания за дадения
логически израз?
(да) cin.fail() || (a < 0)
(не) !(x >= 0)
Колко
пъти ще се извика функцията digit_name от програмата int_name.cpp,
при следното изикване на функцията int_name:
(0) int_name(10);
(1) int_name(200);
Вявно ли е твърдението за върнатата
стойност на функцията?
int cap(int a)
{
if (a > 4) a--;
else if (a > 2) a++; else a--;
if (a > 6)
{ if (a < 8) a++; else
a--;
if (a == 7) a++;
}
return a;
}
(да) cap(1)връща 0
(не) cap(1)връща 1
Може ли функцията raise_salary,
дефинирана във файла raisesal.cpp, да бъде извикана по
следния начин (при условие, че е дефиниран обект harry от
клас Employee)?
(да) raise_salary(harry, 5);
(не) raise_salary(harry);
Разгледайте текста на програмата от файла
employee.cpp. Посочете верни (с "да") и грешни (с
"не") твърдения за параметри на функции, викани от главна функция main.
(да) Обект harry е явен фактически параметър на функцията
print в оператора print(harry);.
(не) Обект harry е неявен параметър на функцията print
в оператора print(harry);.
Отбележете верните (с "да") и грешните (с
"не") оператори за цикъл относно синтаксис. Променливите t, y,
h и k са от тип int.
Променливите a и b също са от тип int
и имат стойност 1.
(да) for(t = -1; t < 4; t++) cout << t;
(не) do ( b++; ) while (a < b);
Отбележете с "да" безкрайните цикли, а с
"не" - крайните. Цялата променлива k има стойност 0.
(да) for(;;) cout << k;
(не) for(; k > 0;) cout << k;
Стойността на цялата променлива far
е получена от входния поток. Безкраен ли е даденият цикъл?
(да) do far--; while (true);
(не) do far--; while(far > 0);
Напишете "да", ако тялото на цикъла ще се изпълни
точно веднъж и "не" в противен случай. Цялата променлива beep
има стойност 1.
(да) do beep++; while(beep < 0);
(не) do beep--; while(true);