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

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

Главная / Программирование /
Программирование на языке 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 требуется разделять числовые значения величин при вводе при помощи:
а) пробела или запятой
б) по крайней мере одного пробела +
в) клавиш курсора

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

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

Перейти

Главная /
Программирование на языке высокого уровня C# /
Какие выражения не содержат синтаксических ошибок?

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

вопрос

Правильный ответ:

Math.Sin(Math.Abs(0.6(e*3))

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

((Math.Cos(3*a+Math.Abs(x))))

a* Math.Exp(t)\(2t)

Сложность курса: Программирование на языке высокого уровня C#

Оценить вопрос

Очень сложно

Сложно

Средне

Легко

Очень легко

Спасибо за оценку!

Комментарии:

Аноним

Экзамен прошёл на отлично. Спасибо vtone

16 окт 2019

Аноним

Это очень заурядный вопрос интуит.

04 ноя 2017

Другие ответы на вопросы из темы программирование интуит.

  • #

    Преимуществами ООП являются:

  • #

    Число -1 можно хранить в переменной типа

  • #

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

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

  • #

    Какие спецификаторы можно определить для класса в С#?

  • #

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

    <pre>

    {
    int[] a = {3, 8, 0, -6, 0, -1, -9, 3};
    int k = 0, j = 4;
    for (int i = 7; i >= 0; —i)
    if (a[i] > j) { k = Math.Abs(a[i]); break; }
    Console.WriteLine(k);
    }
    </pre>

    максимальный по модулю элемент массива

Зарегистрируйтесь для доступа к 15+ бесплатным курсам по программированию с тренажером

О, нет, ошибки! И как с ними справляться

Введение в программирование

Видео может быть заблокировано из-за расширений браузера. В статье вы найдете решение этой проблемы.

Транскрипт урока

У вас вечеринка, а закуска кончилась, вы просите подругу что-нибудь купить.

— Эй, можешь сходить в магазин и купить какой-нибудь еды?

Она отвечает:

— Что именно?

Вы говорите:

— Ну, типа чипсы или что-нибудь такое. У нас всё закончилось.

Она отвечает:

— Сколько упаковок чипсов взять?

И у вас уже начинает немного вскипать мозг:

— Да, я не знаю, штук 5.

— А какие чипсы?

И вы так глазами делаете и отвечаете «ааа… забудь», или решаете идти до конца и объясняете подробно задачу: «Возьми 5 средних пакетов картофельных чипсов со вкусом бекона».

Десять минут спустя она возвращается с пустыми руками и говорит «у них не было таких чипсов в пакетах среднего размера».

О «программистах» есть определённые стереотипы и то, что они могут быть слишком конкретными и чересчур дотошными — один из них. Многие думают, что такие люди хорошо разбираются в математике или что-то подобное.

В реальности всё намного сложнее. Не существует всего двух типов людей, спектр типов личности буквально бесконечен. И для некоторых людей программирование немного более органично, потому что компьютеры абсолютно конкретные и абсурдно однозначные. Это совершенно не значит, что если вы считаете, что у вас «нематематический склад ума», вы не сможете стать хорошим разработчиком. Это значит только, что вам нужно научиться лучше распознавать и понимать, как именно работают компьютеры.

Такой способ поведения компьютеров ведёт ко множеству ошибок. Если вы наберёте  console,log — console запятая log, вместо console точка log, JavaScript скажет «Понятия не имею, что ты имел в виду».

Вы будете делать ошибки и ваши программы будут содержать ошибки. Жизнь — она такая. Любой программист делает ошибки и это не имеет особого значения. Значение имеет только то, как вы потом с ними справляетесь. Исправление ошибок — важный навык. Это делает программирование непохожим на другие типы работ: ошибки неизбежны, вы не можете от них полностью застраховаться, а исправление ошибок — часть вашей работы.

Ошибка вроде «запятая вместо точки» это тип, который проще всего заметить и исправить. Это «синтаксическая ошибка», потому что неверный символ, как запятая в этом случае, нарушает синтаксические правила языка.

Когда вы запускаете код с такой ошибкой, интерпретатор JavaScript — та штука, которая исполняет JavaScript-программы — пожалуется: SyntaxError и укажет вам на то место, где по его мнению есть проблема.

const cube = (num) => {
  return num * num * num;
})
→ node test.js
/Users/rakhim/test.js:3
})
 ^
SyntaxError: Unexpected token )
    at Object.exports.runInThisContext (vm.js:78:16)
    at Module._compile (module.js:543:28)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

Вот, например, это определение функции и в конце — лишняя скобка. Её там быть не должно и это ломает всю программу, поэтому JavaScript жалуется: «SyntaxError:» Unexpected token (символ))». Эта скобка unexpected — неожиданная.

Синтаксическая ошибка — это как если кто-то бредит вслух. Никто вокруг ничего не понимает.

Следующий тип ошибки подобен синтаксической, но в этом случае вы нарушаете не законы синтаксиса языка, а как бы законы синтаксиса собственного кода. В прошлый раз мы создали функцию  abs, которая возвращала абсолютное значение числа.

→ node test.js
/Users/rakhim/test.js:1
 ads(12);
 ^
ReferenceError: ads is not defined
    at Object.<anonymous> (/Users/rakhim/test.js:1:63)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

Если вы вызовете  ads  вместо  abs, интерпретатор JavaScript пожалуется:  ReferenceError: ads is not defined. Вы использовали, как вам кажется, существующее название, но на самом деле такого названия нет.

Несколько строк, которые следуют после указания ошибки, могут смутить и оттолкнуть вас, но они тут только для пользы. Это stack trace — последовательность вызовов функций, которая привела к ошибке. Когда вы запускаете свою программу, даже крошечную, она становится частью чего-то более крупного — сложной системой JavaScript-кода, который приводится в действие, чтобы оживить вашу программу. Тут видно, что проблема была в моём файле. Следующая строка — это место, откуда был вызван мой код, третья строка — откуда была вызвана вторая и в таком духе можно продолжать дальше. Это как отслеживать шаги в обратном направлении — проблема есть, и мы можем возвращаться по одному шагу назад и смотреть, не нашлась ли ошибка.

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

ReferenceError может случиться с другими константами: например, если ваш код содержит  10 * pi, а pi не существует, потому что вы не создавали константу с точно таким названием, вы получите ReferenceError.

ReferenceError — это как называть кого-то чужим именем.

Следующий тип ошибки — когда вы путаете одну вещь с другой. Взгляните на этот код:

const length = 12;
const num = length(54);

Сначала мы создали константу. Помните, что это как давать чему-то название: в нашем случае — числу 12 даётся название length. В следующей строке мы вызываем функцию length и передаём ей аргумент — число 54. Но подождите! length — это не функция! Это всего лишь число. Числа — это не функции, не ящики, которые производят какие-то действия. И JavaScript пожалуется именно на это:

→ node test.js
/Users/rakhim/test.js:2
const num = length(-54);
            ^

TypeError: length is not a function
    at Object.<anonymous> (/Users/rakhim/test.js:2:13)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)
    at Function.Module._load (module.js:439:3)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3

Это Ошибка типизации: тип объекта, который вы использовали, неверный. Интерпретатор JavaScript не скажет чем что-то является, но точно скажет чем оно не являетсяlength — это не функция.

Ошибка типизации — это как просить кошку постирать бельё. Возможно, вы хотели попросить об этом вашего друга.

Все эти ошибки — syntax error, reference error и type error — возникают из-за использования неправильных слов. И все они предельно очевидные: вы видите сообщение об ошибке и достаточно хорошо понимаете в чём проблема. Обычно сразу понятно, как их исправить:

  1. Синтаксическая ошибка? Заменить, удалить или добавить символы. Часто проблема в скобках и кавычках: открытые скобки и открытые кавычки должны быть закрыты.
  2. Reference error? Проверить, существует ли тот объект, на который вы ссылаетесь. Возможно, вы использовали неправильное название или забыли создать его.
  3. Ошибка типизации? Убедиться, что вы используете объекты верно. Часто проблема — простая путаница: вы создали и числовую константу и функцию, а потом пытаетесь вызвать число. Наверное, вы хотели вызвать функцию.

Последний тип ошибки, о котором мы сегодня поговорим — самый злой: Логическая ошибка. Допустим, мы пишем функцию, которая конвертирует градусы по фаренгейту (F) в градусы по цельсию (C). Чтобы сконвертировать температуру по одной шкале в другую, нужно вычесть 32 и умножить на 5/9. Например (50°F — 32) x 5/9 = 10°C.

