Язык программирования C++



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

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

#include <iostream.h>int main() {     int 1_i ;     for( 1_i = 0; 1_i < 9; 1_i++)     cout << 1_i +1;     return 1;}

  • цифры от 0 до 8
  • (Правильный ответ) программа не будет построена из-за ошибок
  • цифры от 1 до 9

Существует файл «test.dat» в котором записано «Hello World».Каково будет содержимое файла после выполнения кода:

ofstream outfile(«»c:\\test.dat»»); if (!outfile) { cout << «»Ошибка создания файла»»; return 1; } outfile << «»!!!»» << endl; outfile.close();

  • (Правильный ответ) !!!
  • Hello World!!!
  • Hello World

Вызовет ли данный код ошибку компиляции?

class Rectangle{ public: int a,b; int sum(); int square(); ~rect(); };

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

Для того чтобы вывести символ новой строки, надо:

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

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

class A {public:     int y;     int inc(int x) { return ++y; };     int inc(short x) { return x + y; };};A obj; int y = 5; obj.y = 6;cout << obj.inc(y);

  • 11
  • ошибка компиляции
  • 6
  • (Правильный ответ) 7

В каком случае описание класса верно?

1. class A{ public: int x; int summ(int a){return x+a;}};2. class my_cl{ public: int f; int summ(int a){return x+a;}};3. class B{ public: int F; void Ch_F(int x) { F=x; return F; }};

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

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

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

Что выведет программа в стандартный поток вывода?

class A{ public : int a, b; protected : int z; private : short id; } A1;class B : protected A{ public : short t; void ff(short a) { id = ++a; }} B1;int main(){ B1.ff(20); cout << B1.id;}

  • 20
  • 0
  • 21
  • (Правильный ответ) ошибка

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

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

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

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

Укажите все ключевые слова в приведенном примере?

int calc(int a, int b, bool f) { if (f==1) return a+b; else return a*b; }

  • (Правильный ответ) int,bool,if,else,return
  • int,calc,bool,return,if,else
  • int,if,else,return

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

A a1,a2,a3=5;a3 = a1 – a2;

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

Шаблон A и его специализации объявлены следующим образом:

template <class T> class A{ public: A(){ printf(«»1 «»);}};template <> class A<int>{ public: A(){ printf(«»2 «»);}};template <> class A<char*>{ public: A(){ printf(«»3 «»);}};

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

A<int> a;A<char> a1;A<long> a2;

  • ошибка компиляции в строке «template <> class A<int>»
  • 2 3 1
  • 1 1 1
  • (Правильный ответ) 2 1 1

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

int m = 5; namespace space1 { int x1 = 1; namespace space2 { int x1 = 3 + ::m + space1::x1; } } int main() { int x3 = space1::space2::x1 * 2; { int x3 = 20; } cout << x3; return 0; }

  • (Правильный ответ) 18
  • 20
  • ошибка компиляции
  • 4

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

  • enum { a, b = 3, c = 4, 3 };
  • (Правильный ответ) enum {a, b = 3, c, d };
  • enum { a, b, 3, 4 };

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

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

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

  • (Правильный ответ) true
  • Ошибка компилятора
  • false

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

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

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

int f1(int x1, int &x2) { return ++x1 + (++x2); } int main() { int a = 7, k = 1; k = f1(a, k); cout << a << «» «» << k; }

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

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

#include <iostream.h>short x = 4, i = 0;void fun1(){ double p=2; if (!i) throw p; }void fun2(){ —x; fun1(); x++; }int main(){ try { fun2(); } catch (double) { cout << «»Exception «»; } cout << x << «» «» << i; }

  • (Правильный ответ) Exception 3 0
  • Ошибка компиляции
  • Exception
  • 4 0

Для чего предназначен фрагмент текста из заголовочного файла:

//Пример файла test.h#ifndef TEST#define TEST//прочие строки кода#endif

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

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

  • (Правильный ответ) int i; float x = 2.134, y = 3.14; i = x/y;
  • float M = 235.2; double Z = 3; Z *= M;
  • short i = 0x3; float x = 2.7, v; v = i + x;

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

const char* str1 = «»hello»»; char* str2 = const_cast ( char* ) str1; cout << str2;

  • hellohello
  • h
  • (Правильный ответ) ошибка компиляции
  • hello

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

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

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

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

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

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

Какой правильный вариант описания шаблона семейства классов?

  • template {class T}class Array{. . . }
  • (Правильный ответ)
    template <class T>class Array{. . . };
  • template (class T)class Array{. . . };

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

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

В каком случае программа выведет строку на консоль

  • #include <iostream.h>using namespace std;void main(){ cout < «»Hello, world!»» < endl; return;}
  • (Правильный ответ)
    #include <iostream.h>using namespace std;int main(){ cout << «»Hello, world!»» << endl; return 1;}
  • #include <iostream.h>using namespace std;void main(){ cout >> «»Hello, world!»» >> endl; return;}

Если в программе уже имеется функция с прототипом int func(int k, double f), то какое из следующих объявлений не вызовет ошибки компиляции?

  • void func(int m, double g = 3.14)
  • (Правильный ответ) int func(double x, int y)
  • double func(int m, double g)

С помощью какого метода можно изменить текущую позицию в файле?

  • open
  • put
  • (Правильный ответ) seekp

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

int main() { try { try { try { throw 1; } catch (int) { cout << «»Exception 1″»; } } catch (int) { cout << «»Exception 2″»; } } catch (int){ cout << «»Exception 3″»; } return 0; }

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

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

  • (Правильный ответ) Base::FunctionName();
  • FunctionName();
  • Base.FunctionName();
  • такую функцию вызывать нельзя.

Отметьте истинное высказывание, если вызываются подряд несколько функций:

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

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

char x[] = «»Hello, world»»; char* p = x; p += 4; cout << *p;

  • Hello, world
  • o, world
  • (Правильный ответ) o

Функция объявлена как friend класса. Отметьте верное.

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

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

int m = 1, n=2; double A = (double)m/n; cout << A;

  • 0
  • 1
  • ошибка компиляции
  • (Правильный ответ) 0.5

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

…vector <int> IntVector;//объект класса вектор/*запись значений в IntVector*/int d=IntVector[0];… }

  • (Правильный ответ) если оператор [] переопределен соответствующим образом
  • если существует элемент IntVector[0]
  • ничего, так как эта запись ошибочна

Процесс компиляции программы

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

Какой массив имеет самый большой размер?

char *s1= «»QWERTY»»;char s2[7]= «»qwerty»»;char *s3= «»127*27″»;

  • s3
  • s1
  • (Правильный ответ) Все массивы имеют одинаковый размер
  • s2

Существует файл «c:\test.dat» в котором записано «Hello World».Каково будет содержимое файла после выполнения кода:

ofstream outfile(«»c:\\test.dat»»,ios::in); if (!outfile) { cout << «»Ошибка создания файла»»; return 1; } outfile << «»!!!»»; outfile.close();

  • (Правильный ответ) !!!lo World
  • Hello World!!!
  • !!!

Является ли x переменной или константой?

y = 12 + x;

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

Что описывает данная строка программы: float mas=new int[3][2]?

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

Может ли нестатический метод иметь доступ к статическим методам и атрибутам?

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

Отметьте все утверждения, которые считаете верными:

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

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

float *thingPtr = new float (3.14159)

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

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

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

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

template <class T> class A { public : T x1; T x2; T func(T x3) { x3 += x1 + x2; return x3; } }; int main() { A <int> A1; A1.x1 = 3; A1.x2 = 10; cout << A1.func(1); …. }

  • (Правильный ответ) 14
  • 11
  • 10
  • ошибка компиляции

Чему равно значение выражения !((1 || 0) && 0) ?

  • ошибка компиляции
  • 0
  • (Правильный ответ) 1

Может ли статический метод класса быть объявлен как friend?

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

Если int n=3, какой будет результат ?

switch(n) {case 2: cout << «»ааа»»; break;case 3: cout << «»ббб»»; break;default: cout << «»ввв»»; break; }

  • ошибка компилятора
  • ввв
  • ааа
  • (Правильный ответ) ббб
  • неопределенное поведение

С помощью механизма friend можно разрешить обращение к внутренним элементам класса:

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

Что вычисляет эта функция:

double func(double x, int n) {      if (n == 0) return 1;      if (x == 0) return 0;      if (n > 0) return x * func(x, n-1);      if (n < 0) return func(x, n+1) / x; }

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

Укажите какому классу принадлежит атрибут Z1

class t { public: double sum::Z1;} C; class sum { public: double t::Z1;} D;

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

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

int a=3;if (a>1) cout << «»1″»;else if(a>2) cout << «»2″»;else if(a>3) cout << «»3″»;

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

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

#include <iostream.h>short x = 4, i = 0;void fun1(){ if (i == 0) throw 2; }int fun2(){ —x; fun1(); x++; return x; }int main(){ try { fun2(); } catch (int) { cout << «»Exception «»; } cout << x << «» «» << i; }

  • ошибка компиляции
  • Exception 4 0
  • Exception
  • (Правильный ответ) Exception 3 0

Если функция вычисления факториала n имеет прототип int fact(int n), отметьте код, использующий рекурсию и правильно вычисляющий значение факториала:

  • (Правильный ответ)
    {if (n == 0 || n==1) return 1; else return n * fact (n -1);}
  • {if (n == 0 || n==1) return 1; else return fact(n)*(n-1);}
  • {if (n == 0 || n==1) return 1; else return fact(n) * fact(n-1);}
  • {if (n == 0 || n==1) return 1; else return fact(n);}

В каком случае компилятор выдаст ошибку:

  • (Правильный ответ) int int iCeloe;
  • bool LD1LW;
  • (Правильный ответ) const float fL = 32; float e23 = 1; fL = e23;

Известно, что в классе A определен один публичный конструктор A(int);. Выберите из предложенных выражений компилируемые:

  • A *a(4);
  • A a;
  • (Правильный ответ) A *a = new A(4);
  • (Правильный ответ) A a(4);

Определите размер структуры

struct {char fio[30];unsigned char date:4;unsigned char code:4;};

  • 9 байт
  • (Правильный ответ) 31 байт
  • 38 байт
  • 39 байт

Укажите правильный идентификатор для имени переменной:

  • FA_Ф12
  • int
  • 2a
  • (Правильный ответ) _ri18

Если есть два объявления int qwerty; int QWERTY; какое из
утверждений верно

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

Какой статус международного стандарта языка Си++?

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

Битовой операцией является

  • (Правильный ответ) &
  • ||
  • +
  • !=
  • =

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

int main() { try { try { try{ throw 1; } catch (float) { cout << «»Exception 1″»; } } catch (int){ cout << «»Exception 2″»; } } catch (int){ cout << «»Exception 3″»; } return 0; }

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

Какое из следующих объявлений является объявлением неизменяемого указателя?

  • (Правильный ответ) int* const ptr;
  • const int* ptr;
  • int * ptr const;
  • int const* ptr;

Допустима ли следующая конструкция?

class A {     int x;     int f(const A& a)      {            x = 0;           x += a.x;            return x;      } };

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

Будет ли вызываться конструктор, если в программе встретится следующaя конструкция:

monstr Super(200, 300), Vasia(50), Z;monstr X = monstr(1000);monstr Y = 500;

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

Что понимается под потоком в языке C++

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

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

int a[4] = { 1,2,3,4}; int* p = a; cout << (*p+2) + *p;

  • (Правильный ответ) 4
  • 6
  • 10
  • адрес памяти

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

#include <iostream.h>short x = 4, i = 0;void fun1(){ if (i == 5) throw 2; }void fun2(){ —x; fun1(); x++; }int main(){ try { fun2(); } catch (int) { cout << «»Exception «»; } cout << x << «» «» << i;}

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

Могут ли контексты быть вложенными?

  • могут, при определенных условиях
  • не могут
  • (Правильный ответ) могут

Что будет на экране после выполнения данного кода

{ int ar[4]; ar[0]=1; ar[1]=2; ar[2]=3; ar[3]=4; for (int i = 0; i<=4; i++) cout << ar[i]; }

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

Чему равен результат вычисления выражения

b – x * 3 + b

при x = 12 и b = 8 ?

  • -4
  • (Правильный ответ) -20
  • -124

Если имеется код

class A { public: int a; };A obj;

как обратиться к переменной a?

  • (Правильный ответ) obj.a
  • obj-a
  • obj::a

В каких выражениях правильно определен метод класса Ping?

class Ping { public: float f, d; int a; void MathFunc(double D);};

  • Ping::MathFunc(double D) {f = D;}
  • (Правильный ответ) void Ping::MathFunc(double D) {this->f = D;}
  • (Правильный ответ) void Ping::MathFunc(double D) {f = D;}

В чем заключается принцип полиморфизма?

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

Какие бывают конструкторы?

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

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

int *a; int b[2]; a = b; b[0] = 7; b[1] = 10; *a++; cout << *a;

  • (Правильный ответ) 10
  • 7
  • 8
  • 11

Что является результатом компоновки программы?

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

Если имеется объявление char ch1=’a’,ch2=’b’,ch3=’c’;
допустима ли запись ch1=ch2+ch3;

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

Если объявлен тип

struct Value {double tt; //Размер переменной типа double 64 битаunion number { short sx; // Размер переменной типа short 16 битов long lx; // Размер переменной типа long 32 бита double dx; // Размер переменной типа double 64 бита } val;};

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

  • 176
  • (Правильный ответ) 16
  • 28
  • 8

Если функция вычисления суммы целых чисел от 1 до n имеет прототип int sum(int n), запишите определение функции, используя рекурсию:

  • (Правильный ответ)
    {if (n == 1) return 1; else return n + sum (n – 1);}
  • {if (n == 1) return 1; else return sum(n);}
  • {if (n == 1) return 1; else return sum(n) + sum (n-1);}
  • {if (n == 1) return 1; else return sum(n) + (n – 1);}

Что происходит при попытке выполнить оператор return внутри блока catch?

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

Чему равен результат вычисления выражения

x + 3 * b + x

при x = 12 и b = 8 ?

  • 132
  • 300
  • (Правильный ответ) 48

Что выполняет операция «delete [] v;» в данном ниже коде:

class MyClass { int sz; // число элементов int * v; // указатель на целые public: MyClass ( int ); ~MyClass (); int&operator [] ( int index ); // операция индексации };…MyClass::~ MyClass() { delete [] v; }

  • удаляет последний элемент из массива «v»
  • (Правильный ответ) удаляет весь массив «v», освобождая память
  • удаляет указатель на массив «v» из памяти
  • удаляет первый элемент из массива «v»

Е