Главная / Программирование /
Язык программирования 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)
8 
 (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) 3 
 (4) 0 
Номер 2
Укажите какой результат будет у следующего примера?
float array[5]; array[1] = 10; array[2] = 3;
float array2[5]; array2 = array;
cout << array2[1];
Ответ:
 (1) 10 
 (2) 3 
 (3) ошибка компиляции 
 (4) 0 
Номер 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) 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) 7 
 (2) 8 
 (3) 1 
 (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) 5 
Упражнение 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) результат предсказать невозможно