const fahrToCelsius = (fahr) => {
  return fahr - 32 * 5/9;
}

Выглядит нормально? Давайте запустим эту функцию, сконвертируем 50 градусов и выведем на экран:

console.log(fahrToCelsius(50));

И у нас получилось 32.22222222222222. Не 10. Что произошло? JavaScript не пожаловался, когда код запустился, никаких ошибок не выскакивало. Компьютер не знает, что нам нужно, поэтому он производит вычисление, как мы его и просили. Но такое вычисление ошибочно — допустили ошибку мы. Нам нужно вначале вычесть 32, а потом умножить это на 5/9. Но мы не использовали скобки, поэтому 32 вначале умножилось на 5/9, а затем результат был отнят от температуры в фаренгейтах.

Это Логическая ошибка. Мы не нарушили никаких правил, мы просто сделали что-то не то. Наш пример был простым: мы написали функцию, запустили её и увидели неверный результат. Но представьте, что функция — это только маленькая частица крупной системы. Приложение для формирования бюджета в огромной организации отправляет отчёт в главную бухгалтерию, что в следующем месяце для оплаты счёта за электричество требуются дополнительные $300 000. Организуется экстренное собрание, увольняют людей, генеральный директор снова уходит в запой. Что случилось?

Иногда обнаружить проблему может оказаться трудной задачей: система кондиционирования ожидает, что январская температура будет 32 градуса по цельсию, вместо 10, потому что кто-то забыл использовать скобки в функции.

Борьба с логическими ошибками — это целиком ваша ответственность. И временами — тяжёлая работа, но в конце приходит сильное облегчение и удовлетворение: а-ааа, так вот в чём была проблема!

Теперь ваша очередь делать ошибки! Выполните тест и упражнение, чтобы ощутить боль.

Дополнение к уроку

Листочек

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

Метод утенка

Метод утёнка — психологический метод решения задачи, делегирующий её мысленному помощнику. Метод описан в книге «Программист-прагматик».

Тестируемый ставит на рабочем столе игрушечного утёнка
(или представляет его мысленно; на самом деле уточка — это условно, предмет может быть любым), и когда у него возникает вопрос, на который трудно ответить, то он задаёт его игрушке, как живому человеку, словно она действительно может ответить.

Считается, что правильная формулировка вопроса содержит как минимум половину ответа, а также это дает толчок мыслям, направляя их в нужное русло.

Метод также используется при отладке. Если определённая часть программы не работает, программист пытается объяснить утёнку, что делает каждая строка программы, и в процессе этого сам находит ошибку.

Выводы

4 типа ошибок:

  1. Syntax error. Неверное использование языка. Часто лишние или недостающие скобки или кавычки. Что делать? Заменить, удалить или добавить символы. Часто проблема в скобках или кавычках: открытые скобки должны быть закрыты, открытые кавычки должны быть закрыты.
  2. Reference error. Использование несуществующего названия. Что делать? Проверить, существует ли то, на что вы ссылаетесь. Возможно вы использовали ошибочное название или забыли его создать.
  3. Type error. Использование неверного типа, например попытка вызвать константу числа, как функцию. Что делать? Убедиться, что всё используется верно. Часто проблема в простой путанице: вы создали численную константу и функциональную константу, а потом пытаетесь вызвать число. Вероятно вы собирались вызвать функцию.
  4. Logic error. (Логическая ошибка) Ваш код выполняет не то, что требуется, но программа запускается и не выдаёт ошибок трёх перечисленных выше типов. Сломана логика. Что делать? Проверить свой код, убедиться, что он выполняет то, что должен.

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Информатика в настоящее время является стремительно развивающийся наукой. Многие студенты постают в технические университеты, чтобы в будущем связать свою деятельность с IT или приближенными областями. Для проверки знаний по теме C++ предлагаем пройти тестирование на этой странице. Обращаем ваше внимание, что в тесте правильные ответы выделены символом [+].

Функция вычисляет произведение двух чисел. Исходные данные вводятся с клавиатуры. Какие проверки целесообразно ввести в программе:

[+] а) проверка, что исходные данные являются числами

