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

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

Упражнение 1:


Номер 1

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

Ответ:

(1) результат операции сложения целых чисел — целый 

(2) результат любых операций над целыми числами — целый 

(3) результат операций сравнения целых чисел — целый 

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


Номер 2

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

Ответ:

(1) результат операции деления над целыми числами — целый 

(2) результат любых операций над целыми числами — целый 

(3) результат операций сравнения целых чисел — булевский 

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


Номер 3

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

Ответ:

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

(2) в одном выражении можно использовать операнды действительного и целого типов 

(3) результат операций сравнения действительных чисел — действительный 


Упражнение 2:


Номер 1

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

Ответ:

(1) результат операции сложения действительного и целого числа — действительный 

(2) в выражении можно использовать операнды булевского типа 

(3) результат стандартных функций sin и cos с аргументом целого типа — целый 

(4) результат операций сравнения действительных чисел — целый 


Номер 2

Поразрядные операции &, |, ^ и ~ применимы к

Ответ:

(1) операндам булевского типа 

(2) операндам целого типа 

(3) операндам действительного типа 


Номер 3

Выберите все правильные ответы.
Поразрядные операции &, |, ^ и ~ применимы к 

Ответ:

(1) операндам типа bool 

(2) операндам типа int 

(3) операндам типа float 

(4) операндам типа char 


Упражнение 3:


Номер 1

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

Ответ:

(1) [] 

(2) , 

(3) -> 

(4) = 

(5) ^ 


Номер 2

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

Ответ:

(1) []  

(2) sizeof  

(3) ->  

(4) =  

(5) ^  


Номер 3

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

Ответ:

(1) +=  

(2) = =  

(3) - =  

(4) *=  

(5) %=  


Упражнение 4:


Номер 1

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

Ответ:

(1) *  

(2) /  

(3) ?:  

(4) %  

(5) ^  


Номер 2

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

Ответ:

(1) false 

(2) true 


Номер 3

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

Ответ:

(1) false 

(2) true 


Упражнение 5:


Номер 1

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

Ответ:

(1) false 

(2) true 


Номер 2

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

Ответ:

(1) false 

(2) true 


Номер 3

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

Ответ:

(1) false 

(2) true 


Упражнение 7:


Номер 1

Чему равно числовое значение целой переменной x = 8/(sqrt(4)*0.281)?

Ответ:

(1) 14 

(2) 13 

(3) 12 


Номер 2

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

Ответ:

(1) 12 

(2) 16 

(3)


Номер 3

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

Ответ:

(1) sin(abs(0.6e3*y/_do)) 

(2) sin(do*(0.6e3*y)) 

(3) 0XEF01*1.34E-2/i7/_12 


Упражнение 8:


Номер 1

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

Ответ:

(1) -0.18*a/r-0.2*t 

(2) (-0.18)*a)/(r-0.2*t) 

(3) cos/^2*x+0,2 

(4) (-0.18)*a)(r-0.2*t)) 


Номер 2

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

Ответ:

(1) cos(3*a+1*abs(x))) 

(2) Sin/^2*x+0,2 

(3) 0xEEEE*1.34E-2/i/2 

(4) cos(3a+1*abs(x)) 


Номер 3

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

Ответ:

