Программирование на языке C++



Авторы специализируются на тестах по любым дисциплинам! Средний балл по тестам 4,6.
 
Любые вопросы по дистанционному обучению. Тесты, письменные работы, сессия под ключ.
 
Известный интернет сайт, помощь по любым учебным вопросам - от теста до дипломной работы. Личный менеджер.
 
Крупная биржа студенческих работ. Закажи напрямую у преподавателя. Низкие цены, стена заказов.
 

Переменная типа signed char может принимать значения

  • только символов английского алфавита, цифр и символа подчеркивания
  • (Правильный ответ) из первой половины кодовой таблицы
  • (Правильный ответ) от -128 до 127
  • только из алфавита языка C++

Выберите все правильные ответы.
В переменной типа unsigned char можно хранить число

  • (Правильный ответ) 213
  • -213
  • -13
  • (Правильный ответ) 13
  • 1213

Выберите все правильные ответы.
Элементарные конструкции (лексемы) языка C++ включают в себя:

  • (Правильный ответ) десятичные числа с плавающей точкой
  • (Правильный ответ) восьмеричные числа
  • комментарии
  • (Правильный ответ) шестнадцатеричные числа

Выберите все правильные ответы.
Алфавит языка C++ включает в себя:

  • символы <, >, =, !
  • (Правильный ответ) прописные латинские буквы
  • (Правильный ответ) цифры
  • (Правильный ответ) строчные латинские буквы

Выберите все правильные ответы.
Элементарные конструкции (лексемы) языка C++ включают в себя:

  • операторы присваивания
  • (Правильный ответ) ключевые слова
  • (Правильный ответ) константы

Выберите все правильные ответы.
Элементарные конструкции (лексемы) языка C++ включают в
себя:

  • (Правильный ответ) знаки операций
  • (Правильный ответ) ключевые слова
  • двоичные числа
  • (Правильный ответ) строковые константы

Выберите все правильные утверждения.

  • (Правильный ответ) в выражении можно использовать операнды булевского типа
  • (Правильный ответ) результат операции сложения действительного и целого числа — действительный
  • результат операций сравнения действительных чисел — целый
  • результат стандартных функций sin и cos с аргументом целого типа — целый

Чему равно числовое значение выражения e/2*a-abs(e)*1e0 при e = 4, a = 2?

  • (Правильный ответ) 0
  • 3
  • 1

Выберите правильные утверждения:

  • (Правильный ответ) целой переменной можно присвоить вещественную константу
  • целой константе можно присвоить целую переменную
  • (Правильный ответ) целой переменной можно присвоить целую константу
  • целой константе можно присвоить вещественную переменную

Чему равно значение выражения (a && ! b || c), где a, b и с -величины типа bool, имеющие значения false, true и true соответственно?

  • (Правильный ответ) true
  • false

Какие выражения не содержат синтаксических ошибок?

  • a*exp(t)\(2t)
  • (Правильный ответ) ((cos(3*a+1.*abs(x))))
  • (Правильный ответ) 0XCC00*.34E-4/_do/k-2
  • sin(abs(0.6(e*3))

Чему равно значение выражения (a || b && a || c), где a, b ис — величины типа bool, имеющие значения false, true и true соответственно?

  • false
  • (Правильный ответ) true

Чему равно числовое значение выражения sqrt(4)+142/20*2?

  • 12
  • (Правильный ответ) 16
  • 5

Какая из следующих операций языка C выполняется справа
налево?

  • ->
  • ^
  • (Правильный ответ) =
  • []
  • ,

Выберите все правильные утверждения.

  • результат операций сравнения действительных чисел — действительный
  • (Правильный ответ) результат арифметических операций над действительными числами — действительный
  • (Правильный ответ) в одном выражении можно использовать операнды действительного и целого типов

Какое выражение не содержит синтаксических ошибок?

  • (-0.18)*a)\(r-0.2*t))
  • (-0.18)*a)/(r-0.2*t)
  • (Правильный ответ) -0.18*a/r-0.2*t
  • cos/^2*x+0,2

