Главная / Программирование /
Программирование на языке C++ / Тест 3
Программирование на языке C++ - тест 3
Упражнение 1:
Номер 1
Основное правило структурного программирования состоит в том, что:
Ответ:
 (1) структура программы задается на этапе составления алгоритма 
 (2) программа составляется только из базовых конструкций: следования, ветвления и цикла, которые могут вкладываться друг в друга 
 (3) в программе могут использоваться только определенные структуры данных 
 (4) программа состоит из подпрограмм, организованных в определенную структуру 
Номер 2
Особенность базовых конструкций структурного программирования состоит в том, что:
Ответ:
 (1) они соответствуют структурам данных, используемым в программе 
 (2) они записываются одинаково на всех языках, поддерживающих структурную технологию программирования 
 (3) они имеют только один вход и один выход 
 (4) они состоят из одинаковых блоков.  
Номер 3
Цель структурного программирования - это:
Ответ:
 (1) написание программы, состоящей из базовых конструкций структурного программирования 
 (2) уменьшение ошибок при отладке программ и упрощение их модификации 
 (3) использование самых простых структур данных 
 (4) уменьшение объема программы 
Упражнение 2:
Номер 1
В условном операторе после ключевого слова if
внутри скобок может находиться
Ответ:
 (1) выражение булевского типа 
 (2) переменная целого типа 
 (3) константа false
 
Номер 2
В условном операторе после ключевого слова if
внутри скобок может находиться
Ответ:
 (1) переменная булевского типа 
 (2) выражение целого типа 
 (3) пустой оператор  
 (4) константа true
 
Номер 3
В условном операторе между ключевыми словами if
и else
после выражения в скобках может находиться
Ответ:
 (1) любой оператор 
 (2) любой оператор, кроме оператора перехода 
 (3) условный оператор 
 (4) произвольное количество операторов 
Упражнение 3:
Номер 1
В условном операторе между ключевыми словами if
и else
после выражения в скобках может находиться
Ответ:
 (1) любой оператор, кроме оператора перехода 
 (2) любой простой или составной оператор 
 (3) не больше двух операторов 
 (4) составной оператор 
Номер 2
В условном операторе в ветке "ИНАЧЕ" после ключевого слова else
может находиться
Ответ:
 (1) любой оператор 
 (2) любой оператор, кроме оператора перехода 
 (3) произвольное количество операторов 
 (4) составной оператор 
Номер 3
В условном операторе в ветке "ИНАЧЕ" после ключевого слова else
может находиться
Ответ:
 (1) любой оператор, кроме оператора перехода 
 (2) вложенный условный оператор 
 (3) произвольное количество операторов 
 (4) простой или составной оператор 
Упражнение 4:
Номер 1
Чему будет равно значение переменной А
после выполнения фрагмента программы, если В = 3
?
A = 2;
if (В <= 4)
C = 1;
else
C = 0;
A = C;
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
Номер 2
Чему будет равно значение переменной А
после выполнения фрагмента программы, если В = 3
?
A = 2;
if (В <= 4) { C = 1;}
else
{C = 0;
A = C;
}
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
Номер 3
Чему будет равно значение переменной А
после выполнения фрагмента программы, если В = 5
?
A = 2;
if (В <= 4)
C = 1;
else
{ C = 0;
A = C;
}
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
Упражнение 5:
Номер 1
Чему будет равно значение переменной A
после выполнения фрагмента программы, если B = 5
?
if (В <= 4)
C = 1;
else C = 0;
A = C;
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
Номер 2
Чему будет равно значение переменной a
после выполнения фрагмента программы, если b = 0
?
a = 1;
if (b < 1) a = 2;
if (b > 5) a = 3;
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
Номер 3
Чему будет равно значение переменной a
после выполнения фрагмента программы, если b = 2
?
a = 1;
if ((b < 0) || (b > 1)) a = 3;
if (b > 5) a = 5;
Ответ:
 (1) 0 
 (2) 3 
 (3) 2 
Упражнение 6:
Номер 1
Чему будет равно значение переменной a
после выполнения фрагмента программы, если b = 5
?
a = 1;
if ((b > 0) && (b < 2)) a = 3;
if (b > 5) a = 5;
Ответ:
 (1) 3 
 (2) 1 
 (3) 5 
Номер 2
Чему будет равно значение переменной a
после выполнения фрагмента программы, если b = 2
?
a = 1;
if ((b > 0) && (b < 3)) a = 3;
else
if (b > 5) a = 5;
Ответ:
 (1) 3 
 (2) 1 
 (3) 2 
Номер 3
Чему будет равно значение переменной m
после выполнения программы?
int main ()
{
int k;
int m;
k = 0; m = 0;
while (k < 3)
++k;
++m;
return m;
}
Ответ:
 (1) 0 
 (2) 5 
 (3) 1 
Упражнение 7:
Номер 1
Чему будет равно значение переменной m
после выполнения программы?
main()
{
int k;
int m;
k = 3; m = 0;
while (k < 3)
{
++k; ++m;
}}
Ответ:
 (1) 0 
 (2) 1 
 (3) 2 
Номер 2
Чему будет равно значение переменной m
после выполнения программы?
main(){
int k;
int m;
k = 3; m = 0;
while (k > 0)
--k;
++m;
}
Ответ:
 (1) 5 
 (2) 1 
 (3) 2 
Номер 3
Чему будет равно значение переменной m
после выполнения программы?
main()
{
int k;
int m;
k = 3; m = 0;
while (k > 0)
{
k--;
m++;
}}
Ответ:
 (1) 0 
 (2) 3 
 (3) 2 
Упражнение 8:
Номер 1
Чему будет равно значение переменной m
после выполнения программы?
main()
{
int k;
int m;
m = 0;
for (k = 1; k <= 2; k++)
++m; ++m;
}
Ответ:
 (1) 1 
 (2) 4 
 (3) 3 
Номер 2
Чему будет равно значение переменной m
после выполнения программы?
main()
{
int k;
int m;
m = 1;
for (k = 1; k <= 2; k++)
{
++m; k+=2;
}}
Ответ:
 (1) 0 
 (2) 3 
 (3) 2 
Номер 3
Чему будет равно значение переменной m
после выполнения программы?
main()
{
int k;
int m;
m = 1;
for (k = 3; k >= 1; k--) ++m;
}
Ответ:
 (1) 10 
 (2) 4 
 (3) 2 
Упражнение 9:
Номер 1
Чему будет равно значение переменной m
после выполнения программы?
int main()
{
int k;
int m;
m = 1;
for (k = 3; k >= 1; k--)
++m;
}
Ответ:
 (1) 2 
 (2) 3 
 (3) 4 
Номер 2
Что будет выведено на экран в результате работы фрагмента программы
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 
Номер 3
Что будет выведено на экран в результате работы программы?
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 
Упражнение 10:
Номер 1
Какое число получится в результате работы программы?
#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);
}
Ответ:
 (1) 20 
 (2) 1 
 (3) 7 
Номер 2
Какое число получится в результате работы программы?
#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);
}
Ответ:
 (1) 2 
 (2) 6 
 (3) 1 
Номер 3
Какое число будет выведено в результате работы программы?
#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);
}
}
Ответ:
 38888899 
Упражнение 11:
Номер 1
Какое число получится в результате работы программы?
#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);
}
Ответ:
 (1) 9 
 (2) 7 
 (3) 8 
Номер 2
Какое число получится в результате работы программы?
#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);
}
Ответ:
 (1) 2 
 (2) 3 
 (3) 0 
Номер 3
Какое число получится в результате работы программы?
#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);
}
Ответ:
 (1) 20 
 (2) 1 
 (3) 0 
Упражнение 12:
Номер 1
Какое число получится в результате работы программы?
#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) -9 
 (2) 10 
 (3) -2 
Номер 2
Какое число получится в результате работы программы?
#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) 2 
 (2) 8 
 (3) 18 
Номер 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) 2 
 (2) 12 
 (3) 3 
Упражнение 13:
Номер 1
Какое число получится в результате работы программы?
#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) 21 
 (2) 5 
 (3) 0 
Номер 2
Какое число получится в результате работы программы?
#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) 2 
 (2) 45 
 (3) 4 
Номер 3
Какое число получится в результате работы программы?
#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) -2 
 (2) 0 
 (3) 2 
Упражнение 14:
Номер 1
Что будет выведено на экран в результате работы программы?
#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) c 
 (2) r 
 (3) abc 
Номер 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) aaa 
 (2) bbb 
 (3) ccc 
Номер 3
Что будет выведено на экран в результате работы программы?
#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) ccb 
 (2) bcr 
 (3) cbr 
Упражнение 15:
Номер 1
Что будет выведено на экран в результате работы программы?
#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) rrr 
 (2) aaa 
 (3) bbb 
Номер 2
Что будет выведено на экран в результате работы программы?
#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 
Номер 3
Что будет выведено на экран в результате работы программы?
#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) baa 
 (2) aab 
 (3) raa 
Упражнение 16:
Номер 1
Что будет выведено на экран в результате работы программы?
#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) ab 
 (2) bb 
 (3) cc 
Номер 2
Что будет выведено на экран в результате работы программы?
#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) c 
 (2) a 
 (3) b 
Номер 3
Что будет выведено на экран в результате работы программы?
#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) b 
 (2) a 
 (3) r 
Упражнение 17:
Номер 1
Что будет выведено на экран в результате работы программы?
#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 
Номер 2
Что будет выведено на экран в результате работы программы?
#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) bc 
 (2) ab 
 (3) ba 
Номер 3
Что будет выведено на экран в результате работы программы?
#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) ac 
 (2) rc 
 (3) cr 
Упражнение 18:
Номер 1
Выберите пример указателя-константы.
Ответ:
 (1) char* const pc
 
 (2) char* pc
 
 (3) const char* const pc
 
 (4) невозможно определить указатель-константу.  
 (5) const char* pc
 
Номер 2
Выберите пример указателя на константу.
Ответ:
 (1) char* const pc
 
 (2) char* pc
 
 (3) const char* const pc
 
 (4) невозможно определить указатель на константу.  
 (5) const char* pc
 
Номер 3
Выберите пример указателя-константы на константу.
Ответ:
 (1) char* const pc
 
 (2) char* pc
 
 (3) const char* const pc
 
 (4) невозможно определить указатель-константу на константу.  
 (5) const char* pc
 
Упражнение 24:
Номер 1
Какое из следующих определений описывает указатель на целую переменную по адресу 0x200.
Ответ:
 (1) int *x = 0x200;
 
 (2) int *x( &0x200 );
 
 (3) int *x = *0x200;
 
 (4) int *x = &0x200;
 
 (5) int *x; *x = 0x200;
 
Номер 2
Какое значение получит 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) значение не определено 
Номер 3
Какое значение получит "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) значение не определено 
Упражнение 19:
Номер 1
Какое значение получит "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) значение не определено 
Номер 2
Какое значение получит p[0]
в данном примере?
int a[2][3]={{1,2,3},{7,8,9}};
int *p=&a[0][1];
p+=3;
Ответ:
 (1) 1  
 (2) 4  
 (3) 7  
 (4) 8  
Номер 3
Какое значение получит "p[0]" в данном примере?
int a[2][3]={{1,2,3},{7,8,9}};
int *p=&a[0][2];
p+=3;
Ответ:
 (1) 1  
 (2) 4  
 (3) 7  
 (4) 9  
Упражнение 20:
Номер 1
Какая операция используется для доступа к полям структуры?
Ответ:
 (1) операция :
 
 (2) операция .
 
 (3) операция ,
 
 (4) операция ::
 
 (5) операция *
 
Номер 2
Какая операция используется для доступа к полям структуры через указатель?
Ответ:
 (1) операция ->  
 (2) операция .  
 (3) операция ,  
 (4) операция ::  
 (5) операция .*  
Номер 3
С переменными, относящимися к перечисляемому типу данных, можно выполнять операции:
Ответ:
 (1) присваивания 
 (2) взятия адреса 
 (3) вывода на экран 
 (4) отношения 
Упражнение 21:
Номер 1
С переменными, относящимися к перечисляемому типу данных, можно выполнять операции:
Ответ:
 (1) присваивания 
 (2) разадресации 
 (3) выбора 
 (4) сравнения на равенство и неравенство 
Номер 2
Какую величину вычисляет программа?
#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) количество положительных элементов массива в первой строке 
Номер 3
Какую величину вычисляет программа?
#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) количество положительных элементов массива в последнем столбце 
Упражнение 22:
Номер 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);
}
Ответ:
 (1) номер первого из столбцов массива, содержащих хотя бы один элемент, равный 0 
 (2) номер последнего из столбцов массива, содержащих хотя бы один элемент, равный 0 
 (3) количество положительных элементов массива в каждом столбце 
 (4) номер первой из строк массива, содержащих хотя бы один элемент, равный 0 
 (5) номер последней из строк массива, содержащих хотя бы один элемент, равный 0 
Номер 2
Какую величину вычисляет программа?
#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 
Номер 3
Какое из следующих утверждений неправильное?
Ответ:
 (1) доступ в объединениях по умолчанию public
 
 (2) в объединениях можно явным образом использовать спецификаторы доступа 
 (3) объединение не может участвовать в иерархии классов 
 (4) элементами объединения не могут быть объекты, содержащие конструкторы и деструкторы 
 (5) объединение может иметь конструктор и другие методы, только не статические 
 (6) в анонимном объединении нельзя описывать методы 
Упражнение 23:
Номер 1
Какое из следующих утверждений ложно?
Ответ:
 (1) доступ в объединениях по умолчанию public
 
 (2) в объединениях нельзя явным образом использовать спецификаторы доступа 
 (3) объединение может иметь конструктор и другие методы 
 (4) объединение может иметь статические методы 
 (5) объединение не может участвовать в иерархии классов 
Номер 2
Какое из следующих утверждений правильное?
Ответ:
 (1) доступ в объединениях по умолчанию private
 
 (2) в объединениях можно использовать спецификаторы доступа 
 (3) объединение не может иметь конструктор и другие методы 
 (4) объединение может иметь статические методы 
 (5) объединение не может участвовать в иерархии классов