(1) (a*abs(x)+/(0,6*k) 

(2) a-0.1*0x0A1 

(3) sin(t)/sin(t2) 

(4) sin(t)/sin(2t) 


Упражнение 9:


Номер 1

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

Ответ:

(1) sin(abs(0.6(e*3)) 

(2) 0XCC00*.34E-4/_do/k-2 

(3) ((cos(3*a+1.*abs(x)))) 

(4) a*exp(t)(2t) 


Номер 2

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

Ответ:

(1) (1 < 3) && (2 = = 1) 

(2) (1 < 3) || (2 = = 1) 

(3) (! (1 > 3)) && (1 < 3) 

(4) ! ((1 < 3) && (2 = = 1)) 

(5) (1 > 3) || ! (1 > 3) 


Номер 3

Какие из выражений имеют значение true, если а = 1?

Ответ:

(1) (a < 3) || (a = = 5) 

(2) ! ((a < 3) && true) 

(3) (a < 3) && (a = = 2) 

(4) (a = = 1) || (a = = 2) 


Упражнение 10:


Номер 1

Какие из выражений имеют значение true, если а = 1?

Ответ:

(1) (a == 2) || true 

(2) (a == 1) && true 

(3) (a == 2) && true 

(4) (a == 1) && false 


Номер 2

Какие из выражений имеют значение true, если а = 1?

Ответ:

(1) (a == 1) || ! false 

(2) (a == 1) || (a = = 2) 

(3) ! (a == 2) || true 

(4) (a == 1) && false 


Номер 3

Какие из выражений имеют значение true, если а = 1?

Ответ:

(1) (a == 1) || ! (a == 1) 

(2) (a == 1) || false 

(3) (a > 1) || (a == 5) 

(4) ! (a == 2) || true 


Упражнение 11:


Номер 1

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

Ответ:

(1) целого типа — вещественной переменной 

(2) вещественного типа — целой переменной 

(3) символьного типа — целой переменной 

(4) целого типа — булевской переменной 


Номер 2

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

Ответ:

(1) целого типа — вещественной переменной 

(2) целого типа — символьной переменной 

(3) булевского типа — целой константе 

(4) целого типа — булевской переменной 


Номер 3

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

Ответ:

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

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

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

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


Упражнение 12:


Номер 1

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

Ответ:

(1) целой переменной — целое выражение 

(2) целой переменной — вещественное выражение 

(3) целой константе — булевскую константу 

(4) целой переменной — булевскую константу 


Номер 2

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

Ответ:

(1) вещественной переменной — целое выражение 

(2) целую переменную — вещественной переменной 

(3) целой константе — целую константу 

(4) булевской переменной — булевскую константу 


Номер 3

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

Ответ:

(1) на одной строке 

(2) в столбик 

(3) произвольно 


Упражнение 13:


Номер 1

В списке параметров функции scanf могут присутствовать...

Ответ:

(1) имена переменных любого типа 

(2) имена переменных символьного типа 

(3) имена переменных целого типа 

(4) константы строкового типа 


Номер 2

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

Ответ:

(1) одного пробела 

(2) произвольного количества пробелов 

(3) запятой 

(4) нажатия клавиши ENTER 


Номер 3

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

Ответ:

(1) только одного пробела 

(2) произвольного количества пробелов 

(3) нажатия клавиши TAB 

(4) клавиш со стрелками 


Упражнение 14:


Номер 1

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

Ответ:

(1) по крайней мере одного пробела 

(2) пробела или запятой 

(3) нажатия клавиш TAB или ENTER 

(4) клавиш курсора 


Номер 2

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

int k;
float y;
int main()
{
       k = 4; y = 2;
       printf ("%4.2f%2d",  y, k);
       return 0;
}
 

Ответ:

(1) 2 4 

(2) 2.00 4 

(3) 4.00 2 


Номер 3

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

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

Ответ:

(1) 1.01 5 

(2) 51 1  

(3) 5.01 1 


Упражнение 15:


Номер 1

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

#include  
main()
 {
  int i;
  float  t;
    i = 2; t= 2;
    printf("%4.1f%2d%d",  t, i, i);
 }

Ответ:

(1) 222 

(2) 2.0 22 

(3) 2.00 2.0 2 


Номер 2

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

#include <stdio.h>
main()
 {
  int k;
  float x;
     k = 2; x = 3;
     printf("[%4.2f%d]",  x, k);
 }

Ответ:

(1) [3.002] 

(2) 32 

(3) 32.0 


Номер 3

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

Ответ:

(1) printf ("%4.2f %d",y, k); 

(2) printf ("%f %f", x, k); 

(3) printf ("%d %f", x, k); 

(4) printf ("%f %f", x, k * y); 


Упражнение 16:


Номер 1

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

Ответ:

(1) printf ("*%4f %d %4.2f*", x, k, y); 

(2) printf ("*%4f %4d %4.2f*", x, k, y); 

(3) printf ("*%f %d %4f*", x, k, y); 


Номер 2

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

Ответ:

(1) printf (x=%f k=%d y=%5.2f , x, k, y); 

(2) printf ("%5f %f", x*k, y); 

(3) printf ("* %12f, %d4 %4f*", x*y, k, y); 

(4) printf ("*, x, k * y, *'"); 


Номер 3

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

Ответ:

(1) printf ("|%4d|%6.2f|%6.2f|",d,x,y); 

(2) printf ("|%4d|%6.2f|%6.2f|",x,y,d); 

(3) printf ("|%4d|%6.2f|%6.2f|",d,x,x*x); 

(4) printf ("|%4.2d|%6.2f|%6.2f|",d,x,y); 


Упражнение 17:


Номер 1

Выберите все правильные варианты.
В списке параметров функции printf могут присутствовать

Ответ:

(1) имена переменных 

(2) ключевые слова 

(3) константы символьного типа 

(4) операторы 


Номер 2

Выберите все правильные варианты.
В списке параметров функции printf могут присутствовать

Ответ:

(1) имена переменных и констант 

(2) зарезервированные слова 

(3) выражения 

(4) операторы 


Номер 3

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

Ответ:

(1) K — общее количество позиций, отводимое под переменную А 

(2) K — количество позиций, отводимое под целую часть переменной А 

(3) K и M должны быть целыми 

(4) K и M могут быть действительными 


Номер 4

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

Ответ:

(1) М — количество позиций, отводимое под дробную часть переменной А 

(2) K - количество позиций, отводимое под целую часть переменной А 

(3) K и M могут быть выражениями целого типа 

(4) K и M могут быть константами целого типа 


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

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

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

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

Выберите все правильные ответы.
Алфавит языка 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»»

Правильные ответы выделены зелёным цветом.
Все ответы: В курсе изучаются основы программирования на языке C++.

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

(1) латинские буквы

(2) русские буквы

(3) цифры от 0 до 9

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

(1) результат операции сложения целых чисел — целый

(2) результат любых операций над целыми числами — целый

(3) результат операций сравнения целых чисел — целый

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

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

(1) структура программы задается на этапе составления алгоритма

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

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

(4) программа состоит из подпрограмм, организованных в определенную структуру

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

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

(2) глобальные переменные располагаются в сегменте данных

(3) компилятор инициализирует нулями глобальные и локальные переменные

(4) функция может возвращать значение любого типа

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

(1) множественное наследование и полиморфизм.

(2) абстрактные типы данных и сохранение состояний.

(3) перегрузка операций и обработка исключений.

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

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

(1) объект в C++ может иметь сколько угодно предков

(2) объект в C++ может иметь сколько угодно потомков

(3) объект в C++ может иметь только одного предка

(4) объект в C++ может иметь только одного потомка

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

(1) русские буквы

(2) символы +, -, *, /

(3) cимволы @, $ и пробел

(4) символы :, ;

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

(1) результат операции сложения действительного и целого числа — действительный

(2) в выражении можно использовать операнды булевского типа

(3) результат стандартных функций sin и cos с аргументом целого типа — целый

(4) результат операций сравнения действительных чисел — целый

В условном операторе после ключевого слова if внутри скобок может находиться

(1) выражение булевского типа

(2) переменная целого типа

(3) константа false

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

(1) для локальных переменных выделяется место в стеке

(2) компилятор инициализирует нулями локальные переменные

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

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

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

(1) возможность называть одним и тем же именем разные подпрограммы

(2) объединение в одном классе данных и методов их обработки

(3) создание иерархии объектов

(4) сокрытие деталей реализации

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

class Base{};
class Derived: public Base{};

(1) Base является суперклассом для Derived.

(2) Derived является потомком Base.

(3) Derived является дочерним классом Base.

(4) Base является потомком Derived.

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

(1) украинские и греческие буквы

(2) символы 0, 1, 2, 3, 4

(3) числа

(4) символы {, }, (, )

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

(1) []

(2) ,

(3) ->

(4) =

(5) ^

В условном операторе между ключевыми словами if и else после выражения в скобках может находиться

(1) любой оператор, кроме оператора перехода

(2) любой простой или составной оператор

(3) не больше двух операторов

(4) составной оператор

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

(1) только переменной типа int с именем а

(2) выражением целого типа

(3) переменной целого типа

(4) выражением любого типа

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

(1) инкапсуляция

(2) наследование

(3) полиморфизм

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

Какой уровень доступа к функции «setx» в классе «derived» в приведенном примере?

class basex
{
int x;
public:
void setx(int y) {x = y;}
};
class derived : basex {};

(1) protected

(2) global

(3) public

(4) local

(5) private

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

(1) выражения

(2) строковые константы

(3) операторы

(4) идентификаторы

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

(1) *

(2) /

(3) ?:

(4) %

(5) ^

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

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

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

(1) f(a,a,b);

(2) f(a,x,'b');

(3) f(a,d-x/2,b);

(4) f(2,d,b);

Что обычно содержит класс?

(1) данные и информацию о них

(2) данные и методы

(3) массивы данных

(4) массивы методов

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

(1) вы можете создавать указатели на абстрактный класс.

(2) вы можете создавать объекты абстрактного класса.

(3) абстрактный класс имеет как минимум одну чисто виртуальную функцию.

(4) абстрактный класс может иметь потомков.

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

(1) двоичные числа

(2) строковые константы

(3) ключевые слова

(4) знаки операций

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

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

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

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

(1) f(a,b,c);

(2) f(a,x,c);

(3) f(x,c,28);

(4) f(a,28,x);

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

(1) с директивой private

(2) с директивой public

(3) без директив

(4) с директивой local

(5) с директивой global

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

(1) f("Test", 2.0);

(2) f<int>("Test", 2.0);

(3) f<int, char*, double>("Test", 2.0);

(4) f<int, char*>("Test", 2.0);

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

(1) ключевые слова

(2) константы

(3) операторы присваивания

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

a = 1;
if ((b > 0) && (b < 2)) a = 3;
if (b > 5) a = 5;

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

(1) P(1,k+1,m);

(2) P(a,k,'c');

(3) P(a,d,c);

(4) P(a,a,d[2]);

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

(1) до другой директивы

(2) до директивы public

(3) до конца файла

(4) до начала описания следующего поля

Выберите все допустимые в C++ константы.

(1) 259

(2) 00

(3) ‘ф’

(4) 1.2_e1

(5) 0x010E

Чему равно числовое значение целой переменной x = 8/(sqrt(4)*0.281)?

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

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

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

#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;
}

(1) 1|1|1

(2) 7|1|1

(3) 7|7|1

Применение директивы private позволяет

(1) уменьшить количество возможных ошибок

(2) сократить текст программы

(3) упростить отладку программы

(4) уменьшить объем программы в оперативной памяти

Выберите все допустимые в C++ константы.

(1) *

(2) 0755

(3) -126

(4) 0XFFG0

(5) ‘x07’

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

(1) -0.18*a/r-0.2*t

(2) (-0.18)*a)/(r-0.2*t)

(3) cos/^2*x+0,2

(4) (-0.18)*a)(r-0.2*t))

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

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

Выберите заголовки функций, не содержащие синтаксических ошибок.

(1) int f(int& i);

(2) int f1(int i);

(3) int 1f(int& i);

(4) *int f(int i);

В каком месте приведенного ниже класса следует инициализировать переменную I?

class Foo {
const int I;
static void Init(int x);
void Setup(int x = 0) const;
public:
Foo(int x = 0);
};

(1) в списке инициализации конструктора.

(2) внутри константного метода Setup.

(3) в теле конструктора.

(4) внутри статического метода Init.

(5) внутри функции ‘main’.

Выберите все допустимые в C++ константы.

(1) 00

(2) 0xEFG1

(3) -7.12e-13

(4) ‘Ж’

(5) 0001

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

