Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Контрольные вопросы к экзамену

.pdf
Скачиваний:
30
Добавлен:
10.08.2019
Размер:
99.3 Кб
Скачать

vk.com/club152685050

Контрольные вопросы к экзамену дисциплины «Основы программирования»

1.Дано трёхзначное число . Напишите оператор присваивания, который в переменную сохранит сумму цифр числа . Пример: .

2.Записать логическое выражение, истинное при выполнении и ложное при невыполнении условия: уравнение не имеет вещественных корней.

3.Чему равняется результат вычисления выражения в десятичной системе счисления?

4.Чему равняется значение переменной типа после выполнения оператора: ?

5.Чему равняется значение переменной типа после выполнения оператора: ?

6.Записать последовательность операторов для обмена значениями переменных , и так, чтобы выполнялось .

7.Записать последовательность операторов, присваивающих логической переменной значение или в зависимости от того, является заданное натуральное число степенью 3 или нет.

8.Сколько раз будет выведено значение переменной ?

for (char i=0; i<=1000; i++) cout << i << endl;

9. Сколько раз будет выведено значение переменной ?

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

10. Сколько раз будет выведено значение переменной ?

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

11. Чему равняется значение переменной

?

a=4;

 

b=5;

 

if (a=b)

 

k=1;

 

else

 

k=0;

 

12. Чему равняется значение переменной

?

char c = 1000;

 

13. Чему равняется значение переменной

после выполнения цикла?

int s;

 

for (int i=1; i<=10; i++)

 

s += i;

 

14. Чему равняется значение переменной

после выполнения следующих операторов?

s=1;

 

a=7;

 

b=10;

 

if (a>b);

 

s++;

 

15. Чему равняется значение переменной

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

i=2;

 

k=i+++i+++i;

 

16. Какое число будет отображено пользователю на экране?

for (int i=0; i<5; i++); cout << i;

17. Сколько раз будет выполнена эта функция?

int fibo(int n)

{

if (n <= 1) return n;

return fibo(n-1) + fibo(n-2);

}

vk.com/club152685050

int main()

{

cout << fibo(3); return 0;

}

18. Сколько звёздочек выведет следующий фрагмент?

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

cout << '*';

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

i=5;

s=i^i|i+i;

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

char str[]="golova"; int k=0;

for (int i=0; i<6; i++) if (str[i]='o')

k++;

cout << k;

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

printf("%05i", 12);

22.Что возвращает функция main?

23.Какое значение возвратит вызов функции factorial(6)?

char factorial(int n)

{

if (n==0) return 1;

return n*factorial(n-1);

}

int main()

{

int k=factorial(6); cout << k;

return 0;

}

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

int k=2^2;

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

int k=0x22;

26.В чём различие между указателем и ссылкой?

27.Что произойдёт при обращении к несуществующему элементу массива в C/C++?

28.Какая ошибка скрыта в следующем фрагменте кода?

int* p=new int[10]; delete p;

29. Какая ошибка скрыта в следующем фрагменте кода?

int* p=new int[10]; p=new int[20];

30. Какая ошибка скрыта в следующем фрагменте кода?

int* p=new int[10]; delete [] p;

delete [] p;

31.Что произойдёт при разыменовании неинициализированного указателя?

32.Для чего используются прототипы функций?

33.Что такое инициализация? Чем инициализация отличается от присваивания?

34.Что произойдёт, если при выделении памяти требовалось больше, чем доступно?

35.Что такое «короткое замыкание» при вычислении логических условий с использованием && и || ?

36.Что такое неоднозначность условного оператора?

37.Можно ли записать цикл for следующим образом:

for (;;)

{

}

vk.com/club152685050

38. Чем отличаются операции ! и ~?

39. Что делает операция ~?

40. Что делает оператор ?: ?

41. Как заполнить массив случайными значениями целых чисел от 5 до 10?

42. Как заполнить массив случайными значениями вещественных чисел от 5 до 10? 43. Что вернёт sizeof?

int m[10];

cout << sizeof(m);

44.В чём разница между ++k и k++?

45.Почему не следует использовать оператор goto?

46.Как создать и использовать указатель на функцию?

47.Что делает директива #include?

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

49.Какая разница между типами char* и char[]?

50.В чём разница между типами const char* и char const*?

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

double a = 0.3, b = 5.1; if (5.4 == a + b)

cout << "равно"; else

cout << "не равно";

52.Что такое косвенная рекурсия?

53.Определить значения переменных и после выполнения операторов:

int X=0, Y=1; func(X,Y);

если функция func определена следующим образом:

void func(int &a,int b) {a++; b++}

54. Найти ошибки во фрагменте программы:

int A[10], B[10], *C; for(i=1;i<=10;i++) {cin>>A[i];

cin>>B[i];

}

for (i=1;i<=10;i++) C[i]=A[i]+B[i];

55. Что выведет следующий фрагмент программы?

double k = 1/4; cout << k*10;

56. Что выведет следующий фрагмент программы?

double k = 3,1415; cout << k*10;

57. Что выведет следующий фрагмент программы?

cout << '1'+'2' << endl;

58. Что выведет следующий фрагмент программы?

cout << (1<<2+3&4) << endl;

59.В каких конструкциях можно использовать оператор ?

60.В каких конструкциях можно использовать оператор ?

61.Допустимо ли использование следующего оператора присваивания?

int a, b, c; a = b = c = 5;

62. Какой ответ выдаст программа:

float x=10; cout << x%3;

63. Что не так?

int

a

= 3;

int

b

= 5;

c =

a;

a

=

b;

b

=

c;

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

vk.com/club152685050

64.Записать оператор присваивания переменной значения , если заданное натуральное число делится нацело на заданное натуральное число , и значения в противном случае.

65.Записать условный оператор, который эквивалентен оператору присваивания и в

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

66.Записать оператор присваивания, эквивалентный условному оператору:

где все переменные - логического типа.

67.Записать оператор присваивания переменной значение , если значением заданной символьной переменной является символ-цифра.

68.Записать оператор присваивания переменной значение true, если значением заданной символьной переменной является символ-цифра.

69.Записать последовательность операторов для вывода на экран букв двух заданных строк в алфавитном порядке.

70.Записать последовательность операторов, которые для заданного натурального выводят на экран все числа от до .

71.Записать последовательность операторов для присваивания переменной значения

, если заданная строка цифр является десятичной записью числа, кратного 5.

72.Записать последовательность операторов для присваивания переменной значения , если в заданном массиве нет нулевых элементов, и – в противном случае.

73.В чём разница:

int i=0; while (i<10) cout << i++;

и

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

74. Эквиваленты ли следубщие выражения?

int x=1234567; x/=60*60; x=x/60*60;

75. В чём разница?

duration = -duration; duration =- duration; duration -= duration;

76. В чём разница:

int *p = new int(5); int *p = new int[5];

77.Сколько памяти выделяет new[] и для чего это нужно?

78.Допустимы ли следующие операторы и почему?

int x = 5; int y = ---x;

79. В каком порядке будут вызваны функции и почему?

int x = f1() + f2();

80. Сколько указателей объявляется и почему?

int* x1, x2;

81.С помощью поразрядных операций определить знак целого числа типа int (с 0 сравнивать число нельзя). Вывести 0, если число больше 0 и 1, если число меньше 0)

82.Дано целое число типа short. Определить, является число четным или нечетным

vk.com/club152685050

 

 

83. Вывести на экран заглавные буквы латинского алфавита и их коды в десятичной,

шестнадцатеричной и восьмеричной системе счисления.

A

65

41

101

B

66

42

102

...

 

 

 

84.Дано число х типа unsined short. Поменять местами старший и младший байты числа. Ввод-вывод осуществляется в шестнадцатеричной системе счисления (Например: A18F - > 8FA1)

85.Для числа n, вводимого с клавиатуры (1<=n<=10)

представить все варианты числа в виде двух слагаемых n=5

05

14

23

3 2

41

5 0

86.В С нет операции "исключающее или". Написать функцию XOR c помощью имеющихся логических операторов

87.Написать программу, которая реализует простейший калькулятор на 4 действия. Программа должна возвращать корректный результат в случае, когда выполняется деление на ноль, и вводится неизвестный знак операции. Например, для введенных значений 5 9.1 + результатом будет: 5 + 9.1 = 14.1

88.