[-] б) проверки не нужны, все возможные ошибки отловит компилятор

[-] в) проверка исходных данных на равенство нулю

Для чего предназначен оператор namespace:

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

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

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

Какой из компонентов может входить в интегрированную среду программирования:

[-] а) наладчик

[-] б) доводчик

[+] в) отладчик

Какой из компонентов может входить в интегрированную среду программирования:

[+] а) текстовый редактор

[-] б) текстовый директор

[-] в) текстовый модератор

Какой из компонентов может входить в интегрированную среду программирования:

[-] а) регулятор

[-] б) доминатор

[+] в) компилятор

Если определена операция вычитания для двух объектов класса A, а операция преобразования к int не определена, что будет вызвано при:

A a1,a2,a3=5;

a3 = a1 – a2;

[-] а) только операция вычитания

[+] б) произойдет ошибка

[-] в) преобразование к целому

Какой из наборов перечисляемых значений записан правильно:

[-] а) enum { a, b = 3, c = 4, 3 };

[-] б) enum { a, b, 3, 4 };

[+] в) enum {a, b = 3, c, d };

В чем различие использования следующих выражений #include <…> и #include «…»:

[+] а) различие заключается в методе поиска препроцессором включаемого файла

[-] б) в различии использования заголовочных и исходных файлов

[-] в) нет различий

Чему будет равен результат вычисления выражения: int d=5; bool b = true, c; c = (!b||(d>3)):

[-] а) Ошибка компилятора

[-] б) false

[+] в) true

Если в арифметическом выражении участвуют целый и вещественный операнды, то:

[-] а) ошибка компиляции

[+] б) целый тип приводится к вещественному

[-] в) вещественный тип приводится к целому

Укажите в каком выражении произойдет потеря точности:

[+] а) int i; float x =
134, y =
14; i = x/y;

[-] б) short i = 0x3; float x =
7, v; v = i + x;

[-] в) float M = 2
2; double Z = 3; Z *= M;

Если после выражения стоит точка с запятой, то:

[-] а) выражение вычисляется, а его значение запоминается в специальной переменной, которую можно использовать в следующем операторе

[+] б) это оператор-выражение, действие которого заключается в вычислении выражения

[-] в) выражение вычисляется только если первой стоит операция присваивания

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

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

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

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

Отметьте истинное высказывание:

[-] а) переменная инициализируется, потом объявляется

[-] б) переменная объявляется, потом инициализируется и изменяется

[+] в) переменная объявляется, потом изменяется

Какие операции поддаются перегрузке:

[+] а) унарные и бинарные

[-] б) только бинарные

[-] в) только унарные

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

[-] а) только символов английского алфавита, цифр и символа подчеркивания

[+] б) из первой половины кодовой таблицы

[+] в) только из алфавита языка C+

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

[+] а) только из алфавита языка C+

[-] б) только символов английского алфавита, цифр и символа подчеркивания

[+] в) от -128 до 127

В переменной типа unsigned char можно хранить число:

[-] а) -213

[+] б) 213

[-] в) 1213

В переменной типа unsigned char можно хранить число:

[-] а) -13

[-] б) 1213

[+] в) 13

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

[-] а) 3

[+] б) 0

[-] в) 1

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

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

[-] б) целой константе можно присвоить целую переменную

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

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

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

[+] б) целой переменной можно присвоить целую константу

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

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

[-] а) false

[-] б) yes

[+] в) true

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

[-] а) sin(abs(0. 6(e*3))

[+] б) ((cos(3*a+
*abs(x))))

[-] в) a*exp(t)(2t)

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

[-] а) a*exp(t)(2t)

[-] б) sin(abs(0. 6(e*3))

[+] в) 0XCC00*. 34E-4/_do/k-2

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

[-] а) 5

[+] б) 16

[-] в) 9

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

[+] а) =

[-] б) ->

[-] в) []

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

[-] а) (-0. 18)*a)/(r-0. 2*t)

[-] б) (-0. 18)*a)(r-0. 2*t))

[+] в) -0. 18*a/r-0. 2*t

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

[+] а) нажатия клавиш TAB или ENTER

[-] б) клавиш курсора

[-] в) пробела или запятой

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

[-] а) пробела или запятой

[+] б) по крайней мере одного пробела

[-] в) клавиш курсора


  • Ткани растений и животных — тест с ответами
  • Теория сестринского дела — тест с ответами
  • Информатика старшие классы — тест с ответами
  • Отдельные вопросы смежной патологии — тест с ответами
  • Массаж — тест с ответами


0 / 0 / 0

Регистрация: 09.06.2010

Сообщений: 5

1

09.06.2010, 08:53. Показов 1026. Ответов 0


Студворк — интернет-сервис помощи студентам

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

a. Sin(abs(0,6e3*yt)
b. A div b / c*mod
c. $EF01*1.34E-02/_i7_17
d. 1_2i-exp(y)/2*t
e. Cos(3*x)+0.2

Добавлено через 39 секунд
Составить блок схему вычисления корней квадратного уравнения, учитывая, что любой из коэффициентов a,b,c может быть равен нулю

0

Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

09.06.2010, 08:53

Ответы с готовыми решениями:

Лабораторные работы
Пару дней осталось до сдачи помогите кто чем может… у кого есть уже какието готовые решения или…

Лабораторные работы
Помогите плиз с заданиями а то я в них не шарю.. Паскаль для меня больная тема…

лабораторные работы по ивт
здраствуйте!!люди помогите пожалуйста с лабораторными по ивт(((
лабораторная 1:
линейный…

Лабораторные работы!
Помогите, пожалуйста, написать программы на ABCNET!!!

0

Главная /
Программирование на языке C++ /
Какие выражения не содержат синтаксических ошибок?

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

вопрос

Правильный ответ:

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

Sin/^2*x+0,2

0xEEEE*1.34E-2/i/2

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

Сложность вопроса

82

Сложность курса: Программирование на языке C++

54

Оценить вопрос

Очень сложно

Сложно

Средне

Легко

Очень легко

Спасибо за оценку!

Комментарии:

Аноним

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

02 янв 2017

Аноним

Какой человек ищет вот эти ответы по интуит? Это же очень просты вопросы

03 июл 2016

Оставить комментарий

Другие ответы на вопросы из темы программирование интуит.

  • #

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

  • #

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

  • #

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

  • #

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

  • #

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

Информатика в настоящее время является стремительно развивающийся наукой. Многие студенты постают в технические университеты, чтобы в будущем связать свою деятельность с IT или приближенными областями. Для проверки знаний по теме C++ предлагаем пройти тестирование на этой странице. Обращаем ваше внимание, что в тесте правильные ответы выделены символом [+].

Функция вычисляет произведение двух чисел. Исходные данные вводятся с клавиатуры. Какие проверки целесообразно ввести в программе:

[+] а) проверка, что исходные данные являются числами

[-] б) проверки не нужны, все возможные ошибки отловит компилятор

[-] в) проверка исходных данных на равенство нулю

Для чего предназначен оператор namespace:

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

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

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

Какой из компонентов может входить в интегрированную среду программирования:

[-] а) наладчик

[-] б) доводчик

[+] в) отладчик

Какой из компонентов может входить в интегрированную среду программирования:

[+] а) текстовый редактор

[-] б) текстовый директор

[-] в) текстовый модератор

Какой из компонентов может входить в интегрированную среду программирования:

[-] а) регулятор

[-] б) доминатор

[+] в) компилятор

Если определена операция вычитания для двух объектов класса A, а операция преобразования к int не определена, что будет вызвано при:

A a1,a2,a3=5;

a3 = a1 – a2;

[-] а) только операция вычитания

[+] б) произойдет ошибка

[-] в) преобразование к целому

Какой из наборов перечисляемых значений записан правильно:

[-] а) enum { a, b = 3, c = 4, 3 };

[-] б) enum { a, b, 3, 4 };

[+] в) enum {a, b = 3, c, d };

В чем различие использования следующих выражений #include <…> и #include «…»:

[+] а) различие заключается в методе поиска препроцессором включаемого файла

[-] б) в различии использования заголовочных и исходных файлов

[-] в) нет различий

Чему будет равен результат вычисления выражения: int d=5; bool b = true, c; c = (!b||(d>3)):

[-] а) Ошибка компилятора

[-] б) false

[+] в) true

Если в арифметическом выражении участвуют целый и вещественный операнды, то:

[-] а) ошибка компиляции

[+] б) целый тип приводится к вещественному

[-] в) вещественный тип приводится к целому

Укажите в каком выражении произойдет потеря точности:

[+] а) int i; float x =
134, y =
14; i = x/y;

[-] б) short i = 0x3; float x =
7, v; v = i + x;

[-] в) float M = 2
2; double Z = 3; Z *= M;

Если после выражения стоит точка с запятой, то:

[-] а) выражение вычисляется, а его значение запоминается в специальной переменной, которую можно использовать в следующем операторе

[+] б) это оператор-выражение, действие которого заключается в вычислении выражения

[-] в) выражение вычисляется только если первой стоит операция присваивания

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

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

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

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

Отметьте истинное высказывание:

[-] а) переменная инициализируется, потом объявляется

[-] б) переменная объявляется, потом инициализируется и изменяется

[+] в) переменная объявляется, потом изменяется

Какие операции поддаются перегрузке:

[+] а) унарные и бинарные

[-] б) только бинарные

[-] в) только унарные

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

[-] а) только символов английского алфавита, цифр и символа подчеркивания

[+] б) из первой половины кодовой таблицы

[+] в) только из алфавита языка C+

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

[+] а) только из алфавита языка C+

[-] б) только символов английского алфавита, цифр и символа подчеркивания

[+] в) от -128 до 127

В переменной типа unsigned char можно хранить число:

[-] а) -213

[+] б) 213

[-] в) 1213

В переменной типа unsigned char можно хранить число:

[-] а) -13

[-] б) 1213

[+] в) 13

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

[-] а) 3

[+] б) 0

[-] в) 1

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

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

[-] б) целой константе можно присвоить целую переменную

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

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

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

[+] б) целой переменной можно присвоить целую константу

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

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

[-] а) false

[-] б) yes

[+] в) true

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

[-] а) sin(abs(0. 6(e*3))

[+] б) ((cos(3*a+
*abs(x))))

[-] в) a*exp(t)(2t)

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

[-] а) a*exp(t)(2t)

[-] б) sin(abs(0. 6(e*3))

[+] в) 0XCC00*. 34E-4/_do/k-2

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

[-] а) 5

[+] б) 16

[-] в) 9

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

[+] а) =

[-] б) ->

[-] в) []

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

[-] а) (-0. 18)*a)/(r-0. 2*t)

[-] б) (-0. 18)*a)(r-0. 2*t))

[+] в) -0. 18*a/r-0. 2*t

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

[+] а) нажатия клавиш TAB или ENTER

[-] б) клавиш курсора

[-] в) пробела или запятой

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

[-] а) пробела или запятой

[+] б) по крайней мере одного пробела

[-] в) клавиш курсора


  • История мировой культуры — тест с ответами
  • Материки и контененты — ответы к тесту
  • История России для 7 класса — тест с ответами
  • Итоговый тест с ответами по истории для 10 класса — тест с ответами
  • Европейский Север — ответы к тесту

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

Порядок выполнения операций

Операция

Приоритет

Вид
операции

not

первый (высший)

унарная

*, /, div, mod, and

второй

бинарная

+, -, or

третий

бинарная

=, <>, <=, >=,
>, <

четвертый (низший)

бинарная

Для
определения старшинства операций
имеются четыре основных правила:

  1. Операнд,
    находящийся между двумя операциями с
    различными приоритетами, связывается
    с операцией, имеющей более высокий
    приоритет.

  2. Операция,
    находящаяся между двумя операциями с
    равными приоритетами, связывается с
    той операцией, которая находится слева.

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

Операции с равным
приоритетом производятся слева направо
с возможным регулированием порядка
выполнения скобками.

Контрольные вопросы и задания

  1. Чему
    равно ODD(15)
    и ODD(26)?
    (ODD(x)
    – вырабатывает результат булевского
    типа: для четного аргумента –FALSE,
    для нечетного – TRUE.)

  1. Чему
    равно SUCC(137)
    и PRED(26)?
    (SUCC(x)
    – вырабатывает следующее целое число,
    т.е. число, на единицу большее x;
    PRED(x)
    –вырабатывает предыдущее целое число,
    т.е. число, на единицу меньшее x.)

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

a)
7. б) –6.1 в) 0.0 г) 9
д) .0Е-2 е) 0.1Е-5

ж) –5.3Е4 з) +2.3Е+3
и) –71 к) 0.31 л) .456 м) 2,1

  1. Чему
    равно?

а)
TRUNC(5.61)
б) TRUNC(-5.61)
в) ROUND(17.16)

г)
ROUND(17.96) д)
ROUND(-17.16) е)
ROUND(-17.96)

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

а)
ODD(17.1)
б) COS(32.1)
в) COS(5)

г)
SIN 0.2 д)
SUCC(3.2) е)
PRED(7)

  1. Чему
    равно?

а)
ORD(CHR(49))
б) CHR(ORD(‘*’))
в) PRED(‘B’)

г)
SUCC(‘B’)

  1. Есть
    ли разница (с точки зрения языка Pascal)
    между числами 100 и 100.0, между 20 и 2Е1? По
    какому признаку (величине или форме
    записи) целые числа отличаются от
    вещественных?

  1. Указать
    неправильные записи чисел:

а) 0006 б) –0
в) 7,0 г) 7. д) +0.3

е)
.3 ж) 2/3 з) Е-1 и)
8Е0 к) 0Е-4 л) 2*Е5 м) е

  1. Записать
    следующие числа без десятичного
    порядка:

а) –0.00027Е+4
б) 555Е-3 в) 1Е1

  1. Вычислить
    значения выражений:

а)
TRUNC(6.9) б)
ROUND(6.9) в)
TRUNC(6.2) г)
ROUND(6.2)

д)
TRUNC(-1.8) е)
ROUND(-1.8) ж)
ROUND(0.5) з)
ROUND(-0.5)

  1. Какие
    из следующих соотношений неправильны:

1) 6.22Е+02 = 622 2)
20Е-03 = 0.02 3) 2347.6Е-03 = 2.34760

4) 0.2Е03 = 2000.0 5)
1200Е+03 = 12000.0

  1. Определить
    тип выражения:

a)
1+ 0.0; b) 20/4; c) sqr(4); d) sqr(5.0);
e) sqrt(16); f) sin(0);

g)
succ(-2); h) trunc(-3.14)

  1. Записать
    на языке PASCAL
    следующие числа ( в дробной части
    указывать до 4 цифр):

a)
5!; b) LXIV; c) 6,38; d) –0,7(4);
e) 11/4; f) –1/6;

g)

;
h)

;
i)

;
j)

;
l) 106;
m) 1/100000.

14.
Чем отличаются следующие выражения и
каков будет результат их выполнения:

1) 10+6*2/2; 2) (10+6)*2/2;
3) (10+6*2)/2; 4) 10+6*(2/2)

  1. Чему
    равен результат выражения:

1) 61>91;
2) 10>-7; 3) 208>175.

  1. Какие
    результаты выполнения выражений
    неправильны:

1)
(3>2) AND (5>6) = TRUE? 2) (60>70) OR
(100<90) = TRUE?

3)
(‘a’<’b’) AND (1>0) = TRUE? 4)
NOT
(30>10) = TRUE?

  1. Какие
    результаты выполнения выражений
    неправильны:

1)
24/12 = 2? 2) 2 div
3 = 1? 3) 11 div
5 = 1? 4) 6*5 = 30?

5)
10 div
3 = 3? 6)
11 mod 5 = 1? 7) 15+21 div 2 = 25? 8) 14 mod (5+3) = 2?

  1. Какие
    из приведенных ниже записей являются
    правильными с точки зрения языка
    Pascal:

а)
‘A’<’C’ б)
‘1’>’9’ в) FALSE<TRUE г)
‘A’<’B’ AND 1<2

д)
0’ OR ‘1’ е)
(D’>’G’) AND (1<2)

  1. Определить
    тип результата следующих выражений:

а)
I*I+J*J+2*K/2; б)
X<Y; в)
SIN(X)+2*COS(Y)+Z; г)
I+SQRT(J), если
известно,
что
I,J,K: INTEGER; X,Y,Z: REAL?

  1. Вычислить
    значения выражений, если А=2,5; В=7,8;
    С=-17,3; М=5; Х=8,7; Е=TRUE:

а)
(A+B)/(C*M; б)
2+X*X/(X+(A+B)/5); в)
(A<B) AND (X+A<B) OR E.

  1. Определите
    значения выражений:

