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




 

1. Сколько раз будет выведено на экран значение переменной i в соответствии с приведенным фрагментом программы?

for (int i=0; i<=10; i++) cout << ++i << endl;

2. Функция f определена следующим образом:

void f(int &a, int b, const int * c) {a++; b++; c--;}

Необходимо определить значения переменных X, Y и Z после выполнения операторов:

int X=0, Y=1, Z=2;

f(X, Y, &Z);

 

3. Укажите, что выполняется в приведенном фрагменте кода:

int *p1 = new int(5); //1

int *p2 = new int[5]; //2

int *p3 = new int; //3

4. Чему будет равно значение переменных b, c, d после выполнения программы?

#include <iostream>

using namespace std;

int sum(int a=4, int b=5);

 

int main(){

int a = 2, b = 3, c, d;

c = sum(a, b);

cin >> b; // ввод b=10

d = sum(b);

b = sum();

cout<<b<<" "<<c<<" "<<d<<endl;

return 0;

}

int sum(int a, int b){

return a+b;

}

 

 

5. Классический пример рекурсивного вызова функции – вычисление факториала

char factorial(int n)

{

if (n==0)

return 1;

return n*factorial(n-1);

}

...

int k=factorial(6);

Какое значение будет возвращено при вызове функции factorial(6) и сколько раз будет выполнена функция factorial в этом случае?

 

6. Чему будет равно значение переменной k после выполнения операторов

int k, a=4, b=5;

if (a=b)

k=1;

else

k=0;

7. Что произойдет в результате вызова следующей функции?

void func()

{

int a = 1, b = 66, c;

if(b > 50) {

int c = b - a; // (1)

}

cout << c << endl; // (2)

}

8. В теле функции может быть указан оператор {... return 1;}, если она возвращает значение типа:

9. Сколько указателей объявляется в следующей строчке:

int * x1, x2, x3.

10. Какие ограничения действуют при перегрузке функций?

11. Какие данные в С/С++ относятся к целочисленным типам?

12. Какой из перечисленных вариантов отображает правильно записанный оператор if?

13. Как записать логическую операцию И?

14. Укажите правильную форму записи цикла do while.

 

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

#include <iostream>

using namespace std;

int main()

{

for (int i = 0; i < 4; ++i)

{

switch (i)

{

case 0: cout << "0";

case 1: cout << "1"; continue;

case 2: cout << "2"; break;

default: cout << "D"; break;

}

cout << ".";

}

return 0;

}

 

16. Почему приведение типов данных может быть не безопасно?

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

cout << 34 / 7 * 2;?

18. Что будет выведено на экран после выполнения оператора: cout << (4 << 2);?

19. Каков будет результат вычисления выражения

!(1 &&!(0 || 1) && (!false || false))?

20. В каком случае можно не использовать фигурные скобки в операторе if?

21. Укажите правильное объявление указателя в С/C++.

22. Дайте определение массива.

23. Как указать операцию взятия адреса?

24. Объявлена переменная char ch;. Как присвоить ей значение символа «7»?

25. Приведите примеры записи выделения динамической памяти?

26. Как правильно освободить память, зарезервированную под динамический массив arr с помощью операции new? int * arr =new int [10];

 

27. Как в программе указать статическую строку?

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

29. Какой заголовочный файл содержит инструкции файлового ввода/вывода?

30. Какой класс обрабатывает процесс записи в файл?

31. Какой тип возвращаемого значения у следующей функции:

double *func(double x, int y, float z);?

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

#include <iostream>

using namespace std;

int foo(int x);

int foo(int y)

{

return x - 1;

}

 

int main()

{

int x = 3;

int y = 4;

 

cout << foo(x) << endl;

 

return 0;

}

 

33. Что не является прототипом функции?

34. Пусть в программе заданы две целочисленные переменные

int a=0x29;

int b=0x14;

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

cout << ((a | b) >> 2)?

35. Пусть имеется динамически выделенный массив из 10 элементов:

float **arr = new float*[10];

Необходимо значение arr[5] поместить в переменную. Какой будет тип у этой переменной?

36. Эквивалентен ли вывод на экран в следующих строках программы:

cout << 5 / 2 << endl;

cout << 5 / 2.0 << endl;

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

#include <iostream>

using namespace std;

 

int main()

{

int a = 3;

 

if (a) // a == 1

cout << "1" << endl;

else

if (a << 1) // a == 2

cout << "2" << endl;

else

if (a << 1) // a == 3

cout << "3" << endl;

else // a == 4

cout << "4" << endl;

return 0;

}

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

char str[] = "123456789";

str[5] = 0;

cout << str << endl;

39. Пусть имеется следующий фрагмент программы:

int a = 5;

int m[5]={5, 2, 3, 4};

int* b = m;

a++; b++;

cout << a << " " << *b << endl;

 

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

40. Чему будет равно значение переменной "а" после выполнения следующего фрагмента программы?

int a = 5;

for (int i = 4; i; i--)

{

if (i > 2 && i < 4) continue;

a++;

}

 

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

unsigned short a = 15;

unsigned short b = 0xF;

 

if (a &!b)

cout << "1" << endl;

else

cout << "2" << endl;

 

42. Чему будет равно значение переменной "а" после выполнения следующих операторов?

float a = 0.1;

for (int i = 0; i < 1000; i++)

a += 0.1;

 

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

44. Каково назначение символа " % " в С/C++?

45. Какое значение имеет переменная "x" после выполнения приведенного фрагмента программы?

int x;

47. Имеется функция, принимающая в качестве аргумента двумерный массив:

void foo(int** arr)

{

int* ptr = arr[3];

}

На что указывает указатель ptr?

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

 

int x = 22;

cout << x % 5 << endl;

49. Что произойдет, если в программу добавить следующий оператор?

for(;;);

50. Сколько раз выполнится цикл в приведенном фрагменте программы?

for(int x = 0; x = 3; x++);

51. Чему будет равно значение переменной result после выполнения следующего фрагмента программы:

int array[10]={1,2,3,4,5,6,7,8,9,0};

int* a = array;

int* b = &array[9];

int result = b - a;

52. Что означает следующее объявление?

typedef int (* A)();

53. Перечислите допустимые идентификаторы в С/С++

54. Если объявлен массив

int A[4] = { 1, 3 };

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

int c = ++A[1] + A[2]++; // (1)

c += A[2]; // (2)

54. Укажите корректный прототип для следующей функции

int sum(int a, int b) {return a + b;}

 

55. Выберите правильное объявление функции, которой в качестве параметра должен передаваться следующий массив: int Array[10][20].

56. Какая функция открывает файл, объявленный следующим образом: FILE* f?

 

57. В директории с исполняемым файлом программы, исходный код которой, представлен ниже, находится только один текстовый файл - file1.txt.

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

 

#include <iostream>

#include <stdio.h>

using namespace std;

 

int main()

{
FILE* file1, *file2, *file3;

file1 = fopen("file1.txt", "r");
if (file1 == NULL)
cout << "1";

file2 = fopen("file2.txt", "r");
if (file2 == NULL)
cout << "2";

file3 = fopen("file3.txt", "w");
if (file3 == NULL)
cout << "3";

return 0;

}

58. В директории с программой имеется файл file.txt со следующим содержанием: one two three four five.

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

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

ifstream file("file.txt", ios::in);

char buff[10];

file >> buff;

cout << buff;

file.close();

return 0;

}

 

59. Что будет записано в файл file.txt после выполнения программы:

#include <iostream>

#include <fstream>

using namespace std;

int main()

{

ofstream fout("file.txt", ios_base::out);

for (int i = 0; i < 3; i++)

fout << i;

return 0;

}

 

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

#include <iostream>

using namespace std;

int main()

{

struct ST

{

int a;

short b;

};

 

ST st1;

ST st2;

 

st1.a = 20;

st1.b = 4;

 

st2.a = 50;

st2.b = 2;

 

if(sizeof(st1) == sizeof(st2))

cout << "equal!" << endl;

else

cout << "not equal!" << endl;

 

return 0;

}

 

 

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

62. Дайте определение линейному алгоритму.

63. Функция memcpy (прототип: void *memcpy(void *dest, const void *src, size_t n);) копирует n байт из памяти по адресу src в память с адресом dest

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

 

#include <iostream>

#include <string.h>

 

using namespace std;

 

int main()

{

struct ST

{

unsigned short a;

unsigned short b;

};

ST* st = new ST;

unsigned short* v = new unsigned short;

 

st->a = 0xAABB;

st->b = 0xCCDD;

 

memcpy(v, st, sizeof(unsigned short));

 

cout << hex << *v << endl;

 

delete st;

delete v;

 

return 0;

}

 

64. Известно, что байты какой-либо переменной в оперативной памяти располагаются от младшего к старшему. Например, переменная
unsigned int x = 0x00112233 в памяти будет размещаться как 33221100.
Что будет выведено на экран после выполнения следующей программы:

 

#include <iostream>

 

using namespace std;

 

int main()

{

struct ST

{

unsigned short a;

unsigned short b;

};

 

ST* st = new ST;

unsigned char* c;

 

st->a = 0x3377;

st->b = 0x5599;

 

c = (unsigned char*)st;

c = c + 2;

 

cout << hex << (unsigned int)*c << endl;

 

delete st;

 

return 0;

}

 

 

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

 

#include <iostream>

using namespace std;

 

int main()

{

struct ST

{

int a;

int b;

};

 

ST st1;

ST st2;

 

st1.a = 124;

st1.b = 355;

 

st2 = st1;

cout << st2.a << ' ' << st2.b << endl;

return 0;

}

 

 

66. Дайте правильное определение алгоритма.

67. Дайте определение структурного программирования.

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

 

#include <iostream>

 

using namespace std;

 

int main()

{

int a = 5;

 

if (a < 10)

goto label1;

else

goto label2;

 

cout << 1;

return 0;

 

label1:

cout << 2;

label2:

cout << 3;

return 0;

}

 

69. Будет ли работать следующая программа?

 

#include <iostream>

 

using namespace std;

 

struct ST

{

int a;

int b;

};

 

ST* f()

{

ST* st = new ST;

st->a = 5;

st->b = 10;

return st;

}

 

int main()

{

ST* s = f();

 

cout << s->a << ' ' << s-> b;

 

delete s;

 

return 0;

}



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: