Wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Структуры С++

Total questions: 11

Worksheet time: 46mins

Name
Class
Date
1.

При определении структуры необходимо использовать следующее ключевое слово

a)

object

b)

structure

c)

struct

d)

record

2.

Правильное объявление переменной, типа структуры foo

a)

foo var;

b)

int foo;

c)

struct foo;

d)

foo;

3.

Правильное определение структуры в С++

a)

struct a_struct int a;

b)

struct a_struct {int a;};

c)

struct a_struct {int a;}

d)

struct {int a;}

4.

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

#include <iostream>

#include <string>

void print(int v)

{

std::cout << "int:" << v << std::endl;

}

void print(bool v)

{

std::cout << "bool:" << v << std::endl;

}

void print(std::string v)

{

std::cout << "std::string:" << v << std::endl;

}

int main()

{

print(1);

print(true);

print("Hello world");

}

a)

1 true Hello world

b)

int:1 bool:1 bool:1

c)

Ничего не выведет

d)

Ошибка на этапе компиляции

5.

Можно ли перегружать операции для встроенных типов данных?

a)

Да

b)

Нет

6.

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

a)

struct sA {char a[12]; sA* this_struct;};  

b)

struct sA {int i; float f;};  

c)

struct sA {int j, sA this_struct;};  

d)

struct sA { j, this_struct;};  

7.

Какое значение примет переменная с1 перечислимого типа

enum eColor {blue=1, red, green} c1;

после выполнения оператора

c1 = eColor(2);?

a)

blue 

b)

red

c)

green

8.

Какие из следующих объявлений структур с одновременной инициализацией элементов x и y имеют правильный синтаксис в С++?

a)

struct POINT { int x; int y;} p_screen = { 50, 100 };  

b)

struct POINT { int x; int y;} p_screen { 50, 100 };  

c)

struct POINT { int x; int y;} *p_screen = { 50, 100 };  

9.

Отработает ли следующий код, если да то что выведет на экран, если нет то укажите ошибки:

#include <iostream>

using namespace std;

struct A {

int a;

int b;

};

int main() {

A obj,obj2;

obj.a = 1;

obj.b = 2;

obj2.a = 1;

obj2.b = 2;

if (obj == obj2) {

cout << "Equal";

}

else {

cout << "Not equal";

}

return 0;

}

a)

Equal

b)

Not equal

c)

Ошибка на этапе компиляции

d)

Ошибка на этапе выполнения

10.

Отработает ли следующий код, если да то что выведет на экран, если нет то укажите ошибки:

#include <iostream>

using namespace std;

struct A {

int a;

int b;

};

void SetValues(A obj, int a, int b) {

obj.a = a;

obj.b = b;

}

int main() {

A obj;

obj.a = 1;

obj.b = 2;

SetValues(obj, 4, 5);

cout << obj.a << " " << obj.b;

return 0;

}

a)

1 2

b)

4 5

c)

Ошибка на этапе компиляции

d)

Ошибка на этапе выполнения

11.

Отработает ли следующий код, если да то что выведет на экран, если нет то укажите ошибки:

#include <iostream>

using namespace std;

struct A {

int a;

struct B {

int b;

};

};

int main() {

A obj;

obj.a = 2;

obj.b = 3;

cout << obj.a << " " << obj.b;

return 0;

}

a)

2 3

b)

3 2

c)

Ошибка на этапе компиляции

d)

Ошибка на этапе выполнения