Найдите операторы вывода, не содержащие ошибок (int k; float x,y)

  • (Правильный ответ) printf («*%4f %d %4.2f*», x, k, y);
  • (Правильный ответ) printf («*%f %d %4f*», x, k, y);
  • (Правильный ответ) printf («*%4f %4d %4.2f*», x, k, y);

Что будет выведено на экран в результате работы программы (учитывая формат вывода)?

#include main() { int i; float t; i = 1; t = 5; printf(«»%3.1f%d%2d»», t, i, i); }

  • 1.01 5
  • 51 1
  • (Правильный ответ) 5.01 1

Выберите все правильные варианты.
При использовании в программме оператора scanf(«%d%d%d»,&a,&b,&c) требуется разделять числовые значения величин при вводе при помощи

  • запятой
  • (Правильный ответ) одного пробела
  • (Правильный ответ) нажатия клавиши ENTER
  • (Правильный ответ) произвольного количества пробелов

Какие из выражений имеют значение true?

  • (Правильный ответ) (1 > 3) || ! (1 > 3)
  • (1 < 3) && (2 = = 1)
  • (Правильный ответ) (1 < 3) || (2 = = 1)
  • (Правильный ответ) ! ((1 < 3) && (2 = = 1))
  • (Правильный ответ) (! (1 > 3)) && (1 < 3)

Выберите все правильные варианты.
При использовании в программе функции scanf требуется разделять числовые значения величин при вводе при помощи

  • (Правильный ответ) нажатия клавиш TAB или ENTER
  • клавиш курсора
  • (Правильный ответ) по крайней мере одного пробела
  • пробела или запятой

Выберите все правильные утверждения.
В функции printf для величин действительного типа можно задавать формат
вида printf(«%К.Мf», A), где А — переменная или выражение,

  • (Правильный ответ) K и M должны быть целыми
  • (Правильный ответ) K — общее количество позиций, отводимое под переменную А
  • K — количество позиций, отводимое под целую часть переменной А
  • K и M могут быть действительными

Выберите правильные ответы.
Можно ли присвоить значения

  • (Правильный ответ) целого типа — булевской переменной
  • (Правильный ответ) целого типа — символьной переменной
  • булевского типа — целой константе
  • (Правильный ответ) целого типа — вещественной переменной

Выберите все правильные ответы.
Можно ли присвоить

  • (Правильный ответ) целую переменную — вещественной переменной
  • целой константе — целую константу
  • (Правильный ответ) булевской переменной — булевскую константу
  • (Правильный ответ) вещественной переменной — целое выражение

Какую величину вычисляет программа?

#include <stdio.h>main(){ int a[3][4]; int i, j, k; for (i = 0; i < 3; i++) for (j = 0; j < 4; j++) scanf(«»%d»»,&a[i][j]); for (i = 0; i < 3; i++) { k = 0; for (j = 0; j < 4; j++) if (a[i][j] > 0) ++k; } printf(«»%d»»,k);}

  • количество положительных элементов массива в каждой строке
  • (Правильный ответ) количество положительных элементов массива в последней строке
  • количество положительных элементов массива в первой строке
  • количество положительных элементов массива
  • количество положительных элементов массива в последнем столбце

Что будет выведено на экран в результате работы программы?

#include <stdio.h>main(){const char a[] = «»abcrcaab»»;int i; for (i = 0; i < 8; i++) if (a[i] < ‘c’) printf(«»%c»»,a[i]);}

  • abbaa
  • baaba
  • (Правильный ответ) abaab

Основное правило структурного программирования состоит в том, что:

  • (Правильный ответ) программа составляется только из базовых конструкций: следования, ветвления и цикла, которые могут вкладываться друг в друга
  • в программе могут использоваться только определенные структуры данных
  • программа состоит из подпрограмм, организованных в определенную структуру
  • структура программы задается на этапе составления алгоритма

