игра брюс 2048
Главная / Программирование / Язык программирования C++ / Тест 15

Язык программирования C++ - тест 15

Упражнение 1:
Номер 1
У какой переменой в данном коде самое короткое "время жизни"?
  
char foo(char my_ch) 
{
  char ch= my_ch; 
  static int flag = 1;
  if (flag){
   char p;
   p=ch;
   ch=ch+1;
  }
  .....
  return ch; 
 
} 

Ответ:

 (1) p 

 (2) flag 

 (3) ch 


Номер 2
У какой переменой в данном коде самое длинное "время жизни"?
  
char foo(char my_ch) 
{
  char ch= my_ch; 
  static int flag = 1;
  if (flag){
   char p;
   p=ch;
   ch=ch+1;
  }
  .....
  return ch; 
 
} 

Ответ:

 (1) p 

 (2) flag 

 (3) ch 


Упражнение 2:
Номер 1
Если в функции main() выполняется


...
int a=9;  // в глобальном пространстве
void f() { int a; a = 4; }
...
cout << a;
то что будет выведено?

Ответ:

 (1) 9 

 (2) 0 

 (3) 4 

 (4) другой 


Номер 2
Если имеется программа
 int a = 7;  //в глобальном пространстве
void f() { static int a; a += 5; } 
 и в функции main() выполняется
 f(); cout << a;
 то какой будет результат?

Ответ:

 (1) 5 

 (2) 7 

 (3) 12 

 (4) другой 


Номер 3
Если имеется программа
 int a;  //в глобальном пространстве
 void f() { extern int a; a = 8; }
 и в функции main() выполняется
 a = 3; f(); cout << a;
 то какой будет результат?

Ответ:

 (1) 0 

 (2) 8 

 (3) 3 

 (4) другой 


Упражнение 3:
Номер 1
Отметьте все верные утверждения о статических атрибутах класса:

Ответ:

 (1) по умолчанию помещаются в public часть класса 

 (2) существуют в единственном экземпляре, независимо от количества объектов 

 (3) инициализируются при создании первого объекта 

 (4) не могут изменяться 

 (5) инициализируются в начале выполнения программы 


Номер 2
Отметьте все верные утверждения о статических методах класса:

Ответ:

 (1) не могут иметь аргументов по умолчанию 

 (2) не существуют до создания первого объекта класса 

 (3) не могут объявляться со словом const в конце объявления 


Номер 3
Можно ли создать объект класса, у которого все атрибуты и методы – статические?

Ответ:

 (1) да, можно 

 (2) вызовет ошибки компиляции 

 (3) вызовет ошибку выполнения 


Упражнение 4:
Номер 1
Объявление extern int f; означает:

Ответ:

 (1) переменная определена в другом исходном файле 

 (2) переменная определена в стандартной библиотеке 

 (3) переменная может быть использована только в этом файле 


Номер 2
Могут ли контексты быть вложенными?

Ответ:

 (1) могут 

 (2) не могут 

 (3) могут, при определенных условиях 


Номер 3
Запись ::func(x) означает, что

Ответ:

 (1) функция func написана на ассемблере 

 (2) вызывается функция из анонимного контекста 

 (3) вызывается функция из глобального контекста 

 (4) вызывается функция, определенная в другом файле 

 (5) функция func имеет тип void 


Упражнение 5:
Номер 1
Может ли статический метод класса быть объявлен как friend?

Ответ:

 (1) не может 

 (2) может 


Номер 2
Может ли нестатический метод иметь доступ к статическим методам и атрибутам?

Ответ:

 (1) может 

 (2) не может 


Номер 3
Какие из перечисленных операций не являются операциями доступа к атрибуту класса?

Ответ:

 (1) "<-" 

 (2) "." 

 (3) ":" 


Упражнение 6:
Номер 1
Что является минимальной областью видимости имен?

Ответ:

 (1) модуль 

 (2) блок 

 (3) функция 

 (4) класс 


Номер 2
Для чего предназначен оператор namespace?

Ответ:

 (1) для заключения в группу объявлений классов, переменных и функций в отдельный контекст со своим именем 

 (2) для заключения в группу объявлений классов, переменных и функций для использования только в текущем модуле 

 (3) для использования классов, переменных и функций из других модулей программы без использования заголовочных файлов 


Номер 3
Контекст пространства имен может содержать:

Ответ:

 (1) только объявления переменных 

 (2) объявления и определения переменных 

 (3) другие контексты 


Упражнение 7:
Номер 1
Что будет выведено в стандартный поток в результате выполнения программы

    int main()
    { int x1 = 5;
      x1 = x2 - 2;
      int x2 = x1;
      cout << x2;
      return 0;
    }

Ответ:

 (1) -2 

 (2) 5 

 (3) 0 

 (4) ошибка компиляции 


Номер 2
Что будет на экране после выполнения программы
    
    func() { int a = 10; }
    int main()
    { int x2 = a + 1;
      cout << x2;
      return 0;
    }    

Ответ:

 (1) 11 

 (2) 1 

 (3) 12 

 (4) ошибка компиляции 


Номер 3
Что будет на экране после выполнения программы
    
    namespace t
      { char * c = "Hi"; }
    int main()
    { 
    char * x2 = c;
    cout << x2;
    return 0;
    }    

Ответ:

 (1) Hi 

 (2) H 

 (3) ошибка компиляции 


Упражнение 8:
Номер 1
namespace a {
      int a;
      void A() { static int a = 4; };
 };
 Какой  будет результат выполнения cout << a::A::a; в функции main?

Ответ:

 (1) 4 

 (2) 0 

 (3) ошибка компиляции 

 (4) ошибка выполнения 


Номер 2
Что будет на экране после выполнения программы
    
    int m = 5;
    namespace space1
    {  int x1 = 3;
       namespace space2
         { int x1 = 2  + ::m + space1::x1; }
    }
    int main()
    { int x3 = space1::space2::x1 * 2;
      {  int x3 = 10; }
    cout << x3;  
    return 0;
    } 

Ответ:

 (1) 10 

 (2) 20 

 (3) 13 

 (4) ошибка компиляции 


Номер 3
Что будет на экране после выполнения программы
    
    int m = 5;  
    namespace space1
    {  int x1 = 1;
       namespace space2
         { int x1 = 3  + ::m + space1::x1; }
    }
    int main()
    { int x3 = space1::space2::x1 * 2;
      {  int x3 = 20; }
    cout << x3; 
    return 0; 
    } 

Ответ:

 (1) 20 

 (2) 18 

 (3) 4 

 (4) ошибка компиляции 




Главная / Программирование / Язык программирования C++ / Тест 15