(1) sin(abs(0.6(e*3))

(2) 0XCC00*.34E-4/_do/k-2

(3) ((cos(3*a+1.*abs(x))))

(4) a*exp(t)(2t)

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

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

Выберите заголовки функций, не содержащие синтаксических
ошибок.

(1) float f_2(long a[]);

(2) int f(long* array, const int n);

(3) float f(int& i);

(4) long f(i, long& j);

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

(1) константный метод объявляется с ключевым словом const после списка параметров.

(2) константный метод может изменять значения полей класса.

(3) константный метод может вызывать любые методы класса.

(4) константный метод может вызываться только для константных объектов.

(5) константный метод может изменять значения константных полей класса.

Выберите все допустимые в C++ константы.

(1) #0.7

(2) ‘Ю’

(3) «aa»

(4) 7.2.e+3

(5) -1e-1

Какие из выражений имеют значение true, если а = 1?

(1) (a == 2) || true

(2) (a == 1) && true

(3) (a == 2) && true

(4) (a == 1) && false

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

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

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

#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;
}

(1) злаа

(2) злаг

(3) злаз

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

(1) константный метод объявляется с ключевым словом const перед именем метода.

(2) константный метод может вызываться для любых (не только константных) объектов.

(3) константный метод объявляется с ключевым словом const после списка параметров.

(4) константный метод может вызывать любые методы класса.

(5) в константный метод не передается указатель this.

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

(1) unsigned char

(2) unsigned short int

(3) signed short int

(4) signed long int

(5) double

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

(1) целого типа — вещественной переменной

(2) вещественного типа — целой переменной

(3) символьного типа — целой переменной

(4) целого типа — булевской переменной

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

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

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

#include <stdio.h>
void f(char* a, char* const b)
{
a[0] = b[0]; b[1] = a[1];
}
int main()
{
char a[]=»abcd»;
char b[]= «opr»;
f(a,b);
printf («%s%s», a, b);
return 0;
}

(1) obcdorb

(2) oobdcr

(3) obcdobr

Какая операция используется для доступа к открытым полям объекта через указатель на объект?

(1) операция ->

(2) операция .

(3) операция ,

(4) операция ::

(5) операция .*

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

(1) 13

(2) 213

(3) -13

(4) -213

(5) 1213

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

(1) целой переменной — целое выражение

(2) целой переменной — вещественное выражение

(3) целой константе — булевскую константу

(4) целой переменной — булевскую константу

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

#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);
}

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

(1) структура может включать в себя только простейшие типы данных (int, char и т.д.).

(2) структура не может иметь конструкторов и деструкторов.

(3) структура не может быть наследником класса.

(4) класс не может быть наследником структуры.

(5) поля структуры открыты по умолчанию.

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

(1) 13

(2) 213

(3) -13

(4) -213

(5) 32000

В списке параметров функции scanf могут присутствовать…

(1) имена переменных любого типа

(2) имена переменных символьного типа

(3) имена переменных целого типа

(4) константы строкового типа

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

#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);
}

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

(1) поля класса могут быть описаны с модификатором static

(2) поля класса могут быть описаны с модификатором const

(3) поля класса могут иметь тип самого класса

(4) поля класса не могут быть указателями на сам класс

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

(1) по крайней мере одного пробела

(2) пробела или запятой

(3) нажатия клавиш TAB или ENTER

(4) клавиш курсора

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

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

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

(1) внутри локального класса можно использовать стандартные типы

(2) внутри локального класса нельзя использовать статические (static) переменные

(3) внутри локального класса нельзя использовать внешние (extern) переменные

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

(5) локальный класс не может иметь статических элементов

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

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

(1) 222

(2) 2.0 22

(3) 2.00 2.0 2

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

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

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

(1) внутри локального класса нельзя использовать стандартные типы

(2) внутри локального класса можно использовать статические (static) переменные

(3) внутри локального класса можно использовать внешние (extern) переменные

(4) внутри локального класса нельзя использовать структурные типы

(5) внутри локального класса можно использовать автоматические переменные из области, в которой он описан

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

(1) printf ("*%4f %d %4.2f*", x, k, y);

(2) printf ("*%4f %4d %4.2f*", x, k, y);

(3) printf ("*%f %d %4f*", x, k, y);

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

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

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

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

(2) локальные объекты создаются, как только становится активной область их действия.

(3) возможно получение указателя на конструктор.

(4) конструктор запускается при создании временного объекта.

Выберите все правильные варианты.
В списке параметров функции printf могут присутствовать

(1) имена переменных

(2) ключевые слова

(3) константы символьного типа

(4) операторы

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

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

(1) bbab

(2) bbaa

(3) bbba

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

(1) конструктор не возвращает значение.

(2) конструктор возвращает значение типа void.

(3) конструкторы наследуются.

(4) в конструкторах нельзя задавать значения параметров по умолчанию.

Выберите пример указателя-константы.

(1) char* const pc

(2) char* pc

(3) const char* const pc

(4) невозможно определить указатель-константу.

(5) const char* pc

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

(1) конструктор по умолчанию.

(2) конструктор копирования.

(3) конструктор с параметром-объектом.

(4) в этом случае никакой конструктор не вызывается.

Какое из следующих определений описывает указатель на целую переменную по адресу 0x200.

(1) int *x = 0x200;

(2) int *x( &0x200 );

(3) int *x = *0x200;

(4) int *x = &0x200;

(5) int *x; *x = 0x200;

Выберите неверное утверждение.

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

(2) в качестве параметра дружественной функции должен передаваться объект класса.

(3) одна функция может быть дружественной сразу нескольким классами.

(4) на дружественную функцию распространяется действие спецификаторов доступа.

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

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

(1) 1

(2) 4

(3) 7

(4) 8

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

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

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

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

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

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

Какая операция используется для доступа к полям структуры?

(1) операция :

(2) операция .

(3) операция ,

(4) операция ::

(5) операция *

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

(1) <

(2) >

(3) —

(4) .*

(5) +

С переменными, относящимися к перечисляемому типу данных, можно выполнять операции:

(1) присваивания

(2) разадресации

(3) выбора

(4) сравнения на равенство и неравенство

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

(1) * =

(2) — =

(3) + =

(4) = =

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

#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);
}

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

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

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

(4) номер первой из строк массива, содержащих хотя бы один элемент, равный 0

(5) номер последней из строк массива, содержащих хотя бы один элемент, равный 0

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

(1) ! =

(2) * =

(3) < =

(4) — =

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

(1) доступ в объединениях по умолчанию public

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

(3) объединение может иметь конструктор и другие методы

(4) объединение может иметь статические методы

(5) объединение не может участвовать в иерархии классов

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

(1) деструктор не имеет параметров.

(2) класс может иметь несколько деструкторов с различными именами.

(3) деструктор не имеет возвращаемого значения.

(4) деструктор не может быть объявлен как const.

(5) деструктор может быть объявлен как static.

Какая переменная доступна только в методе, где она объявлена?

(1) переменная — член

(2) локальная переменная

(3) переменная класса

(4) внешняя переменная

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

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

(1) f1() — это встроенная функция.

(2) f1() — это статическая функция.

(3) f2() — это встроенная функция.

(4) f2() — это статическая функция.

(5) f2() - private.

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

(1) русские буквы

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

(3) цифры от 0 до 9

(4) знаки + и —

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

(1) результат операции деления над целыми числами — целый

(2) результат любых операций над целыми числами — целый

(3) результат операций сравнения целых чисел — булевский

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

Особенность базовых конструкций структурного программирования состоит в том, что:

(1) они соответствуют структурам данных, используемым в программе

(2) они записываются одинаково на всех языках, поддерживающих структурную технологию программирования

(3) они имеют только один вход и один выход

(4) они состоят из одинаковых блоков.

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

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

(2) место под формальные параметры выделяется на стадии выполнения программы

(3) компилятор инициализирует нулями глобальные переменные

(4) функция может возвращать значение стандартного типа

Выберите правильные утверждения (одно или более).
Технология ООП по сравнению с традиционной позволяет создавать:

(1) более читабельные программы

(2) более быстродействующие программы

(3) программы, допускающие более простую модификацию

(4) более короткие программы

С каким модификатором доступа должны быть описаны члены класса, чтобы к ним имели доступ только объекты самого класса?

(1) protected

(2) public

(3) virtual protected

(4) private

(5) virtual

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

(1) символы +, =, *

(2) латинские буквы

(3) русские буквы

(4) символы !, ?, *

Поразрядные операции &, |, ^ и ~ применимы к

(1) операндам булевского типа

(2) операндам целого типа

(3) операндам действительного типа

В условном операторе после ключевого слова if внутри скобок может находиться

(1) переменная булевского типа

(2) выражение целого типа

(3) пустой оператор

(4) константа true

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

(1) константой типа int

(2) переменной типа int

(3) выражением типа int

(4) только переменной типа int с именем а

Выберите правильные утверждения (одно или более).
Преимуществами ООП являются:

(1) возможность использования в новых программах ранее созданных объектов

(2) увеличение быстродействия программы

(3) простота использования

(4) легкость внесения изменений в программу

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

class Base{};
class Derived: private Base{};

(1) Base является суперклассом для Derived.

(2) Derived является открытым потомком Base.

(3) Derived является дочерним классом Base.

(4) Base является потомком Derived.

Алфавит языка C++ включает в себя:

(1) буквы национальных алфавитов

(2) имена переменных

(3) шестнадцатеричные числа

(4) символы +, -, [, ]

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

(1) []

(2) sizeof

(3) ->

(4) =

(5) ^

В условном операторе в ветке «ИНАЧЕ» после ключевого слова else может находиться

(1) любой оператор

(2) любой оператор, кроме оператора перехода

(3) произвольное количество операторов

(4) составной оператор

Список параметров функции описан как «void».
Что можно сказать о параметрах этой функции.

(1) аргумент может быть только константой

(2) У функции нет параметров

(3) аргумент может быть только переменной

(4) аргумент может быть выражением любого типа

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

(1) инкапсуляция

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

(3) наследование

(4) полиморфизм

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

class basex
{
int x;
public:
void setx(int y) {x = y;}
};
class derived : public basex {};

(1) protected

(2) private

(3) global

(4) public

(5) local

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

(1) выражения

(2) числа

(3) операторы

(4) имена

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

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

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

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

(1) f(a,b,x);

(2) f(c,b,d);

(3) f(a,x,c);

(4) f(a,c,b);

Класс может наследовать от родительского класса:

(1) только данные

(2) только методы

(3) данные и методы

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

(1) дружественность не наследуется.

(2) друзья класса не имеют доступа к закрытым членам класса.

(3) объявление дружественности двунаправленное.

(4) друзья класса имеют доступ к данным всех его потомков.

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

(1) скобки

(2) числа

(3) выражения

(4) имена

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

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

a = 1;
if (b < 1) a = 2;
if (b > 5) a = 3;

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

(1) P(a,b,c);

(2) P(3,b,x);

(3) P(a,c,d-x/2);

(4) P(a,b+5,d-a);

Могут ли совпадать имена параметров метода и имена полей объекта?

(1) да

(2) нет

(3) могут, если они имеют одинаковый смысл

(4) могут, если их предварительно описать

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

(1) f("Test", 2.0);

(2) f<int>("Test", 2.0);

(3) f<int, char*, double>(2, 2.5);

(4) f<int, char*>(2, 2);

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

(1) восьмеричные числа

(2) шестнадцатеричные числа

(3) десятичные числа с плавающей точкой

(4) комментарии

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

a = 1;
if ((b > 0) && (b < 3)) a = 3;
else
if (b > 5) a = 5;

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

(1) P(a,b,c);

(2) P(c%d,sin(d)/3.14,e);

(3) P(d,a-b,e);

(4) P(c,c,e);

Выберите все правильные утверждения. Директива private запрещает доступ к элементам объекта

(1) из других объектов в том же файле

(2) только из других файлов

(3) из методов этого объекта

(4) из методов других объектов

(5) из методов объектов-наследников

Выберите все допустимые в C++ константы.

(1) ‘b’

(2) 0xFFG0

(3) 7.2e3

(4) 0.008E-123

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

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

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

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

#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;
}

(1) 9|5|7

(2) 5|1|7

(3) 1|9|7

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

(1) с директивой private

(2) с директивой public

(3) без директив

(4) с директивой local

(5) с директивой global

Выберите все допустимые в C++ константы.

(1) ‘x07’

(2) 0.0000000001

(3) 7.2*e3

(4) -126

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

(1) cos(3*a+1*abs(x)))

(2) Sin/^2*x+0,2

(3) 0xEEEE*1.34E-2/i/2

(4) cos(3a+1*abs(x))

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

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

Выберите заголовки функций, не содержащие синтаксических ошибок.

(1) int __f(int& i_1_);

(2) int * f(int **i);

(3) int 1f(int& i);

(4) *int f(int i);

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

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

(1) это неверно, потому что SomeClass не содержит public конструктора копирования.

(2) это неверно, потому что SomeClass не содержит виртуального деструктора.

(3) это неверно, потому что SomeClass не содержит конструктора по умолчанию.

(4) здесь нет ничего неверного. С инициализацией ‘y’ все в порядке.

(5) это неверно, потому что SomeClass не содержит конструктора копирования.

Выберите все допустимые в C++ константы.

(1) 36

(2) ‘1’

(3) 0x$1

(4) ’12’

(5) 5,65

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

(1) (1 < 3) && (2 = = 1)

(2) (1 < 3) || (2 = = 1)

(3) (! (1 > 3)) && (1 < 3)

(4) ! ((1 < 3) && (2 = = 1))

(5) (1 > 3) || ! (1 > 3)

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

for (int ii = 0; ii < 3; ++ ii)
{
switch (ii)
{
case 0: cout << «ZERO»;
case 1: cout << «ONE»; continue;
case 2: cout << «TWO»; break;
}
cout << endl;
}

(1) ZEROONEONETWO

(2) ZEROONETWO

(3) ZERO ONETWO

(4) ZEROONE TWO

(5) ZERO ONE TWO

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

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

(1) глас

(2) слаг

(3) глаз

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

(1) константный метод объявляется с ключевым словом const после указания типа возвращаемого значения.

(2) константный метод может вызывать только константные методы.

(3) конструктор является примером константного метода.

(4) деструктор является примером константного метода.

(5) константный метод может вызываться из любых (не только константных) методов.

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

(1) unsigned char

(2) unsigned short int

(3) signed char

(4) signed short int

(5) float

Какие из выражений имеют значение true, если а = 1?

(1) (a == 1) || ! false

(2) (a == 1) || (a = = 2)

(3) ! (a == 2) || true

(4) (a == 1) && false

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

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

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

#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;
}

(1) влаг

(2) влаз

(3) глаз

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

(1) константный метод объявляется с ключевым словом const перед списком параметров.

(2) константный метод не может изменять значения полей класса.

(3) константный метод не может вызывать любые другие методы класса.

(4) константный метод может вызываться для любых (не только константных) объектов.

(5) в константный метод неявно передается указатель this.

Выберите все правильные ответы.
Число -33333 можно хранить в переменной типа

(1) long double

(2) unsigned long int

(3) signed long int

(4) unsigned short int

(5) float

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

(1) целого типа — вещественной переменной

(2) целого типа — символьной переменной

(3) булевского типа — целой константе

(4) целого типа — булевской переменной

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

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

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

#include <stdio.h>
void f(char* a, char* b)
{
a[1] = b[1]; b[2] = a[2];
}
int main()
{
char a[]=»abcd»;
char b[]= «opr»;
f(a,b);
printf («%s%s», a, b);
return 0;
}

(1) apcdopc

(2) apcdopp

(3) doapca

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

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

(1) программа будет работать нормально.

(2) при компиляции программы возникнет ошибка.

(3) программа будет компилироваться, но не будет компоноваться.

(4) при выполнении программы возникнет ошибка.

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

(1) 213

(2) -13

(3) -213

(4) 35000

(5) -1.2

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

(1) вещественной переменной — целое выражение

(2) целую переменную — вещественной переменной

(3) целой константе — целую константу

(4) булевской переменной — булевскую константу

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

#include <stdio.h>
#include <math.h>
int 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 (a[i] > j) k = abs(a[i]);
printf(«%d»,k);
}

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

(1) структура может включать в себя только простейшие типы данных (int, char и т.д.).

(2) структура не может иметь конструкторов и деструкторов.

(3) структура не может быть наследником класса.

(4) поля класса закрыты по умолчанию.

(5) класс не может быть наследником структуры.

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

(1) 6

(2) 226

(3) -6

(4) -226

(5) 257

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

(1) одного пробела

(2) произвольного количества пробелов

(3) запятой

(4) нажатия клавиши ENTER

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

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

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

(1) поля класса могут быть описаны с модификатором extern

(2) поля класса могут быть описаны с модификатором auto

(3) поля класса не могут иметь тип самого класса

(4) поля класса могут быть указателями на сам класс

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

(1) только из алфавита языка C++

(2) из первой половины кодовой таблицы

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

(4) от -128 до 127

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

int k;
float y;
int main()
{
k = 4; y = 2;
printf («%4.2f%2d», y, k);
return 0;
}

(1) 2 4

(2) 2.00 4

(3) 4.00 2

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

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

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

(1) локальный класс не может иметь статических элементов

(2) методы локального класса могут быть описаны вне класса

(3) методы локального класса могут быть описаны только внутри класса

(4) внутри локального класса нельзя использовать элементы перечислений из области, в которой он описан

(5) внутри локального класса можно использовать только стандартные типы данных

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

#include <stdio.h>
main()
{
int k;
float x;
k = 2; x = 3;
printf(«[%4.2f%d]», x, k);
}

(1) [3.002]

(2) 32

(3) 32.0

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

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

(1) abaab

(2) abbaa

(3) baaba

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

(1) внутри локального класса можно использовать внешние функции

(2) внутри локального класса нельзя использовать стандартные типы

(3) внутри локального класса можно использовать статические (static) переменные

(4) внутри локального класса можно использовать внешние (extern) переменные

(5) внутри локального класса можно использовать типы данных из области, в которой он описан

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

(1) printf (x=%f k=%d y=%5.2f , x, k, y);

(2) printf ("%5f %f", x*k, y);

(3) printf ("* %12f, %d4 %4f*", x*y, k, y);

(4) printf ("*, x, k * y, *'");

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

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

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

(1) локальные объекты создаются до вызова функции main.

(2) класс может иметь только один конструктор.

(3) класс может иметь несколько конструкторов.

(4) конструкторы глобальных объектов вызываются при компиляции программы.

Выберите все правильные варианты.
В списке параметров функции printf могут присутствовать

(1) имена переменных и констант

(2) зарезервированные слова

(3) выражения

(4) операторы

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

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

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

(1) конструкторы наследуются.

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

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

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

Выберите пример указателя на константу.

(1) char* const pc

(2) char* pc

(3) const char* const pc

(4) невозможно определить указатель на константу.

(5) const char* pc

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

(1) конструктор по умолчанию.

(2) конструктор копирования.

(3) конструктор с параметром-объектом.

(4) в этом случае никакой конструктор не вызывается.

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

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

(1) 1

(2) 4

(3) 7

(4) 8

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

Выберите неверное утверждение.

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

(2) в качестве параметра ей должна передаваться ссылка на объект класса.

(3) дружественной функции передается указатель this.

(4) дружественная функция может быть обычной функцией.

(5) дружественная функция может быть методом другого, ранее определенного класса.

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

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

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

(1) для стандартных типов данных переопределять операции нельзя.

(2) функции-операции могут иметь аргументы по умолчанию.

(3) любые функции-операции не наследуются.

(4) функции-операции не могут определяться как static.

Какая операция используется для доступа к полям структуры через указатель?

(1) операция ->

(2) операция .

(3) операция ,

(4) операция ::

(5) операция .*

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

#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);
}

(1) количество положительных элементов массива

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

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

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

(5) количество положительных элементов массива в первой строке

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

(1) /

(2) —

(3) +=

(4) <=

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

#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; break; }
}
printf(«%d»,k);
}

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

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

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

(4) номер первой из строк массива, содержащих хотя бы один элемент, равный 0

(5) номер последней из строк массива, содержащих хотя бы один элемент, равный 0

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

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

(1) доступ в объединениях по умолчанию private

(2) в объединениях можно использовать спецификаторы доступа

(3) объединение не может иметь конструктор и другие методы

(4) объединение может иметь статические методы

(5) объединение не может участвовать в иерархии классов

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

(1) деструктор наследуется.

(2) деструктор может быть виртуальным.

(3) деструктор может быть вызван из программы.

(4) класс может иметь несколько деструкторов с различными именами.

(5) деструктор может иметь только один параметр.

Выберите правильное продолжение.
Возможность иметь в одном классе несколько методов с одним именем это.

(1) Overriding (переопределение)

(2) Overloading (перегрузка)

(3) Inheritance (наследование)

(4) Еncapsulation (инкапсуляция)

Для приведенного ниже кода при вызове функции Func программа аварийно завершается. В чем причина ошибки?

class Foo
{
char *buf;
public:
Foo(char *b = «default») {
buf = new char[strlen(b) + 1];
strcpy(buf, b);
}
~Foo() {
delete[] buf;
}
};
Foo Func(Foo f) {
return f;
}

(1) значение конструктора по умолчанию имеет тип char*.

(2) функция должна возвращать Foo& (ссылку).

(3) требуется переопределить операцию =.

(4) выделяется недостаточный объем памяти.

(5) в классе отсутствует конструктор копирования.

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

(1) русские буквы

(2) прописные латинские буквы

(3) цифры от 0 до 9

(4) символы (, ?, %

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

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

(2) в одном выражении можно использовать операнды действительного и целого типов

(3) результат операций сравнения действительных чисел — действительный

Цель структурного программирования — это:

(1) написание программы, состоящей из базовых конструкций структурного программирования

(2) уменьшение ошибок при отладке программ и упрощение их модификации

(3) использование самых простых структур данных

(4) уменьшение объема программы

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

(1) локальные переменные существуют только во время выполнения функции

(2) для параметров, передаваемых по значению, в стеке создается их копия

(3) компилятор инициализирует нулями локальные переменные

(4) функция может возвращать значение стандартного типа

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

(1) к уменьшению количества повторяющихся фрагментов

(2) к увеличению ее быстродействия

(3) к облегчению ее отладки

(4) к увеличению количества классов

С каким модификатором доступа должны быть описаны члены класса, чтобы к ним имели доступ только объекты самого класса
и объекты класса потомка?

(1) protected

(2) public

(3) virtual protected

(4) private

(5) virtual

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

(1) прописные латинские буквы

(2) строчные латинские буквы

(3) цифры

(4) символы <, >, =, !

Выберите все правильные ответы.
Поразрядные операции &, |, ^ и ~ применимы к

(1) операндам типа bool

(2) операндам типа int

(3) операндам типа float

(4) операндам типа char

В условном операторе между ключевыми словами if и else после выражения в скобках может находиться

(1) любой оператор

(2) любой оператор, кроме оператора перехода

(3) условный оператор

(4) произвольное количество операторов

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

(1) константой типа int

(2) переменной типа int

(3) выражением типа int

(4) выражением любого типа

Выберите правильные утверждения (одно или более).
Недостатками ООП являются:

(1) большой объем информации, необходимый для грамотного применения ООП

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

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

(4) избыточный код программы

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

class Base{};
class Derived: protected Base{};

(1) Base является закрытым потомком Derived.

(2) Base является суперклассом для Derived.

(3) Derived является дочерним классом Base.

(4) Derived является закрытым потомком Base.

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

(1) лексемы

(2) латинские буквы

(3) директивы препроцессора

(4) символы !, ?, *

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

(1) +=

(2) = =

(3) - =

(4) *=

(5) %=

В условном операторе в ветке «ИНАЧЕ» после ключевого слова else может находиться

(1) любой оператор, кроме оператора перехода

(2) вложенный условный оператор

(3) произвольное количество операторов

(4) простой или составной оператор

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

(1) переменной типа int

(2) выражением типа int

(3) выражением типа, совместимого с int

(4) константой типа int

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

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

(1) protected

(2) private

(3) global

(4) public

(5) local

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

(1) знаки операций

(2) разделители

(3) двоичные числа

(4) имена

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

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

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

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

(1) f(a,b,c);

(2) f(d+a,c,x);

(3) f(x,'c',d);

(4) f(a,b,a+1);

Выберите правильное продолжение.
Проект так относится к зданию, как класс к …

(1) абстрактному типу данных

(2) экземпляру

(3) интерфейсу

(4) подклассу

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

(1) абстрактный класс не может иметь потомков.

(2) класс является абстрактным, если в нем есть виртуальные функции.

(3) класс является абстрактным, если в нем есть чисто виртуальные функции.

(4) допускается объявление переменной-указателя на абстрактный класс.

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

(1) разделители

(2) целые константы

(3) комментарии

(4) идентификаторы

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

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

a = 1;
if ((b < 0) || (b > 1)) a = 3;
if (b > 5) a = 5;

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

(1) P(3200,'a',c/2*d);

(2) P(a,c,d-1);

(3) P(c,a[4],d);

(4) P(d,a[2],c);

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

(1) имя типа объекта

(2) имя экземпляра объекта

(3) имя поля объекта

(4) имя объекта-предка

(5) ничего не указывается

Выберите верные утверждения

(1) параметром шаблона может быть стандартный тип данных

(2) шаблоны методов не могут быть виртуальными.

(3) у класса-шаблона могут быть друзья.

(4) шаблоны не могут являться базовыми для обычных классов.

(5) в классе-шаблоне нельзя объявлять статические поля

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

(1) двоичные числа

(2) идентификаторы

(3) разделители

(4) выражения

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

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

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

#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;
}

(1) 7|7|1

(2) 1|7|1

(3) 7|1|1

По умолчанию все поля и методы класса являются

(1) public

(2) private

(3) local

(4) global

(5) protected

Выберите все допустимые в C++ константы.

(1) ‘Ж’

(2) ‘1’

(3) 1.’2 e1′

(4) «вася»

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

(1) sin(abs(0.6e3*y/_do))

(2) sin(do*(0.6e3*y))

(3) 0XEF01*1.34E-2/i7/_12

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

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

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

#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;
}

(1) 5|1|1

(2) 1|1|5

(3) 5|5|1

Выберите все допустимые в C++ константы.

(1) -7

(2) 00

(3) «wццц»

(4) 1.2 e1

(5) 0x0

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

(1) (a*abs(x)+/(0,6*k)

(2) a-0.1*0x0A1

(3) sin(t)/sin(t2)

(4) sin(t)/sin(2t)

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

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

Выберите заголовки функций, не содержащие синтаксических
ошибок.

(1) float f(long* array, const int n);

(2) int f(long a[10]);

(3) float f(long i, long j);

(4) &int f(int i);

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

(1) class bad {static int I;}; int bad::I=99;

(2) class bad {static I;}; int bad:I=99;

(3) class bad {int I=99;}; int bad::I=99;

(4) class bad {static int I = 99;};

(5) class bad {static int I=99;}; int I::bad=99;

Выберите все допустимые в C++ константы.

(1) &

(2) # 2

(3) 26.4

(4) 0xA0

(5) 3,59e0,2

Какие из выражений имеют значение true, если а = 1?

(1) (a < 3) || (a = = 5)

(2) ! ((a < 3) && true)

(3) (a < 3) && (a = = 2)

(4) (a = = 1) || (a = = 2)

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

for (int ii = 0; ii < 3; ++ ii)
{
switch (ii)
{
case 0: cout << «ZERO»; break;
case 1: cout << «ONE»;
case 2: cout << «TWO»; continue;
}
cout << endl;
}

(1) ZEROONEONETWO

(2) ZEROONETWO

(3) ZERO ONETWO

(4) ZEROONETWOTWO

(5) ZERO ONE TWO

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

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

(1) вгаз

(2) глаз

(3) влаз

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

(1) константный метод объявляется с ключевым словом const перед указанием типа возвращаемого значения.

(2) константный метод не может изменять значения полей класса.

(3) константный метод может вызываться для любых (не только константных) объектов.

(4) константный метод не может вызывать константные методы класса.

(5) константный метод может изменять значения константных полей класса.

Выберите все правильные ответы.
Число -300 можно хранить в переменной типа

(1) unsigned char

(2) unsigned short int

(3) signed char

(4) signed short int

(5) float

Какие из выражений имеют значение true, если а = 1?

(1) (a == 1) || ! (a == 1)

(2) (a == 1) || false

(3) (a > 1) || (a == 5)

(4) ! (a == 2) || true

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

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

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

#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;
}

(1) acbde

(2) abcde

(3) abdec

Какая операция используется для доступа к открытым полям объекта?

(1) операция ->

(2) операция .

(3) операция ,

(4) операция ::

(5) операция .*

Выберите все правильные ответы.
Число -1 можно хранить в переменной типа

(1) unsigned char

(2) unsigned short int

(3) signed char

(4) signed short int

(5) float

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

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

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

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

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

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

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

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

#include <stdio.h>
void f(char* a, char* b)
{
char* c;
c = a; a = b; b = c;
}
int main()
{
char a[]=»abc»;
char b[]= «pr»;
f(a,b);
printf («%s%s», a, b);
return 0;
}

(1) arbcp

(2) arbcc

(3) abcpr

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

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

(1) программа будет работать нормально.

(2) при компиляции программы возникнет ошибка.

(3) программа будет компилироваться, но не будет компоноваться.

(4) при выполнении программы возникнет ошибка.

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

(1) 13

(2) 213

(3) -13

(4) -213

(5) 32000

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

(1) на одной строке

(2) в столбик

(3) произвольно

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

#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;
printf(«%d»,k);
}

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

(1) поля класса могут быть описаны с модификатором static

(2) поля класса могут быть описаны с модификатором auto

(3) поля класса могут быть описаны с модификатором register

(4) поля класса могут быть описаны с модификатором extern

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

(1) символов c кодами от 0 до 32

(2) символов английского алфавита и цифр

(3) от -128 до 127

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

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

(1) 1.01 5

(2) 51 1

(3) 5.01 1

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

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

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

(1) внутри локального класса можно использовать внешние функции

(2) внутри локального класса можно использовать элементы перечислений из области, в которой он описан

(3) локальный класс может иметь статические элементы

(4) методы локального класса не могут быть описаны вне класса

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

(1) только одного пробела

(2) произвольного количества пробелов

(3) нажатия клавиши TAB

(4) клавиш со стрелками

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

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

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

(1) поля класса могут быть описаны с модификатором extern

(2) поля класса могут быть описаны с модификатором register

(3) поля класса не могут быть ссылками на сам класс

(4) поля класса могут быть указателями на сам класс

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

(1) printf ("%4.2f %d",y, k);

(2) printf ("%f %f", x, k);

(3) printf ("%d %f", x, k);

(4) printf ("%f %f", x, k * y);

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

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

Почему конструктор копирования ДОЛЖЕН иметь в качестве параметра ссылку?

(1) потому что иначе при передаче параметра по значению конструктор будет вызываться рекурсивно.

(2) потому что функция-член класса может иметь в качестве параметра только ссылку.

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

(4) потому что использование ссылки дает более эффективный код.

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

(1) printf ("|%4d|%6.2f|%6.2f|",d,x,y);

(2) printf ("|%4d|%6.2f|%6.2f|",x,y,d);

(3) printf ("|%4d|%6.2f|%6.2f|",d,x,x*x);

(4) printf ("|%4.2d|%6.2f|%6.2f|",d,x,y);

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

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

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

(1) конструктор возвращает значение типа void.

(2) класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации.

(3) конструктор не может иметь параметров.

(4) нельзя получить указатель на конструктор.

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

(1) K — общее количество позиций, отводимое под переменную А

(2) K — количество позиций, отводимое под целую часть переменной А

(3) K и M должны быть целыми

(4) K и M могут быть действительными

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

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

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

(1) класс может иметь несколько конструкторов с разными параметрами для разных видов инициализации.

(2) конструктор, вызываемый без параметров, называется конструктором по умолчанию.

(3) параметры конструктора могут иметь любой тип, кроме этого же класса.

(4) конструктор не может выбросить исключение.

Выберите пример указателя-константы на константу.

(1) char* const pc

(2) char* pc

(3) const char* const pc

(4) невозможно определить указатель-константу на константу.

(5) const char* pc

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

(1) при передаче объекта в функцию по ссылке

(2) описании нового объекта с инициализацией другим объектом

(3) передаче объекта в функцию по значению

(4) возврате адреса объекта из функции

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

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

(1) 1

(2) 3

(3) 7

(4) 8

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

Какое из следующих утверждений НЕПРАВИЛЬНОЕ?

(1) вы можете определить дружественную функцию и дружественный класс.

(2) если класс А является дружественным для класса B, то класс A имеет доступ ко всем закрытым полям и методам класса В.

(3) если класс А является дружественным для класса B и класс С — потомок B, то класс A является дружественным для C.

(4) если класс А является дружественным для класса B, это не означает, что класс B является дружественным для A.

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

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

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

(1) .*

(2) .

(3) ::

(4) ?:

(5) ->*

С переменными, относящимися к перечисляемому типу данных, можно выполнять операции:

(1) присваивания

(2) взятия адреса

(3) вывода на экран

(4) отношения

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

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

#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 < 4; i++) {
k = 0;
for (j = 0; j < 3; j++)
if (a[j][i] > 0) ++k;
}
printf(«%d»,k);
}

(1) количество положительных элементов массива

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

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

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

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

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

(1) ! =

(2) * =

(3) + =

(4) — =

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

(1) доступ в объединениях по умолчанию public

(2) в объединениях можно явным образом использовать спецификаторы доступа

(3) объединение не может участвовать в иерархии классов

(4) элементами объединения не могут быть объекты, содержащие конструкторы и деструкторы

(5) объединение может иметь конструктор и другие методы, только не статические

(6) в анонимном объединении нельзя описывать методы

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

При компиляции следующего примера возникает ошибка. Чтобы ее исправить, необходимо …

class Foo{
int x;
public: Foo(int i){}
};
class Bar: virtual Foo{
public: Bar(){}
};
Bar b;

(1) добавить конструктор класса «Bar» который получает параметр типа int

(2) добавить вызов «Foo()» к конструктору класса «Bar»

(3) добавить вызов «Foo(0)» к конструктору класса «Bar»

(4) добавить виртуальный деструктор для класса «Bar»

(5) добавить конструктор копирования для класса «Foo»

Какой из операторов нужно использовать для того, чтобы инициализировать значение p адресом объекта ob для приведенного ниже кода?

class myclass
{
int a;
public:
myclass(int x);
};
myclass::myclass(int x) { a = x;}
int main()
{
myclass ob(120);
myclass *p;
return 0;
}

(1) *p = myclass *ob;

(2) *p = *ob;

(3) p = &ob;

(4) p = *ob;

(5) p = ob;

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

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

(1) c->pmfn();

(2) (c.*pmfn)();

(3) c.*pmfn();

(4) c->*pmfn();

(5) (c->*pmfn)();

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

(1) М — количество позиций, отводимое под дробную часть переменной А

(2) K - количество позиций, отводимое под целую часть переменной А

(3) K и M могут быть выражениями целого типа

(4) K и M могут быть константами целого типа

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

(1) перегруженные функции должны отличаться типом параметров

(2) перегруженные функции должны отличаться именами параметров

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

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

(1) упрощению структуры программы

(2) уменьшению степени абстракции программы

(3) упрощению поиска ошибок

(4) упрощению внесения изменений в программу

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

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

(1) protected

(2) public

(3) virtual protected

(4) private

(5) virtual

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

(1) данными

(2) методами

(3) сообщениями

(4) информацией

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

(1) класс, имеющий чисто виртуальные функции, не является абстрактным.

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

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

(4) допускается создание объекта абстрактного класса.

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

(1) описании нового объекта с инициализацией другим объектом

(2) передаче объекта в функцию через указатель

(3) возврате объекта из функции

(4) выполнении операции присваивания

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

(1) *

(2) -

(3) sizeof

(4) >=

С каким модификатором доступа должны быть описаны члены класса, чтобы к ним имели доступ любые объекты?

(1) protected

(2) public

(3) virtual protected

(4) private

(5) virtual

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

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

(1) protected

(2) private

(3) global

(4) public

(5) local

Выберите верные утверждения

(1) параметром шаблона может быть тип данных, определенный пользователем

(2) шаблоны классов могут содержать статические элементы.

(3) шаблоны могут быть друзьями.

(4) параметрам шаблонного класса нельзя присваивать значения по умолчанию.

(5) шаблонный класс можно объявлять внутри функции.

Когда происходит динамическое связывание?

(1) на этапе компиляции программы.

(2) на этапе компоновки программы.

(3) на этапе выполнения программы.

(4) при создании объектов.

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

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

(1) класс В является закрытым потомком класса А.

(2) класс В является защищенным потомком класса А.

(3) класс В является открытым потомком класса А.

(4) класс В не является потомком класса А.

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

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

(1) protected

(2) global

(3) private

(4) public

(5) local

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

(1) абстрактным

(2) виртуальным

(3) открытым

(4) закрытым

Выберите верные утверждения

(1) параметром шаблона может быть переменная целого типа

(2) шаблоны классов могут содержать дружественные функции.

(3) класс может быть объявлен внутри шаблона.

(4) параметром шаблона может быть переменная вещественного типа

(5) шаблоны методов могут быть виртуальными.

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

(1) класс включает данные с одинаковыми именами, но разными типами.

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

(3) функция-член одного класса вызывает функцию-член другого класса.

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

(5) выражение, в котором вызывается виртуальная функция.

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

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

(1) класс В является закрытым потомком класса А.

(2) класс В является защищенным потомком класса А.

(3) класс В является открытым потомком класса А.

(4) класс В не является потомком класса А.

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

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

(1) global

(2) protected

(3) private

(4) public

(5) local

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

class mybase {};
class derived1 {};
class derived2:public mybase,derived1{};

(1) описание "derived2" неверно, т.к. либо derived, либо mybase должны быть виртуальными.

(2) derived2 использует наследование public для mybase и наследование private для derived1.

(3) описание "derived2" неверно, т.к. "derived1" должен иметь спецификатор доступа.

(4) derived2 использует наследование public для mybase и наследование public для derived1.

(5) описание "derived2" неверно, т.к. "derived2" может наследоваться только от одного класса.

Выберите верные утверждения

(1) параметром шаблона может быть переменная булевского типа

(2) шаблон может быть объявлен внутри класса.

(3) шаблонный класс нельзя объявлять внутри функции.

(4) шаблоны классов не могут содержать статические элементы.

(5) шаблоны не могут быть производными от обычных классов.

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

(1) виртуальные функции должны отличаться числом параметров.

(2) виртуальные функции должны отличаться типом параметров.

(3) виртуальные функции должны полностью совпадать по типу и числу параметров.

(4) виртуальные функции должны отличаться типом возвращаемого значения.

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

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

(1) класс В является закрытым потомком класса А.

(2) класс В является защищенным потомком класса А.

(3) класс В является открытым потомком класса А.

(4) класс В не является потомком класса А.

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

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

(1) protected

(2) global

(3) private

(4) public

(5) local

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

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

(1) здесь все верно.

(2) параметр шаблона f конфликтует с именованной областью f.

(3) виртуальные методы не могут быть шаблонами.

(4) классы и структуры не могут содержать шаблоны методов.

(5) предварительное описание Т конфликтует с параметром шаблона T.

Выберите верные утверждения

(1) параметром шаблона может быть переменная символьного типа

(2) шаблоны могут быть производными от обычных классов.

(3) шаблонный класс нельзя объявлять внутри функции.

(4) шаблоны классов не могут содержать статические элементы.

(5) шаблоны классов не могут содержать дружественные функции.

Если доступ к элементу в базовом классе public, а спецификатор доступа в наследуемом классе - private, какое из приведенных ниже высказываний ИСТИННО?

(1) обращение к элементам базового класса невозможно.

(2) к элементам базового класса могут обращаться потомки объектов производных классов.

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

(4) производный класс НЕ может обращаться к элементам базового класса.

(5) производный класс НЕ может обращаться к элементам производного класса.

Руководствуясь приведенным кодом, определите, к каким переменным можно обращаться из класса Friend:

class Base
{
public: int a;
protected: int b;
private: int c;
};
class Derived: Base
{
friend class Friend;
int d;
};
class Friend
{
Derived derived;
};

(1) ни к одной

(2) только к 'a' и 'd'

(3) только к 'b' и 'a'

(4) только к 'a', 'b', и 'c'

(5) только к 'a', 'b', и 'd'

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

class Base
{
public:
void f() {cout<<"111"<<endl;}
};
class Derived: public Base
{
public:
void f() {cout<<"222"<<endl;}
};
int main()
{
Base* ptr= new Derived;
ptr->f();
return 0;
}

(1) 111

(2) 222

(3) 333

Какое из приведенных ниже утверждений ЛОЖНО в применении к классам?

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

(2) класс может иметь несколько деструкторов.

(3) дружественный класс может иметь доступ к private полям и методам другого класса.

(4) класс может иметь несколько конструкторов.

(5) если не определен конструктор, будет создан конструктор по умолчанию.

Выберите верные утверждения

(1) параметром шаблона может быть указатель

(2) шаблоны могут являться базовыми для обычных классов.

(3) в обычном классе можно объявить шаблонный метод.

(4) шаблоны классов не могут содержать дружественные классы.

(5) в классе-шаблоне нельзя объявлять статические методы

Какое из приведенных ниже высказываний о наследовании истинно?

(1) объект производного класса - это также и объект родительского класса.

(2) производный класс - это копия родительского класса и находится на два уровня ниже от своего родительского класса в иерархии классов.

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

(4) порожденный класс определяет изменения только в своем непосредственном классе-предке.

(5) порожденный класс является копией родительского класса и представляет собой последний уровень в иерархии классов.

Руководствуясь приведенным кодом, определите, к каким переменным можно обращаться из класса Friend:

class Base
{
int a;
public: int b;
protected: int c;
};
class Derived: Base
{
friend class Friend;
int d;
};
class Friend
{
Derived derived;
};

(1) ни к одной

(2) только к 'b' и 'd'

(3) только к 'b' и 'a'

(4) только к 'b', 'd' и 'c'

(5) только к 'a', 'b' и 'd'

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

class Base
{
public:
virtual void f() {cout<<"111"<<endl;}
};
class Derived: public Base
{
public:
void f() {cout<<"222"<<endl;}
};
int main()
{
Base* ptr= new Derived;
ptr->f();
return 0;
}

(1) 111

(2) 222

(3) 333

Выберите верные утверждения

(1) параметром шаблона может быть ссылка

(2) параметрам шаблонного класса можно присваивать значения по умолчанию.

(3) в классе-шаблоне можно объявлять статические методы

(4) шаблоны не могут быть производными от обычных классов.

(5) параметрам шаблонного класса нельзя присваивать значения по умолчанию.

Руководствуясь приведенным кодом, определите, к каким переменным можно обращаться из класса Friend:

class Base
{
int b;
protected: int c;
public: int d;
};
class Derived: Base
{
friend class Friend;
int e;
};
class Friend
{
Derived derived;
};

(1) ни к одной

(2) только к 'b' и 'e'

(3) только к 'e', 'd', и 'c'

(4) только к 'd' и 'e'

(5) только к 'c' и 'd'

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

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;
}

(1) 20

(2) 22

(3) 10

Выберите верные утверждения

(1) шаблоны методов не могут быть виртуальными.

(2) шаблоны могут являться базовыми для обычных классов.

(3) параметром шаблона может быть только стандартный тип данных

(4) шаблоны классов не могут содержать статические элементы.

(5) класс не может быть объявлен внутри шаблона.

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

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;

(1) 5

(2) 4

(3) 15

Выберите верные утверждения

(1) шаблоны методов не могут быть виртуальными.

(2) параметрам шаблонного класса можно присваивать значения по умолчанию.

(3) в обычном классе можно объявить шаблонный метод.

(4) шаблоны не могут быть производными от обычных классов.

(5) в классе-шаблоне нельзя объявлять статические поля

1. Функция вычисляет произведение двух чисел. Исходные данные вводятся с клавиатуры. Какие проверки целесообразно ввести в программе:
а) проверка, что исходные данные являются числами +
б) проверки не нужны, все возможные ошибки отловит компилятор
в) проверка исходных данных на равенство нулю

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

3. Какой из компонентов может входить в интегрированную среду программирования:
а) наладчик
б) доводчик
в) отладчик +

4. Какой из компонентов может входить в интегрированную среду программирования:
а) текстовый редактор +
б) текстовый директор
в) текстовый модератор

5. Какой из компонентов может входить в интегрированную среду программирования:
а) регулятор
б) доминатор
в) компилятор +

6. Если определена операция вычитания для двух объектов класса A, а операция преобразования к int не определена, что будет вызвано при:
A a1,a2,a3=5;
a3 = a1 – a2;
а) только операция вычитания
б) произойдет ошибка +
в) преобразование к целому

7. Какой из наборов перечисляемых значений записан правильно:
а) enum { a, b = 3, c = 4, 3 };
б) enum { a, b, 3, 4 };
в) enum {a, b = 3, c, d }; +

8. В чем различие использования следующих выражений #include <…> и #include «…»:
а) различие заключается в методе поиска препроцессором включаемого файла +
б) в различии использования заголовочных и исходных файлов
в) нет различий

9. Чему будет равен результат вычисления выражения: int d=5; bool b = true, c; c = (!b||(d>3)):
а) Ошибка компилятора
б) false
в) true +

10. Если в арифметическом выражении участвуют целый и вещественный операнды, то:
а) ошибка компиляции
б) целый тип приводится к вещественному +
в) вещественный тип приводится к целому

11. Укажите в каком выражении произойдет потеря точности:
а) int i; float x = 2.134, y = 3.14; i = x/y; +
б) short i = 0x3; float x = 2.7, v; v = i + x;
в) float M = 235.2; double Z = 3; Z *= M;

12. Если после выражения стоит точка с запятой, то:
а) выражение вычисляется, а его значение запоминается в специальной переменной, которую можно использовать в следующем операторе
б) это оператор-выражение, действие которого заключается в вычислении выражения +
в) выражение вычисляется только если первой стоит операция присваивания

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

14. Отметьте истинное высказывание:
а) переменная инициализируется, потом объявляется
б) переменная объявляется, потом инициализируется и изменяется
в) переменная объявляется, потом изменяется +

15. Какие операции поддаются перегрузке:
а) унарные и бинарные +
б) только бинарные
в) только унарные

16. Переменная типа signed char может принимать значения:
а) только символов английского алфавита, цифр и символа подчеркивания
б) из первой половины кодовой таблицы +
в) только из алфавита языка C++

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

18. В переменной типа unsigned char можно хранить число:
а) -213
б) 213 +
в) 1213

19. В переменной типа unsigned char можно хранить число:
а) -13
б) 1213
в) 13 +

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

21. Выберите правильное утверждение:
а) целой переменной можно присвоить вещественную константу +
б) целой константе можно присвоить целую переменную
в) целой константе можно присвоить вещественную переменную

22. Выберите правильное утверждение:
а) целой константе можно присвоить целую переменную
б) целой переменной можно присвоить целую константу +
в) целой константе можно присвоить вещественную переменную

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

24. Какое выражение не содержат синтаксических ошибок:
а) sin(abs(0.6(e*3))
б) ((cos(3*a+1.*abs(x)))) +
в) a*exp(t)(2t)

25. Какое выражение не содержат синтаксических ошибок:
а) a*exp(t)(2t)
б) sin(abs(0.6(e*3))
в) 0XCC00*.34E-4/_do/k-2 +

26. Чему равно числовое значение выражения sqrt(4)+142/20*2:
а) 5
б) 16 +
в) 9

27. Какая из следующих операций языка C выполняется справа налево:
а) = +
б) ->
в) []

28. Какое выражение не содержит синтаксических ошибок:
а) (-0.18)*a)/(r-0.2*t)
б) (-0.18)*a)(r-0.2*t))
в) -0.18*a/r-0.2*t +

29. При использовании в программе функции scanf требуется разделять числовые значения величин при вводе при помощи:
а) нажатия клавиш TAB или ENTER +
б) клавиш курсора
в) пробела или запятой

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

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

В условном операторе между ключевыми словами if и else после выражения в скобках может находиться

Перейти

  • Какое влияние имеет ошибка человеческая
  • Какого рода синтаксические ошибки выявляет пакет bpwin
  • Каковы причины возникновения речевых ошибок
  • Каковы причины возникновения лексических ошибок
  • Каковы причины возникновения квалификационных ошибок