Чему будет равно значение переменной А после выполнения фрагмента программы, если В = 5?

A = 2;if (В <= 4)C = 1;else { C = 0;A = C;}

  • 1
  • (Правильный ответ) 0
  • 2

Какое число получится в результате работы программы?

#include <stdio.h>#include <math.h>main(){const int a[8] = {3,8,0,-6,0,-1,-9,3};int i,j,k; k = 0; j = 4; for (i = 0; i < 8; i++) if (abs(a[i]) > j) k = a[i]; printf(«»%d»»,k);}

  • 10
  • -2
  • (Правильный ответ) -9

Какое значение получит «p[0]» в данном примере?

int a[2][3]={{1,2,3},{7,8,9}};int *p=&a[0][2];p+=3;

  • 4
  • 7
  • (Правильный ответ) 9
  • 1

Какую величину вычисляет программа?

#include <stdio.h>main(){ int a[3][4]; int i, j, k; for (i = 0; i < 3; i++) for (j = 0; j < 4; j++) scanf(«»%d»», &a[i][j]); k = -1; for (i = 0; i < 4; i++) { for (j = 0; j < 3; j++) if (a[j][i] == 0) k = i; } printf(«»%d»»,k);}

  • номер первой из строк массива, содержащих хотя бы один элемент, равный 0
  • (Правильный ответ) номер последнего из столбцов массива, содержащих хотя бы один элемент, равный 0
  • количество положительных элементов массива в каждом столбце
  • номер последней из строк массива, содержащих хотя бы один элемент, равный 0
  • номер первого из столбцов массива, содержащих хотя бы один элемент, равный 0

Чему будет равно значение переменной m после выполнения программы?

int main (){int k;int m;k = 0; m = 0;while (k < 3)++k;++m;return m;}

  • 5
  • (Правильный ответ) 1
  • 0

Чему будет равно значение переменной m после выполнения программы?

main(){int k;int m;m = 1;for (k = 1; k <= 2; k++) {++m; k+=2; }}

  • 3
  • 0
  • (Правильный ответ) 2

Чему будет равно значение переменной m после выполнения программы?

main(){int k;int m;m = 1;for (k = 3; k >= 1; k—) ++m;}

  • 10
  • 2
  • (Правильный ответ) 4

Что будет выведено на экран в результате работы программы?

#include <stdio.h>main(){const char a[] = «»abcrcaab»»;int i;for (i = 7; i > 1; i—) if (a[i] < ‘c’) printf(«»%c»»,a[i]);}

  • aab
  • raa
  • (Правильный ответ) baa

Чему будет равно значение переменной m после выполнения программы?

main(){int k;int m; k = 3; m = 0; while (k > 0){ k—; m++; }}

  • 2
  • 0
  • (Правильный ответ) 3

Что будет выведено на экран в результате работы программы?

#include <stdio.h>void f(char a, char d){ a = d; d = a;}int main(){ char a[] = «»глаз»»; f(a[0],a[3]); puts(a); return 0;}

  • влаз
  • влаг
  • (Правильный ответ) глаз

Заголовок функции имеет вид: void P(int a, float b, char& c);
Укажите правильные варианты вызова подпрограммы, если переменные в
вызывающей функции описаны так: float a,b; int c,d; char e;

  • (Правильный ответ) P(c,c,e);
  • (Правильный ответ) P(c%d,sin(d)/3.14,e);
  • (Правильный ответ) P(d,a-b,e);
  • P(a,b,c);

Что будет выведено на экран в результате работы программы?

#include <stdio.h>int a, b, c, d;void f( int a, int& c, int& d){int b; a = 5; c = 7; b = 9;}int main(){ a = 1; c = 1; b = 1; f(a,c,b); printf («»%d|%d|%d»»,a,c,b); return 0;}

  • 7|1|1
  • 7|7|1
  • (Правильный ответ) 1|7|1

Что будет выведено на экран в результате работы программы?

#include <stdio.h>int a, b, c, d;void f( int& a, int& c, int& d){int b; a = 5; c = 7; b = 9;}int main(){ a = 1; c = 1; b = 1; f(a, b, c); printf («»%d|%d|%d»»,a,c,b); return 0;}

  • (Правильный ответ) 5|1|7
  • 1|9|7
  • 9|5|7

Что будет выведено на экран в результате работы программы?

#include <stdio.h>int a, b, c, d;void f( int a, int& c, int& d){int b; a = 5; c = 7; b = 9;}int main(){ a = 1; c = 1; b = 1; f(b,a,c); printf («»%d|%d|%d»»,a,c,b); return 0;}

  • (Правильный ответ) 7|1|1
  • 1|1|1
  • 7|7|1

Параметр функции описан как «int& a».
Соответствующий ему аргумент может быть:

  • выражением типа, совместимого с int
  • выражением типа int
  • (Правильный ответ) переменной типа int
  • константой типа int

Что будет выведено на экран в результате работы программы?

#include <stdio.h>void f(char* a, char* b){ a = b; b = a;}int main(){ char a[]=»»abcde»»; char b[]= «»opr»»; f(a,b); puts(a); return 0;}

  • (Правильный ответ) abcde
  • abdec
  • acbde

Выберите все правильные утверждения.

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

Выберите все правильные утверждения.

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

Параметр функции описан как «const int a». соответствующий ему аргумент может быть:

  • (Правильный ответ) выражением целого типа
  • (Правильный ответ) переменной целого типа
  • только переменной типа int с именем а
  • выражением любого типа

Заголовок функции имеет вид: void f(int& a, float b, char c);
Укажите правильные варианты вызова функции, если переменные в
вызывающей функции описаны так: int a; char b; float d,x;

  • (Правильный ответ) f(a,a,b);
  • f(2,d,b);
  • (Правильный ответ) f(a,x,’b’);
  • (Правильный ответ) f(a,d-x/2,b);

Заголовок функции имеет вид: void P(int a,char b, float c);
Укажите правильные варианты вызова подпрограммы, если переменные в
вызывающей функции описаны так: char a[10]; float c; int d;

  • P(c,a[4],d);
  • (Правильный ответ) P(3200,’a’,c/2*d);
  • P(a,c,d-1);
  • (Правильный ответ) P(d,a[2],c);

Стиль ООП рекомендует объявлять поля объектов

  • с директивой global
  • с директивой public
  • с директивой local
  • (Правильный ответ) с директивой private
  • без директив

Какие из следующих утверждений неверные?

  • конструкторы нельзя описывать с модификатором virtual.
  • конструкторы нельзя описывать с модификатором static.
  • конструкторы нельзя описывать с модификатором const.
  • (Правильный ответ) конструкторы наследуются.

Что можно сказать о приведенном примере?

#include <iostream.h>class A{int x;public:A(int y){x = y;}};int main(){ A a; cin >> a.x; return 0;}

  • при выполнении программы возникнет ошибка.
  • программа будет компилироваться, но не будет компоноваться.
  • (Правильный ответ) при компиляции программы возникнет ошибка.
  • программа будет работать нормально.

Какое из следующих утверждений верное?

  • в конструкторах нельзя задавать значения параметров по умолчанию.
  • конструкторы наследуются.
  • (Правильный ответ) конструктор не возвращает значение.
  • конструктор возвращает значение типа void.

Какая из следующих операций не может быть перегружена?

  • +
  • =
  • (Правильный ответ) ?:

Выберите наиболее подходящий ответ. В объектно-ориентированной программе объекты обмениваются между собой

  • информацией
  • (Правильный ответ) сообщениями
  • данными
  • методами

Какое свойство ООП позволяет единообразно обращаться с разными объектами одной иерархии?

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

Что неверно при инициализации ‘y’ в приведенном ниже коде?

class SomeClass { int x; public: SomeClass (int xx) : x(xx) {}; }; SomeClass x (10); SomeClass y(x);

  • это неверно, потому что SomeClass не содержит public конструктора копирования.
  • это неверно, потому что SomeClass не содержит конструктора по умолчанию.
  • это неверно, потому что SomeClass не содержит конструктора копирования.
  • (Правильный ответ) здесь нет ничего неверного. С инициализацией ‘y’ все в порядке.
  • это неверно, потому что SomeClass не содержит виртуального деструктора.

Какие из следующих утверждений неверные?

  • (Правильный ответ) конструктор не может иметь параметров.
  • класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации.
  • (Правильный ответ) конструктор возвращает значение типа void.
  • нельзя получить указатель на конструктор.

Какой конструктор вызывается при выполнении операции присваивания между существующими объектами одного типа?

  • конструктор с параметром-объектом.
  • конструктор копирования.
  • конструктор по умолчанию.
  • (Правильный ответ) в этом случае никакой конструктор не вызывается.

Выберите правильный вызов функции-члена класса С через указатель «pmfn»

class Class1 { public: void func(); }; void (Class1::*pmfn)() = &Class1::func; Class1 *c;

  • (c.*pmfn)();
  • c->*pmfn();
  • (Правильный ответ) c->pmfn();
  • c.*pmfn();
  • (c->*pmfn)();

Какие из следующих утверждений неверные?

  • класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации.
  • (Правильный ответ) конструктор не может выбросить исключение.
  • конструктор, вызываемый без параметров, называется конструктором по умолчанию.
  • параметры конструктора могут иметь любой тип, кроме этого же класса.

Какие из следующих утверждений верные?

  • локальные объекты создаются до вызова функции main.
  • конструкторы глобальных объектов вызываются при компиляции программы.
  • класс может иметь только один конструктор.
  • (Правильный ответ) класс может иметь несколько конструкторов.

В чем, кроме имени, различие между методами «f1()» и «f2()» в приведенном ниже коде?

struct Foo { int f1() { return 0; } int f2(); }; int Foo::f2() { return 0; };

  • f1() — это статическая функция.
  • (Правильный ответ) f1() — это встроенная функция.
  • f2() — private.
  • f2() — это встроенная функция.
  • f2() — это статическая функция.

Основные особенности объективно-ориентированного языка (выберите наиболее точный ответ):

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

При описании метода перед его именем указывается

  • имя поля объекта
  • (Правильный ответ) имя типа объекта
  • имя экземпляра объекта
  • ничего не указывается
  • имя объекта-предка

Какая из следующих операций может быть перегружена в классе?

  • ?:
  • (Правильный ответ) ->*
  • ::
  • .
  • .*

Выберите правильные утверждения (одно или более).
Упрощение структуры программы всегда приводит

  • к увеличению ее быстродействия
  • к увеличению количества классов
  • (Правильный ответ) к уменьшению количества повторяющихся фрагментов
  • (Правильный ответ) к облегчению ее отладки

Выберите правильные утверждения (одно или более).
Инкапсуляция приводит к

  • (Правильный ответ) упрощению структуры программы
  • (Правильный ответ) упрощению внесения изменений в программу
  • (Правильный ответ) упрощению поиска ошибок
  • уменьшению степени абстракции программы

Шаблон функции описан как template<class X, class Y, class Z>void f(Y, Z);
Какой из вызовов этой функции неверный?

  • f<int, char*, double>(«Test», 2.0);
  • f<int>(«Test», 2.0);
  • f<int, char*>(«Test», 2.0);
  • (Правильный ответ) f(«Test», 2.0);

Выберите правильное утверждение.
Если класс, производный от абстрактного, не определяет все чисто виртуальные функции, он является:

  • закрытым
  • открытым
  • (Правильный ответ) абстрактным
  • виртуальным

Какое из следующих утверждений является примером полиморфизма?

  • указатель на базовый класс используется для доступа к закрытым членам класса.
  • функция-член одного класса вызывает функцию-член другого класса.
  • класс включает данные с одинаковыми именами, но разными типами.
  • (Правильный ответ) выражение, в котором вызывается виртуальная функция.
  • выражение, в котором указатель на класс-потомок используется для вызова функции, определенной в базовом классе.

Что необходимо поставить на место «???» в приведенном примере так, чтобы класс C не имел доступа к неоткрытым (non-public) членам класса A?

class A {// … }; class B : ??? A {}; class C : public B {};

  • (Правильный ответ) private
  • virtual
  • public
  • protected
  • virtual protected

Выберите правильное утверждение.

class A {}; class B : protected А {};

  • класс В не является потомком класса А.
  • класс В является закрытым потомком класса А.
  • класс В является открытым потомком класса А.
  • (Правильный ответ) класс В является защищенным потомком класса А.

Какой уровень доступа имеет переменная «x» из класса «derived» в приведенном примере?

class basex { protected: int x; }; class derived : private basex {};

  • public
  • (Правильный ответ) private
  • global
  • protected
  • local

Что выведется на экран в результате работы следующего кода?

class Base{ public: Base(int _x = 10){x = _x;} void f() {cout<<x*2<<endl;} protected: int x;};class Derived: public Base{ public: void f() {cout<<x/2<<endl;} };int main(){ Derived d; Base* pB= &d; pB->f(); return 0;}

  • 10
  • 22
  • (Правильный ответ) 20

Какой уровень доступа имеет переменная «x» из класса «derived» в приведенном примере?

class basex { public: int x; }; class derived : basex {};

  • global
  • (Правильный ответ) private
  • public
  • local
  • protected

Что выведется на экран в результате работы следующего кода?

class Base{ public: Base(int _x=10){x=_x;} virtual void f() {cout<<x*2<<endl;} protected: int x;};class Derived: public Base{ public: void f() {cout<<x/2<<endl;}};int main(){ Derived d; Base* pB= &d; pB->f(); return 0;

  • (Правильный ответ) 5
  • 4
  • 15

Какое из приведенных утверждений об абстрактном классе является НЕПРАВИЛЬНЫМ?

  • (Правильный ответ) вы можете создавать объекты абстрактного класса.
  • абстрактный класс может иметь потомков.
  • абстрактный класс имеет как минимум одну чисто виртуальную функцию.
  • вы можете создавать указатели на абстрактный класс.

Какой уровень доступа имеет переменная «x» из класса «derived» в приведенном примере?

class basex { protected: int x; }; class derived : protected basex {};

  • global
  • public
  • local
  • (Правильный ответ) protected
  • private

Почему приведенный ниже фрагмент кода НЕВЕРЕН?

namespace f { struct Obj { struct T; template<class T, class f> virtual void f() { } }; };

  • предварительное описание Т конфликтует с параметром шаблона T.
  • классы и структуры не могут содержать шаблоны методов.
  • параметр шаблона f конфликтует с именованной областью f.
  • здесь все верно.
  • (Правильный ответ) виртуальные методы не могут быть шаблонами.

Какое число получится в результате работы программы?

#include <stdio.h>main(){const int a[8] = {3,8,0,-6,0,-1,-9,3};int i,j,k; k = 0; j = 2; for (i = 0; i < 8; i++) if (a[i] < j) ++k; printf(«»%d»»,k);}

  • 21
  • (Правильный ответ) 5
  • 0

Какое значение получит «p[0]» в данном примере?

int a[2][3]={{1,2,3},{7,8,9}};int *p=&a[0][0];p+=2;

  • 1
  • 8
  • 7
  • (Правильный ответ) 3
  • значение не определено

Что будет выведено на экран в результате работы программы?

for (int ii = 0; ii < 3; ++ ii) { switch (ii) { case 0: cout << «»ZERO»»