ТЕСТ 2
въпросите на теста, един верен отговор (да), и един грешен
"отговор" (не)
Отбележете верни/грешни твърдения за функции.
(да) Оператор return може да върне стойност на израз.
(не) Всяка функция трябва да съдържа точно един оператор return.
Дадена е следната декларация на функция:
int mark(int n, int& m);
Отбележете верните и неверни оператори, съдържащи извикване на
функцията. Предполгаме, че цялата променлива comma е
дефинирана и има стойност 0.
(да) cout << mark(10, comma);
(не) cout << mark(comma, 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.
Отбележете операторите, които могат да се срещат в блока на
функцията 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);