игра брюс 2048
Главная / Программирование / Язык программирования C++ / Тест 8

Язык программирования C++ - тест 8

Упражнение 1:
Номер 1
Если в массиве A 132 элемента, каким будет правильное обращение к последнему элементу массива?

Ответ:

 (1) A[132] 

 (2) A[131] 

 (3) A[133] 

 (4) A[-1] 


Номер 2
Если имеется объявление int a[15], какой фрагмент кода выводит все элементы массива?

Ответ:

 (1) for (int k = 0; k <= 15; k++) cout << a[k]; 

 (2) for (int k = 1; k < 16; k++) cout << a[k]; 

 (3) for (int k = 0; k < 15; k++) cout << a[k]; 


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

{ 
  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];
  
} 
 

Ответ:

 (1) 1234 

 (2) код не выполнится из-за ошибки компиляции 

 (3) 1234 и случайное число 

 (4) результат невозможно предсказать 


Номер 4
Двумерный массив Ar представленный в виде матрицы имеет вид
 _         _
|  1  2  3  |
|  5  6  7  |
|_ 9  1  2 _|


Что будет на экране в результате выполнения кода
int flag=7; 
for (int i = 0; i<3; i++) {
if (flag)
     cout << Ar[1][i];
else
cout << "Error";
} 
 
 

Ответ:

 (1) 159 

 (2) код не выполнится из-за ошибки компиляции 

 (3) 567 

 (4) Error 


Упражнение 2:
Номер 1
 Что описывает данный программный код?
 
struct {
char fio[30];
int date, code;
double salary;
}staff[100], *ps;
 
 

Ответ:

 (1) определение массива структур и указателя на структуру 

 (2) копирование строки salary в строку staff 

 (3) создание указателя на строку date 

 (4) создание итератора с указателем на строку date 


Номер 2
Определите размер структуры
struct {
char fio[30];
unsigned char date:4;
unsigned char code:4;
};

 

Ответ:

 (1) 9 байт 

 (2) 38 байт 

 (3) 31 байт 

 (4) 39 байт 


Номер 3
Если объявлен тип
   struct Value {
double tt; //Размер переменной типа double 64 бита
union number {
      short sx;  // Размер переменной типа short 16 битов
      long lx;  // Размер переменной типа long 32 бита
      double dx;  // Размер переменной типа double 64 бита
   } val;
};
сколько байтов занимает один объект такого типа? 

Ответ:

 (1)

 (2) 16 

 (3) 28 

 (4) 176 


Упражнение 3:
Номер 1
Какой результат следующего выражения ?
 int* a; int b; a = &b; b = 7; *a++; cout << b;

Ответ:

 (1) 7 

 (2) 8 

 (3) не определено 

 (4) ошибка компиляции 


Номер 2
Какой результат следующего выражения ?
int *a; int b[2]; a = b; 
b[0] = 7; b[1] = 10; *a++; cout << *a;

Ответ:

 (1) 7 

 (2) 8 

 (3) 10 

 (4) 11 


Номер 3
Какой результат следующего выражения ?
 int *a; int b; a = &b; b = 7; (*a)++; cout << b;

Ответ:

 (1) 7 

 (2) 8 

 (3) не определено 

 (4) ошибка компиляции 


Упражнение 4:
Номер 1
Для получения адреса переменной используется операция

Ответ:

 (1) * 

 (2) & 

 (3) -> 

 (4) . 

 (5) нет правильного ответа 


Номер 2
Какая операция позволяет получить значение, записанное по адресу, который содержится в указателе?

Ответ:

 (1) * 

 (2) ? 

 (3) ^ 

 (4) & 

 (5) . 


Номер 3
Что будет выведено на экран в результате выполнения приведенной ниже программы?
 
#include "iostream.h"
#include "conio.h"
int main()
{
  int *a; 
  int b=7; 
  a = &b; 
  b+= 7; 
 (*a)++; 
  cout << a;
  getch();
  return 0;
}
 
 

Ответ:

 (1) 14 

 (2) адрес переменной b 

 (3) компилятор выдаст ошибку компиляции 

 (4) адрес указателя a 

 (5) нет правильного ответа 


Упражнение 5:
Номер 1
Укажите какой результат будет у следующего примера?
 
 int array[10]; array[1] = 2; array[10] = 3;
 cout << array[10];

Ответ:

 (1) ошибка компиляции 

 (2) непредсказуемый результат из-за выхода за границы массива 

 (3)

 (4)


Номер 2
Укажите какой результат будет у следующего примера?
 
 float array[5]; array[1] = 10; array[2] = 3;
 float array2[5]; array2 = array;
 cout << array2[1];
 

Ответ:

 (1) 10 

 (2)

 (3) ошибка компиляции 

 (4)


Номер 3
Укажите какой результат будет у следующего примера?
 
 float arr[3] = {10, 20, 30};
 float *a = arr;
 cout << a[1];
 

Ответ:

 (1) 10 

 (2) 20 

 (3) 30 

 (4) ошибка компиляции 


Упражнение 6:
Номер 1
Какой результат у следующего выражения?
 
struct str
{
 int   a = 2;
 float b = 10;
} m1, m2;
cout << m1.a * m2.b;

Ответ:

 (1) 20 

 (2)

 (3) 10 

 (4) ошибка компиляции 


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

...
// Необходимые библиотеки подключены
struct my
{
 int a, b;
} m1;
int func(my *f)
{
 return f->a + f->b++;
}
int main()
{
 m1.a = 2; m1.b = 5;
 cout << func(&m1);
 return 1;
}

Ответ:

 (1)

 (2)

 (3)

 (4) ошибка компиляции 


Номер 3
Что будет выведено на экран в результате следующего выражения?

struct my
{
 int a, b;
} m1;
int func(my f)
{
 return f.a + f.b++;
}
int main()
{
 m1.a = 5; m1.b = 10;
 cout << func(m1);
 return 0;
}

Ответ:

 (1) 15 

 (2) 16 

 (3)


Упражнение 7:
Номер 2
Какой массив имеет самый большой размер?

char *s1= "QWERTY";
char s2[7]= "qwerty";
char *s3= "127*27";

Ответ:

 (1) Все массивы имеют одинаковый размер 

 (2) s1 

 (3) s2 

 (4) s3 


Номер 3
Вернет ли фукция strcmp("qwerty","QWERTY"); 0?

Ответ:

 (1) нет 

 (2) да 

 (3) результат предсказать невозможно