а)
16 div
4*2; б) 16+4*2; в) 1+19 mod
5; г) (1+19) mod
5;

д)
3 div 10+25 mod 5; е)
1+25 div 5 mod 2; ж)
(1+25 div 5) mod 2.

  1. Вычислить
    значения выражений:

а)
not (pred( с ) or (ord( c )=1)) при
c=true;

б)
(p<true)=(q=false) при
p=q=true;

в)
a not b>a or b при
a=false, b=true.

  1. Объясните
    ошибки в следующих записях:

а)
1 and 0; б)
true+false; в)
not 2=5; г)
x>0 or y=4; д)
not not b or or d

  1. Какие
    приоритеты указаны правильно, а какие
    нет:

  1. приоритет
    операции * выше, чем +;

  2. not
    имеет высший приоритет;

  3. приоритет
    операции + выше, чем -;

  4. приоритеты
    операций * и / одинаковы.

  1. Можно
    ли утверждать, что в языке PASCAL
    значение выражения (1/3)*3-1 равно нулю?

  1. Вычислить
    значения выражений:

а)
3*7 div 2 mod 7/3 – trunc(sin(1));

b)
succ(round(5/2) — pred(3))

  1. Указать
    порядок выполнения операций в выражении:
    -a
    mod
    b
    + a
    div
    b*c.

  1. Указать
    порядок выполнения операций при
    вычислении выражения:

    1. a
      and b or not c and d;

    2. (x>=0)
      or t and odd(x) or (y*y<>4)

  1. Вычислить
    следующие выражения при a=true
    и b=false:

a)
a or b and not a; b) (a or b) and not a; c) not a
and b; d) not (a and b)

30.
Вычислить:
a) true or (1/0>0); b) (1/0>0)
or true

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

1) 259 6) ‘ \ \ \ ‘
11) *

2) 0,01 7) $FFHO
12) «1»

3)
‘ф’
8) 0.008Е-12.3
13) ‘ab’ ‘ba’

4)
1.2*el
9) 7.2e+3
14) ^С

5) $ЕЕЕ 10) ‘ $ ‘
15) ‘вася’

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

1) byte;

2) word;

3) shortint;

4)
integer;

  1. real.

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

1) 13;

2) 213;

3) -13;

4) -213;

5) 1213.

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

1)
Под величину типа boolean
отводится 1 бит.

2)
Величины типа boolean
могут принимать
только значения
0 и 1.

3)
false
< true.

4)
К величинам типа boolean
применимы операции not
и and.

5)
Величины типа boolean
можно складывать друг с другом.

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

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

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

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

4) В одном выражении
можно использовать операнды вещественного
и целого типов.

5)
Результат всех стандартных функций с
аргументом вещественного типа —
вещественный.

36. Чему равно числовое
значение приведенного ниже выражения
при е = 4, а = З?

е
+ sqrt(e)
* 1e1
/ 2 * а

37.
Чему равно значение выражения (a
and
not
b
or
с), где а, b и с — величины типа boolean,
имеющие значения true,
false
и false
соответственно?

38.
Укажите допустимые способы записи
выражения

1) 1.6E-4 * x / k / (a+b)

2)
(1.6e-4 * x)
/
(k * (a+b))

3)
1.6E(-4) * x / k * (a+b)

4)
1.6 * 0.0001* x / (k * (a+b))

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

1)
s1n(abs(0.6e3 * y_t))

2)
a d1v b
/
с
*
mod

3)
$EF01*1.34E-02 /_i7_17

4)
1_2i

exp(y)
/ 2 *
t

5)
cos(3
* x)
+ 0.2

  1. Как
    описывается тип величины в языке TURBO
    PASCAL?

  2. Для
    чего используется указание типа данных
    величины?

  3. Какие
    типы данных относятся к скалярным
    типам данных?

  4. Чем
    отличаются вещественные числа от
    целых?

  5. Где
    применяется булевский тип данных,
    какие он принимает значения?

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

  7. Что
    такое выражение, операция, операнд?
    Какие операции в языке Pascal
    вы знаете?

  8. Какие
    операции называются операциями
    отношения? В чем заключаются особенности
    результата операций отношения?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Понравилась статья? Поделить с друзьями:

Интересное по теме:

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

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: