Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Количество тестовых заданий для представления тестируемому:



Количество тестовых заданий для представления тестируемому:

Открытой формы:

задания на выбор одного верного ответа___279___

задания на выбор нескольких верных ответов___21___

задания на установление соответствия__0____

задания на установление правильной последовательности__0___


 

1. Какое значение, по умолчанию, возвращает программа операционной системе в случае успешного завершения?

a) Программа не возвращает значение

b) 0

c) 1

d) -1

 

2. Программа, переводящая входную программу на исходном языке в эквивалентную ей выходную программу на результирующем языке, называется:

a) транслятор

b) компилятор

c) сканер

d) интерпретатор

 

3. Что такое единица трансляции? Какое из утверждений наиболее верное?

a) любой статический член данных

b) объект

c) объявление функции

d) файл c исходными кодами и заголовками

 

4. Какие служебные символы используются для обозначения начала и конца блока кода?

а) <>

b) ()

c) begin end

d) { }

 

5. Когда выполняются директивы препроцессора?

а) после компиляции, но до выполнения кода

b) во время выполнения кода

c) до компиляции

d) во время компиляции

 

6. Какая директива используется для подключения к программе заголовочных файлов?

a) #include

b) #define

c) #undef

d) #ifndef

 

7. Какая директива определяет подстановку в тексте константы, макроса и т.д. программы?

a) #undef

b) #include

c) #ifdef

d) #define

 

8. Чему равно значение переменной res?

#define F(x) (2*x*x)

 

int main() {

int a = 1, b = 2;

int res = F(a + b);

return 0;

}

 

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

b) ошибка времени выполнения

c) 6

d) 18

 

9. Директивы условной компиляции #if, #ifdef и #ifndef применяются для:

a) вставки содержимого указанного файла

b) исключения компиляции отдельных частей программы

c) удаления определенного символа

d) определения подстановки в тексте программы

 

10. Что будет выведено на экран?

#include <iostream>

int main() {

#define MyConst 1;

#define Debug

 

int k = 10;

#if!defined Debug && defined MyConst

k++;

#endif

std::cout<<k;

return 0;

}

a) 11

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

c) 10

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

 

11. Для комментирования текста программы используются следующие символы:

a) //

b) /* */

c) */ /*

d) // \\

 

12. К целочисленным типам данных в С++ относятся:

a) int

b) integer

c) float

d) double

 

13. К типами с плавающей точкой в С++ относятся:

a) char

b) float

c) int

d) real

 

14. Относится ли тип char к целочисленным типам?

a) Да

b) Нет

 

15. Если переменная типа bool преобразуется в число, чем становится значение false?



a) 1

b) 0

c) 1

d) значение не определено

 

16. Спецификаторы типа, уточняющие внутреннее представление стандартного типа это:

a) short

b) long

c) signed

d) char

 

17. Спецификаторы типа, уточняющие диапазон значений стандартного типа это:

a) short

b) int

c) signed

d) unsigned

 

18. Чему будет равно значение выражения 3/5*5 в с++?

a) 1

b) 0.12

c) 0

 

19. Чему будет равно с после выполнения следующего кода?

inta(0);

int b(1);

int c(a+b);

 

a) 0

b) 1

c) -1

 

20. Чему будет равно a после выполнения следующего кода?

int а = 7;

a /= 2;

 

a) 7

b) 3

c) результат не определен

d) 3.5

 

21. Если для переменной указан класс памяти auto, то это значит, что переменная:

a) автоматическая локальная и память выделяется ей при входе в блок и освобождается при выходе из него

b) глобальная и находится в другом месте программы

c) статическая и существует только в пределах той функции, где определена и сохраняет своё значение и при последующих вызовах этой функции

 

22. Если для переменной указан класс памяти static, то это значит, что переменная:

a) автоматическая локальная и память выделяется ей при входе в блок и освобождается при выходе из него

b) глобальная и находится в другом месте программы

c) статическая и существует только в пределах той функции, где определена и сохраняет своё значение и при последующих вызовах этой функции

 

23. Если для переменной указан класс памяти extern, то это значит, что переменная:

a) автоматическая локальная и память выделяется ей при входе в блок и освобождается при выходе из него

b) глобальная и находится в другом месте программы

c) статическая и существует только в пределах той функции, где определена и сохраняет своё значение и при последующих вызовах этой функции

 

24. Константа в C++ не может быть:

a) целого типа

b) вещественного типа

c) символьного типа

d) нет правильного ответа

 

25. Для создания именованной константы используется ключевое слово:

a) short

b) const

c) extern

d) static

 

26. Целые константы не могут быть:

a) десятичными

b) восьмеричными (начинаются с 0)

c) шестнадцатеричными (начинаются с 0x)

d) нет правильного варианта ответа

 

27. Перечислимые константы вводятся с помощью ключевого слова:

а) namespace

b) enum

c) new

d) static

 

28. Перечислите все правильные способы объявления локальной константы в блоке кода.

a) #const size = 5;

b) constint size;

c) define const size 5

d) constint size = 5;

 

29. Стандартные потоки ввода и вывода данных, которые определенны в библиотечном файле iostream.h — это:

a) printfиscanf

b) cinиcout

c) new и delete

d) mallocи free

 

30. Что выведет следующая программа:

#include <iostream>

#include <stdio.h>

 

int main() {

std::cout<<printf("boom!");

return 0;

}

 

a) ошибка компиляции (библиотека stdio входит только в стандартную библиотеку языка С)

b) printf("boom!")

c) boom!

d)нет правильного ответа

 

31. Функции ввода/вывода, описанные в библиотечном файле stdio.h — это:

a) printfиscanf

b) cinиcout

c) new и delete

d) mallocи free

 

32. Какой из следующих операторов — оператор сравнения двух переменных?

a):=

b) =

c) ==

d) ===

 

33. Операция ++ — это:

a) увеличение на единицу

b) уменьшение на единицу

c) остаток от деления

d) умножение с присвоением

 

34. Операция -- —это:

a) увеличение на единицу

b) уменьшение на единицу

c) остаток от деления

d) деление с присвоением

 

35. Каков результат работы следующего фрагмента кода?

int x = 5;

int a = ++x;

int b = x++;

 

a) a = 6, b = 6, x = 6

b) a = 6, b = 7, x = 7

c) a = 6, b = 7, x = 6

d) a = 6, b = 6, x = 7

 

36. Каков результат работы следующего фрагмента кода?

int x = 3;

int a = --x;

int b = x--;

 

a) a = 2, b = 2, x = 2

b) a = 2, b = 1, x = 1

c) a = 2, b = 2, x = 1

d) a = 3, b = 2, x = 1

 

37. Что выведет данный фрагмент кода:

inti = 0;

i++++++++++++++++++++; // 20 плюсов

cout<<i++ <<endl;

 

a) Произойдёт ошибка времени выполнения

b) Программа не скомпилируется

c) 10

d) 11

 

38. Какое ключевое слово используется для описания пространства имен?

а) namespace

b) std

c) include

d) const

 

39. Скомпилируется ли следующий код:?

int a = 0;

double b = 0.0;

 

namespace space1

{

int a=1;

double b=1.0;

}

namespace space2

{

int a=2;

double b=2.0;

}

int main()

{

int a=0;

double b=0.0;

 

return 0;

}

 

a) Да

b) Нет

 

40. Заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций — это:

a) math.h

b) iostream.h

c) stdio.h

d) fstream.h

 

41. Общий вид оператора if:

a) if оператор1; [else оператор2;]

b) if (выражение) оператор1; [else оператор2;]

c) if (выражение, оператор1);

d) if оператор1 (выражение); [else оператор2;]

 

42. Какие ключевые слова входят в состав конструкции "если":

a) then

b) Else

c) elseif

d) if

 

43. Каким будет значение переменной a в результате выполнения данного фрагмента кода:

int a = 5 > 6? 8: 0;

 

a) 5

b) 0

c) 8

d) 6

 

44. Для чего используется оператор if:

a) для организации многократно повторяющихся вычислений

b) для разветвления процесса вычислений на несколько направлений

c) для разветвления процесса вычислений на 2 направления

d) это оператор возврата из функции

 

45. Логическая операция И — это:

a) &

b) &&

c)!=

d) ||

 

46. Логическая операция ИЛИ — это:

a) |

b)!=

c) ||

d) &&

 

47. Чему будет равна переменная a, после выполнения этого кода?

int b = 2;

intс = 3;

int a = b & c;

 

a) 3

b) 2

c) 1

d) 4

 

48. Чему будет равна переменная a, после выполнения этого кода?

int b = 2;

intс = 3;

int a = b | c;

 

a) 3

b) 2

c) 1

d) 4

 

49. Чему будет равна переменная a, после выполнения этого кода?

int b = 2;

intс = 3;

int a = b ^ c;

 

a) 3

b) 2

c) 1

d) 4

 

50. Чтовыведетследующийкод?

#include <iostream>

 

int main()

{

inti = 3;

int c = 0;

while(i)

{

++c;

i ^= i& -i;

}

std::cout<< c;

return 0;

}

 

a) 2

b) 3

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

d) 1

 

51. Какие операторы цикла существуют в C++?

a) foreach

b) for

c) repeat until

d) switch

 

52. Циклспредусловием — это:

a) for

b) while

c) do … while

d) break

 

53. Циклспостусловием — это:

a) while

b) for

c) do … while

d) break

 

54. Цикл с параметром — это:

a) while

b) for

c) do … while

d) break

 

55. Цикл while имеет структурный вид:

a) while (выражение) оператор

b) while (выражение) оператор 1, else [оператор 2]

c) while (выражение 1), else (выражение 2)

d) while оператор 1, else [оператор 2]

 

56. Цикл while начинается …:

a) с вычисления выражения, а затем управление передаётся следующему за циклом оператору

b) с выполнения простого или составного оператора, а затем вычисляется выражение

c) с передачи управления на начало следующей итерации

d) с вычисления выражения, если оно истинно, то выполняется оператор цикла

 

57. Цикл do … while начинается …:

a) с вычисления выражения, а затем управление передаётся следующему за циклом оператору

b) с выполнения простого или составного оператора, а затем вычисляется выражение

c) с передачи управления на начало следующей итерации

d) с вычисления выражения, если оно истинно, то выполняется оператор цикла

 

58. Цикл do…while имеет вид:

a) while (выражение) оператор

b) do оператор while выражение

c) do выражение while оператор

d) do оператор1 while оператор2

 

59. Цикл for имеет вид:

a) for (инициализация; оператор) выражение

b) for (инициализация; модификации; оператор) выражение

c) for (инициализация; выражение; модификации) оператор

d) for (инициализация; выражение) оператор

 

60. Операторы передачи управления – это следующие операторы:

a) goto, break, continue, return

b) goto, break, continue

c) goto, switch, continue, return

d) goto, break, return, do break

 

61. Оператор break — это оператор …:

a) выхода из цикла

b) возврата из функции

c) безусловного перехода

d) перехода к следующей итерации цикла

 

62. Оператор continue— это оператор …:

a) выхода из цикла

b) возврата из функции

c) безусловного перехода

d) перехода к следующей итерации цикла

 

63. Оператор return— это оператор …:

a) перехода в определённую точку программы

b) возврата из функции

c) безусловного перехода

d) перехода к следующей итерации цикла

 

64. Что сгенерирует на выходе приведённый ниже код программы:

int x = 10;

while (x > 0)

{

cout<< x <<endl;

x = x - 3;

}

getch();

 

a) 7,4,1

b) 10,7,4,1

c) 7

d) выдаст ошибку

 

65. Что сгенерирует на выходе приведённый ниже код программы:

int x = 10;

while (x < 0)

{

cout<< x <<endl;

x = x - 3;

}

getch();

 

1) 0

2) 1

3) пустая консоль

4) выдаст ошибку

 

66. Что сгенерирует на выходе приведённый ниже код программы:

int x = 10;

do

{

cout<< x <<endl;

x = x - 3;

} while (x> 0);

 

1) 7

2) 10

3) 10,7,4,1

4) выдаст ошибку

 

67. Что будет выведено при выполнении следующего фрагмента кода:

int x;

while(x < 100)

{

cout<< x << " ";

x++;

}

 

a) 1 2 3 4... 99 100

b) 0 1 2 3 4... 99 100

c) 0 1 2 3 4... 99

d) результат не определен

 

68. Что сгенерирует на выходе приведённый ниже код программы:

int x = 10;

do

{

cout<< x <<endl;

x = x - 3;

} while (x < 0);

 

a) 10

b) 7

c) 10,7,4,1

d) выдастошибку

 

69. Чему будет равно значение i после выполнения фрагмента?

inti = -3, a = -3;

while(a - i)

a = i++;

 

a) -3

b) 4

c) 0

d) 3

 

70. Оператор switch (переключатель) предназначен для:

a) Для организации многократно повторяющихся вычислений

b) Для разветвления процесса вычислений на несколько направлений

c) Для разветвления процесса вычислений на 2 направления

d) Оператор возврата из функции

 

71. Каков результат работы следующего фрагмента кода?

int x = 0;

switch(x)

{

case 1: cout<< "Один"; break;

case 0: cout<< "Ноль"; break;

case 2: cout<< "Приветмир"; break;

}

 

a) Привет мир

b) Ноль

с) Ноль Привет мир

d) Один

 

72. Каков результат работы следующего фрагмента кода?

int x = 10;

switch(x)

{

case 1: cout<< "Один"; break;

case 0: cout<< "Ноль"; break;

case 2: cout<< "Приветмир"; break;

default: cout<< "Нет совпадений";

}

 

a) Привет мир

b) Ноль

с) Нет совпадений

d) Один

 

73. Что выведется на экран в результате выполнения следующего фрагмента кода:

inti = 2;

switch (i) {

case 0: cout<< 0;

case 1: cout<< 1;

case 2:

case 3: cout<< 3;

default: cout<< 4;

}

 

a) пусто

b) 3

c) 34

d) 0134

 

74. Каков результат работы следующего фрагмента кода?

for (inti = 0; i!= 5; i++)

{

cout<<i;

break;

}

 

a) 0

b) 0, 1, 2, 3, 4

c) 0, 1, 2

d) нет правильного ответа

 

75. Каков результат работы следующего фрагмента кода?

for (inti = 0; i!= 5; i++)

{

cout<<i;

continue;

}

 

a) 0

b) 0, 1, 2, 3, 4

c) 0, 1, 2

d) нет правильного ответа

 

 

76. Чему будет равна переменная a, после выполнения этого кода?

int a; for(a = 0; a < 10; a++) {}

 

a) 9

b) 10

c) 8

d) нет правильного ответа

 

77. Чему будет равна переменная a, после выполнения этого кода?

int a; for(a = 10; a > 0; a--) {}

 

a) 0

b) 2

c) 1

d) нет правильного ответа

 

78. Что напечатает следующий код:

#include <iostream>

 

int main()

{

int n = 10;

for(;n--;) {

std::cout<< n;

}

return 0;

}

 

a) код не скомпилируется

b) возникнет ошибка времени выполнения

c) цикл будет продолжаться до бесконечности

d) 9876543210

 

79. Чему будет равно a в строке // 1?

int a = 0;

for (;;)

{

if (a) break;

a--;

}

a; // 1

 

a) -1

b) 1

c) выполнение программы никогда не дойдет до строки // 1 из-за бесконечного цикла

d) этот код не скомпилируется, т.к. содержит синтаксические ошибки

 

80. Укажите правильное объявление одномерного массива:

a) int mas;

b) mas{10};

c) int mas[10];

d) array mas[10];

 

81. Если элементов в массиве больше, чем инициализаторов, то …:

a) элементы не записываются

b) выдаётся ошибка

c) элементы обнуляются

d) происходит расширение памяти, и массив записывается полностью

 

82. Укажите правильный вариант инициализации массива:

a) int mas[3] = {1, 2, 3};

b) int mas[3] = {1, 2, 3, 4};

c) int mas[3] = {"1", 2, 3};

d) int mas{3} = {1, 2, 3};

 

83. Укажите правильное объявление двумерного массива:

a) int mas[2, 3]

b) int mas[2],[3]

c) intmas[2][3]

d) двумерные массивы объявлять нельзя

 

84. Элементы массива нумеруются с …

a) 1

b) 0

c) 2

d) -1

 

85. Какой максимальный индекс элементов у следующего массива: intmas[100]:

a) 100

b) 101

c) 99

d) 98

 

86. Указатель предназначен …:

a) для хранения ссылок на объекты

b) для хранения значений переменной

c) для хранения адресов областей памяти

d) нет правильного варианта ответа

 

87. Что из перечисленного является объявлением указателя в С++?

a) int* a;

b) int* &a;

c) int a&;

d) int&a;

 

88. Какой оператор в C++ используется для взятия адреса?

a) ^

b) &

c) &&

d) *

 

89. Что выведет cout?

#include <iostream>

using namespace std;

 

int main() {

int a = 3;

int b = 4;

int c = 5;

int&d = b;

 

a = b = c;

 

cout<< a << b << c << d <<endl;

 

return 0;

}

 

a) 3334

b) 4444

c) в коде имеются ошибки

d) 5555

 

90. В C++ существуют следующие виды указателей:

a) указатель на объект

b) указатель на функцию

c) указатель на тип void

d) нет правильного варианта ответа

 

91. Укажите верный способ инициализации указателя:

a) int* p = 5;

b) int a = 5; int* p = &a;

c) int a = 5; int* p &(a);

d) нет правильного варианта ответа

 

92. Что выведет следующая программа:

#include "stdio.h"

 

int main() {

int * var = new int(2);

*var*=2;

printf("%d", *var);

return 0;

}

 

a) 2

b) Возникнет ошибка компиляции

c) 0

d) 4

 

93. Что из перечисленного верно по отношению к ссылкам и указателям?

a) в отличие от указателей, ссылки нельзя изменять и обязательно необходимо инициализировать при определении или в списке инициализации конструктора.

b) ссылки ничем не отличаются от указателей. Это просто более удобная форма записи указателей

с) ссылки нельзя использовать в списке аргументов функции

d) в отличие от указателей, нельзя изменять значение поля, на которое ссылается ссылка

 

94. Что из себя представляет динамическое выделение памяти?

а) память под объект (переменную) выделяется каждый раз при обращении к переменной

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

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

 

95. Укажите операции для манипулирования динамической памятью в С++:

a) new, delete

b) throw

c) calloc(), free(), malloc()

d) нет правильного ответа

 

96. Укажите функции для манипулирования динамической памятью в С++:

a) calloc(), free(), malloc()

b) get_memory(), free_memory()

c) new, delete

d) нет правильного ответа

 

97. Операция определения размера типа или объекта в байтах — это:

a) sizeof

b) length

c) getlength

d) нет правильного варианта ответа

 

98. Освобождение памяти, выделенной с помощью операции new, должно выполняться с помощью:

a) free()

b) delete

c) delete[]

 

99. Освобождение памяти, выделенной с помощью функции malloc/calloc, должно выполняться с помощью:

a) free()

b) delete

c) delete[]

 

100. Освобождение памяти, выделенной с помощью операции new[], должно выполняться с помощью:

a) free()

b) delete

c) delete[]

 

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

а) int *****

b) int ***

c) int ****

d) четырехмерный динамический массив создать нельзя

 

102. При выделении памяти под массив, указатель указывает:

a) на первый элемент массива

b) на весь массив элементов целиком

c) на последний элемент массива

d) нет правильного варианта ответа

 

103. Что напечатает следующий код:

#include "stdio.h"

 

int main() {

int * param1 = new int(2);

int param2 = 2;

int * reference = &param2;

printf("%d", *reference == *param1);

return 0;

}

 

a) true

b) 1

c) false

d) 0

 

104. Какую операцию с указателями невозможно выполнить:

a) инкремент(++)

b) разадресации

c) умножения

d) приведения типов

 

105. При истинности какого из приведенных высказываний имеет смысл вычитание указателей?

a) оба указателя указывают на объекты одного и того же типа

b) оба указателя получены с помощью операции new

c) к обоим указателям обращаются с помощью операции &

d) оба указателя указывают на элементы одного и того же массива

 

106. Укажите, как можно обратиться к элементу динамического массива p:

a) p[5], *(p + 5)

b) p->5, (*p)->5

c) (*p + 5)

d) нет правильного варианта ответа

 

107. Функция — это:

a) последовательность описаний и операторов

b) именованная последовательность описаний и операторов

c) параметр, возвращающий значение

d) нет правильного варианта ответа

 

108. Когда происходит выполнение функции:

a) на завершающем этапе работы программы

b) в момент объявления

c) в момент вызова

d) нет правильного варианта ответа

 

109. Как правильно вызвать эту функцию?

int sum(int a, int b)

{

return a + b;

}

 

a) sum(7, 8);

b) sum(int a = 7, int b = 8);

c) int sum(int a = 7, int b = 8);

d) sum(int 7, int 8);

 

110. Объявление функции (прототип, заголовок, сигнатура) задает ее …:

a) имя, тип возвращаемого значения, список передаваемых параметров

b) имя, тип возвращаемого значения, список передаваемых параметров, тело функции

c) имя и тип возвращаемого значения

d) нет правильного варианта ответа

 

111. Определение функции содержит …:

a) объявление и тело функции

b) только тело функции

c) только объявление

d) нет правильного варианта ответа

 

112. Какая область видимости у следующей функции:

extern int f(int a, …) {…}

 

a) видимость только в пределах модуля, в котором определена функция

b) глобальная видимость во всех модулях программы

 

113. Какая область видимости у следующей функции:

static int f(int a, …) {…}

 

a) видимость только в пределах модуля, в котором определена функция

b) глобальная видимость во всех модулях программы

 

114. Тип возвращаемого функцией значения может быть:

a) любым

b) любым, кроме массива и функции

c) любым, кроме массива

d) любым, кроме функции

 

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

a) null

b) тип не указывается

c) void

d) нет правильного варианта ответа

 

116. Тип возвращаемого функцией значения может быть указателем на массив или функцию?

a) Да

b) Нет

 

117. Механизм возврата из функции в вызвавшую ее функцию реализуется оператором:

a) break

b) goto

c) return

d) finally

 

118. Какое значение вернет функция:

int f() {

return 4,(5),6;

}

 

a) Результат не определен

b) 5

c) 4

d) 6

 

119. Что выведет на экран следующая программа?

#include <iostream>

 

void qwer(int&param) {

param += 15;

}

 

int main(void) {

int a = 14;

void (*realFunction)(int&) = &qwer;

realFunction(a);

std::cout<<a;

return 0;

}

 

a) программа не скомпилируется

b) 15

c) 29

d) 14

 

120. Можно ли возвращать из функции указатель на локальную переменную (объявленную в функции)?

a) Да

b) Нет

 

121. Параметры, перечисленные в заголовке описания функции, называются:

a) фактическими параметрами

b) формальными параметрами

c) нет правильного ответа

 

122. Параметры, записанные в операторе вызова функции, называются:

a) фактическими параметрами

b) формальными параметрами

c) нет правильного ответа

 

123. Какие существуют способы передачи параметров в функцию?

a) только по значению

b) только по адресу

c) по значению и по адресу

d) нет правильного ответа

 

124. Существует ли в C++ разница между объявлением функции c пустыми скобками - func(), и объявлением с использованием ключевого слова void - func(void)?

a) Да

b) Нет

 

125. Скомпилируется ли следующий код:

intfoo();

charfoo();

 

a) Да

b) Нет

 

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

#include <iostream>

void func(intnum);

int main(void)

{

func(5);

return 0;

}

void func(intnum)

{

if(num)

func(num-1);

std::cout<<num;

}

 

a) 543210

b) 012345

c) программа не скомпилируется

d) программа приведет к переполнению стека

 

127. Что напечатает программа:

#include <stdio.h>

 

void ampersand(int n, int&k);

 

int main()

{

int n=5;

int k=10;

 

ampersand(n, k);

printf("n=%d &k=%d\n", n, k);

 

return 0;

}

 

void ampersand(int n, int&k)

{

k -= 5;

--n;

}

 

a) n=5 &k=5

b) Произойдет ошибка во время компиляции

c) n=5 &k=<адрес переменной в памяти>

d) n=5 &k=10

 

128. Скомпилируется ли следующий код?

namespace {

voidFoo() { }

}

 

a) Нет

b) Да

 

129. Если требуется запретить изменение параметра внутри функции, используется модификатор?

a) const

b) static

c) inline

d) extern

 

130. Что делает инструкция break; в следующем фрагменте кода:

void function1() {

if(1) {

break;

function2();

}

}

 

a) выполняет выход из function1

b) ничего (игнорируется)

c) приводит к синтаксической ошибке

d) выполняет выход из if-блока

 

131. Массив в функцию всегда передается:

a) по адресу

b) по значению

c) по ссылке

d) нет правильного ответа

 

132. Что выведет эта программа?

#include <iostream>

 

static const char s[][10] = {

"foo",

"bar",

};

 

void test(const char s[][10]) {

using std::cout;

for (int i = 0; i < 2; i++) {

cout<< s[i];

}

}

 

int main() {

test(s);

}

 

a) возникнет ошибка во время выполнения

b) foo

c) bar

d) foobar

 

133. Что называют перезагрузкой функции?

a) использование нескольких функций

b) использование нескольких функций с одним и тем же именем, но с различными типами параметров

с) использование нескольких функций с одним и тем же именем

d) нет правильного варианта ответа

 

134. Какой результат работы программы?

#include<iostream>

using namespace std;

 

void f(double) { cout<<"f1"<<endl; }

void f(constint) { cout<<"f2"<<endl; }

void f(int&) { cout<<"f3"<<endl; }

 

void main(void) {

int n = 1;

double b = 2;

f(n);

f(b);

}

 

a) f3 f1

b) f2 f1

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

d) f2 f3 f1

 

135. Что означает конструкция throw() в объявлении функции? (например void f() throw();)

a) такое объявление не корректно, произойдет ошибка времени компиляции

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

c) такое объявление указывает, что функция может сгенерировать любое исключение

d) такое объявление указывает, что функция не должна генерировать исключения

 

136. Верно ли утверждение, что параметры по умолчанию должны быть последними в списке и могут опускаться при вызове функции?

a) Да

b) Нет

 

137. Что выведет программа?

#include <iostream>

using namespace std;

 

void print(int x, int y) {

cout<< x << y <<endl;

}

 

int main() {

int x = 1;

int y = 2;

print(y = 5, x = 6);

}

 

a) 12

b) 21

c) 65

d) 56

 

138. Верно ли утверждение, что в качестве значений параметров по умолчанию не могут использоваться константы, глобальные переменные и выражения?

a) Да

b) Нет

 

139. Что выведет на экран следующий код?

#include <iostream>

 

int foo()

{

return 1, 2, 3, 4, 5;

}

 

int main()

{

std::cout<< foo() <<std::endl;

return 0;

}

 

a) 2

b) 4

c) 5

d) 3

 

140. Строка — это:

a) массив символов

b) массив символов, заканчивающийся символом \n (нуль-символом)

c) последовательность однотипных величин

d) массив символов, начинающийся символом \n (нуль-символом)

 

141. Для символьных данных в C введен тип:

a) int

b) char

c) void

d) string

 

142. Что выведет на экран следующая программа?

#include <iostream>

#include <string>

 

using namespace std;

 

int main() {

string str("abcdefghijk");

int index = str.length();

index = ~index;

while(++index) {

cout<< str.at(~index);

}

return 0;

}

 

a) abcdefghijk

b) программа выведет на экран какие-то ASCII-символы и нормально завершит работу

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

d) kjihgfedcba

 

143. Верно ли утверждение, что для представления символьной информации в С++ используются символы, символьные переменные и текстовые константы?

a) Да

b) Нет

 

144. Какая из перечисленных операций над строками не определена?

a) сравнивания

b) объединения

c) определения длины строки

d)присваивания

 

145. Функция, осуществляющая ввод одного символа их входного потока, при этом возвращающая один байт информации (символ) в виде значения типа int — это:

a) getchar

b) putchar

c) puts

d) gets

 

146. Функция, считывающая строку из стандартного потока до появления символа '\n' — это:

a) getchar

b) putchar

c) puts

d) gets

 

147. Укажите функции копирования строк библиотеки string.h:

a) strcpy()

b) strlen()

c) strcmp()

d) strncat()

 

148. Укажите функции сравнения строк библиотеки string.h:

a) strcpy()

b) strcat()

c) strcmp()

d) strncpy()

 

149. Укажите функцию объединения строк библиотеки string.h:

a) strcpy()

b) strcat()

c) strcmp()

d) strlen()

 

150. Укажите функцию поиска подстроки в строке библиотеки string.h:

a) strcpy()

b) strcat()

c) strstr()

d) strlen()

 

151. Укажите функцию поиска вхождения символа в строку библиотеки string.h:

a) strcpy()

b) strcat()

c) strstr()

d) strchr()

 

152. Укажите функцию определения длины строки библиотеки string.h:

a) strcpy()

b) strlen()

c) strstr()

d) strchr()

 

153. C помощью какой функции можно преобразовать строку в число типа double:

a) atof ()

b) atoi ()

c) atol()

d) нет правильного варианта ответа

 

154. C помощью какой функции можно преобразовать строку в число типа int:

a) atof ()

b) atoi ()

c) atol()

d) нет правильного варианта ответа

 

155. C помощью какой функции можно преобразовать строку в число типа long:

a) atof ()

b) atoi ()

c) atol()

d) нет правильного варианта ответа

 

156. Верно ли утверждение, что в библиотеке ctype.h есть функции tolower и toupper, переводящие символ латинского алфавита соответственно в нижний и верхний регистр?

a) Да

b) Нет

 

157. Верно ли утверждение: string – это тип данных (класс) стандартной библиотеки, основные действия со строками в котором выполняются с помощью операций и методов, а длина строки изменяется динамически в соответствии с потребностями?

a) Да

b) Нет

 

158. Какие из объявлений переменных типа string не верны?

a) string sl;

b) string s2("Bacя");

c) string s2("Bacя"); string s3(s2);

d) нет правильного ответа

 

159. Можно ли строке типа string присвоить другую строку типа string?

a) Да

b) Нет

 

160. Укажите функцию класса string, которая используется для вставки в одну строку части другой строки:

a) insert()

b) append()

c) erase()

d) replace()

 

161. Укажите функцию класса string, которая используется для удаления части строки:

a) insert()

b) append()

c) erase()

d) replace()

 

162. Укажите функцию класса string, которая используется для замены части строки:

a) insert()

b) append()

c) erase()

d) replace()

 

163. Укажите функцию класса string, которая используется для получения длины строки:

a) size()

b) length()

c) max_size()

d) empty()

 

164. Последовательные файлы – это файлы в которых …:

a) чтение и запись производятся с начала, байт за байтом

b) чтение и запись производятся в указанную позицию

c) нет правильного ответа

 

165. Файлы с произвольным доступом – это файлы в которых …:

a) чтение и запись производятся с начала, байт за байтом

b) чтение и запись производятся в указанную позицию

c) нет правильного ответа

 

166. Для использования файловых потоков необходимо подключить заголовочный файл:

a) stdio.h

b) iostream.h

c) fstream.h

d) нет правильного варианта ответа

 

167. Опишите, что происходит в следующем примере:

fopen(“file.txt”,”a”)

 

a) открывает файл для записи в конец файла

b) открывает файл для чтения

c) открывает файл для записи

d) нет правильного варианта ответа

 

168. Опишите, что происходит в следующем примере:

fopen(“file.txt”,”w+”)

 

a) открывает файл для записи

b) открывает файл для чтения

c) удаляет существующий файл, если он есть, создает новый и открывает его для записи

d) нет правильного варианта ответа

 

169. Опишите, что происходит в следующем примере:

ifstream ifs(“file.txt”,, ios::app);

 

a) открывает файл для записи в конец файла

b) открывает файл для чтения

c) открывает файл для записи

d) нет правильного варианта ответа

 

170. Опишите, что происходит в следующем примере:

ifstream ifs(“file.txt”,, ios::in);

 

a) открывает файл для записи в конец файла

b) открывает файл для чтения

c) открывает файл для записи

d) нет правильного варианта ответа

 

171. Определение типа структуры начинается с ключевого слова:

a) union

b) struct

c) enum

d) нет правильного варианта ответа

 

172. Верно ли утверждение, что создание структурной переменной возможно двумя способами: с использованием шаблона (типа) или без него.

a) Да

b) Нет

 

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

#include <iostream>

#include <string>

 

struct A {

void exec() {

std::cout<< "Hello ";

}

};

 

struct B {

void exec() {}

};

 

struct C: virtual A, virtual B {

void exec() {

A::exec();

std::cout<< "World\n";

}

};

 

int main() {

A* a = new C();

B* b = new C();

C* c = new C();

a->exec();

b->exec();

c->exec();

}

 

a) Hello World

b) World

c) Hello

d) Hello Hello World

 

174. Какие операции не возможны над структурами?

a) присваивание

b) получение адреса переменной с помощью операции &

c) осуществление доступа к членам структуры

d) сравнение структурных переменных

 

175. Верно ли утверждение, что структуру можно передать в функцию по частям?

a) Да

b) Нет

 

176. Верно ли утверждение, что структуру можно передать в функцию целиком?

a) Да

b) Нет

 

177. Верно ли утверждение, что структуру нельзя передать в функцию через указатель?

a) Да

b) Нет

 

178. Укажите верный способ обращения к полям структуры struct point *pp;

a) (*pp).поле, pp->поле

b) *(pp).поле, pp->поле

c) pp.поле, *pp->поле

d) нет правильного ответа

 

179. Верно ли утверждение, что полем структурной переменной может быть переменная любого типа, в том числе другая структурная переменная.

a) Да

b) Нет

 

180. Если в множестве элементов, каждый элемент содержит только ссылку на следующий, то такое множество называется:

a) двусвязный список

b) односвязный список

c) кольцевой список

d) нет правильного ответа

 

181. Если в множестве элементов, каждый элемент содержит не только ссылку на следующий, но и ссылку на предыдущий элемент, то такое множество называется:

a) двусвязный список

b) односвязный список

c) кольцевой список

d) нет правильного ответа

 

173. Если в множестве элементов, каждый элемент содержит не только ссылку на следующий, но и ссылку на предыдущий элемент, а также последний элемент связан указателем с первым, то такое множество называется:

a) двусвязный список

b) односвязный список

c) кольцевой список

d) нет правильного ответа

 

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

a) struct

b) namespace

c) typedef

d) union

 

183. Для объявления объединения используется ключевое слово …:

a) struct

b) enum

c) typedef

d) union

 

184. Объединение …:

a) содержит несколько полей, однако в любой момент времени доступно только одно поле

b) содержит несколько полей и в любой момент времени доступны все поля

c) не содержит полей

d) нет правильного варианта ответа

 

185. Под объединение выделяется столько памяти, сколько требуется для размещения

a) всех полей

b) самого маленького поля

с) самого большого поля

d) нет правильного ответа

 

186. Верно ли утверждение, что все поля структуры совместно используют выделенную память для хранения своих значений.

a) Да

b) Нет

 

187. Структуры отличаются от классов тем, что доступ к элементам, а также базовый класс при наследовании по умолчанию считаются (у структур public у классов private по умолчанию)

a) private

b) protected

c) public

d) нет правильного ответа

 

188. К основным принципам ООП не относится:

a) инкапсуляция

b) полиморфизм

c) абстрагирование

d) наследование

 

189. Инкапсуляция — это …

a) свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью

b) свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта

c) свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя

d) способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые

 

190. Наследование — это …

a) свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью

b) свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта

c) свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя

d) способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые

 

191. Полиморфизм — это …

a) свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью

b) свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта

c) свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя

d) способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые

 

192. Абстрагирование — это …

a) свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью

b) свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.

c) свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя

d) способ выделить набор значимых характеристик объекта, исключая из рассмотрения незначимые

 

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

a) Да

b) Нет

 

194. Скомпилируется ли следующий код:

classClazz

{

};

 

a) Нет

b) Да

 

195. Какого спецификатор доступа не существует в классе:(3)

a) protected

b) private

c) alternative

d) public

 

196. Откомпилируется ли следующий фрагмент кода:

class fullEmpty { };

class iClass: fullEmpty {

public:

intiPublicVariable;

private:

float iPrivateVariable;

protected:

intiProtectedVariable;

public:

double iPublicVariableToo;

};

 

a) да. Код откомпилируется

b) нет. Нельзя одновременно наследовать класс и использовать модификатор доступа protected

c) нет. Нельзя наследовать класс от пустого класса

d) нет. Модификатор доступа public объявлен несколько раз

 

197. Какие спецификаторы доступа будут установлены по умолчанию для переменных a и b?

class SomeClass {

int a;

};

Struct SomeStruct {

int b;

};

 

a) public: a; public: b;

b) public: a; private: b;

c) private: a; public: b;

d) private: a; private: b;

 

198. Спецификаторы доступа управляют видимостью:

a) полей и методов класса

b) полей класса

с) методов класса

d) нет правильного ответа

 

199. Поля класса могут быть описаны с модификатором:

a) extern

b) auto

c) register

d) static

 

200. Есть ли ошибки в этом коде?

class A {

int a;

public:

static intGetA() { return a; }

};

 

a) нет

b) да

 

201. Поля класса не могут быть:

a) типа int

b) типа этого же класса

c) указателями или ссылками на этот класс

d) нет правильного ответа

 

202. Классы могут быть?

a) глобальными и локальными

b) только глобальными

с) только локальными

d) нет правильного ответа

 

203. Верно ли утверждение, что инициализация полей класса при описании не допускается?

a) Да

b) Нет

 

204. Являются ли конструкторы и деструкторы методами класса?

a) Да

b) Нет

 

205. Конструктор — …:

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

b) определяет способ создания объекта или его инициализации; имеет то же имя, что и класс

c) операция, выполняющая очистку памяти, когда объект класса выходит за пределы области видимости или он удаляется; имеет то же имя, что и класс со знаком "~" перед ним

d) операция, которая изменяет состояние объекта

 

206. Деструктор — …:

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

b) определяет способ создания объекта или его инициализации; имеет то же имя, что и класс

c) операция, выполняющая очистку памяти, когда объект класса выходит за пределы области видимости или он удаляется; имеет то же имя, что и класс со знаком "~" перед ним

d) операция, которая изменяет состояние объекта

 

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

a) конструктор может иметь любое имя

b) конструктор имеет то же имя, что и класс

c) конструктор объявляется в точности так же, как и обычный метод класса

d) конструктор возвращает значения

 

208. При создании каждого объекта выделяется память, достаточная для хранения всех полей, и автоматически вызывается …

a) конструктор

b) деструктор

с) метод класса

d) нет правильного ответа

 

209. При выходе объекта из области действия он уничтожается, при этом автоматически вызывается …

a) конструктор

b) деструктор

с) метод класса

d) нетправильногоответа

 

210. Константный метод класс описывается с ключевым словом …:

a) const

b) static

c) extern

d) friend

 

211. Верно ли утверждение, что статические поля применяются для хранения данных, общих для всех объектов класса, например, количества объектов или ссылки на разделяемый всеми объектами ресурс?

a) Да

b) Нет

 

212. Содержит ли этот код ошибки компиляции?

class A {

static void Foo();

};

 

static void A::Foo() { }

 

a) Нет

b) Да

 

213. После удаления экземпляра класса его статические члены:

a) продолжают существовать до тех пор, пока не будет удалён последний экземпляр этого класса

b) продолжают существовать даже когда не остаётся ни одного экземпляра класса

c) принимают исходные значения

d) удаляются вместе с экземпляром класса

 

214. Для чего используется модификатор доступа mutable?

a) чтобы разрешить модификацию члена класса, принадлежащего константному объекту

b) такого модификатора нет в С++

c) тоже самое, что и const в С

d) тоже самое, что и volatile

 

215. Сколько конструкторов и деструкторов может быть у одного класса (выберите наиболее точный вариант)?

a) несколько конструкторов, несколько деструкторов

b) один конструктор, один деструктор

c) один конструктор, несколько деструкторов

d) несколько конструкторов, один деструктор

 

216. Конструктор без параметров (по умолчанию) используется для:

a) для создания объекта, аналогичного тому, который уже существует

b) инициализации объекта требуемыми значениями

c) создания "пустого" объекта

d) нет правильного ответа

 

217. Конструктор с параметром используется для:

a) для создания объекта, аналогичного тому, который уже существует

b) инициализации объекта требуемыми значениями

c) создания "пустого" объекта

d) нет правильного ответа

 

218. В каком порядке инициализируются поля в классе?

a) в порядке перечисления инициализаторов в списке инициализации конструктора

b) порядок инициализации не гарантируется

c) в порядке их объявления

 

219. Конструктор копирования используется для:

a) для создания объекта, аналогичного тому, который уже существует

b) инициализации объекта требуемыми значениями;

c) создания "пустого" объекта

d) нет правильного ответа

 

220. Укажите верные утверждения:

a) конструктор возвращает значение

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

c) конструкторы наследуются

d) если программист не указал ни одного конструктора, компилятор создает его автоматически

 

221. Укажите неверное утверждение:

a) деструктор возвращает значение

b) деструктор не имеет параметров

c) если в классе деструктор не определен явно, то компилятор генерирует деструктор по умолчанию

d) не наследуется

 

222. Что будет выведено на экран?

#include <iostream>

class A

{

public:

A(void){this->_num=0;}

int A(intnum){this->_num=num;}

~A(void){std::cout<< this->_num;}

private:

int _num;

};

int main(void)

{

A val(100);

return 0;

}

 

a) программа не скомпилируется

b) экран будет пуст

c) 0

d) 100

 

223. Что нужно добавить в класс A, чтобы программа скомпилировалась успешно?

#include <iostream>

class A

{

public:

A(constintnum):_num(num){}

private:

int _num;

};

int main(void)

{

A a;

return 0;

}

 

a) ничего, т.к. конструктор по умолчанию добавляется в класс автоматически

b) конструктор по умолчанию

c) ничего, т.к. деструктор добавляется в класс автоматически

d) деструктор класса

 

224. Какие вы видите ошибки в этом коде?

class A {

public:

A(int x): _x(x) {} //1

private:

int _x;

};

 

int main() {

A a = 10; //2

A b(a);

return 0;

}

 

a) в строке 2 будет ошибка, т.к. у А нет конструктора по умолчанию

b) в строке 1 будет ошибка, т.к. таким образом нельзя объявлять переменные класса

c) в строке 2 будет ошибка, т.к. у A не объявлен копирующий конструктор по умолчанию

d) ошибок нет

 

225. Верно ли утверждение, что дружественные функции применяются для доступа к скрытым полям класса и представляют собой альтернативу методам.

a) Да

b) Нет

 

226. Дружественная функция объявляется внутри класса, с ключевым словом:

a) inline

b) virtual

c) static

d) friend

 

227. Верно ли утверждение, что можно перегружать любые операции, существующие в C++?

a) Да

b) Нет

 

228. Перегрузка операций осуществляется с помощью ключевого слова …:

a) inline

b) operator

c) virtual

d) нет правильного ответа

 

229. Операции постфиксного инкремента и декремента при перегрузке должны иметь первый параметр типа...

a) bool

b) double

c) int

d) float

 

230. Верно ли утверждение, что перегруженные методы класса могут определяться как static?

a) Да

b) Нет

 

231. Верно ли утверждение, что поведение перегруженных операций new и delete должно соответствовать действиям, выполняемым ими по умолчанию.

a) Да

b) Нет

 

232. Можно ли сделать виртуальным перегруженный оператор?

a) Да

b) Нет

 

233. Укажите верную конструкцию наследования классов в С++:

a) class B: public B {…}

b) class B extends A {…}

c) class B: extends A {…}

d) нет правильного ответа

 

234. Поддерживает ли С++ множественное наследование?

a) Нет

b) Да

 

235. Какой ключ доступа используется по умолчанию при таком наследовании:

class B: A {…}

 

a) protected

b) private

c) public

d) нет правильного ответа

 

236. Верно ли утверждение, что private элементы базового класса в производном классе недоступны вне зависимости от ключа?

a) Да

b) Нет

 

237. Элементы protected при наследовании с ключом private становятся в производном классе:

a) protected

b) public

c) private

 

238. Элементы protected при наследовании с ключом public становятся в производном классе:

a) protected

b) public

c) private

 

239. Элементы public при наследовании с ключом public становятся в производном классе:

a) protected

b) public

c) private

 

240. Простым называется наследование, при котором производный класс имеет …:

a) двух родителей

b) двух и более родителей

c) одного родителя

d) нет правильного ответа

 

241. Для иерархии, состоящей из нескольких уровней, конструкторы базовых классов вызываются начиная

a) с самого верхнего уровня

b) с самого нижнего уровня

с) нет правильного ответа

 

242. Для иерархии классов, состоящей из нескольких уровней, деструкторы вызываются начиная:

a) с самого верхнего уровня

b) с самого нижнего уровня

с) нет правильного ответа

 

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

#include <iostream>

 

using namespace std;

 

class Base

{

public:

virtual Base() { cout<< "Base создан\n"; }

};

 

class Derv: public Base

{

public:

Derv() { cout<< "Derv создан\n"; }

};

 

int main()

{

Base *pBase = new Derv;

delete pBase;

return 0;

}

 

a) Base создан

b) Derv создан Base создан

c) Base создан Derv создан

d) Возникнет ошибка компиляции

 

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

#include <iostream>

 

using namespace std;

 

class Base

{

public:

virtual ~Base() { cout<< "Base удален\n"; }

};

 

class Derv: public Base

{

public:

~Derv() { cout<< "Derv удален\n"; }

};

 


Дата добавления: 2015-09-29; просмотров: 30 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
Шестнадцатилетняя Делла Цанг никогда не верила в призраков до тех пор, пока не увидела своего умершего двоюродного брата промелькнувшего на улице и скрывающегося в проулке. Если бы не свет от | 2. Find the equation of the plane through (1,-1,3) parallel to the plane 3x+y+z=7.

mybiblioteka.su - 2015-2024 год. (0.586 сек.)