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

10 Указатели

.pdf
Скачиваний:
25
Добавлен:
20.03.2016
Размер:
600.25 Кб
Скачать

11.Як виконуються операція віднімання числа з вказівника?

12.Що є результатом при виконанні підсумовування вказівника і числа?

13.Як виконуються операції ++ і --, застосовані до вказівників?

14.Опишіть особливості вказівника на тип void.

15.Як виконується операція індексування вказівника?

16.Опишіть особливості вказівників, що описуються з модифікатором const.

17.Опишіть особливості імені масиву як вказівника.

18.Нехай у програмі оголошена змінна yourAge типу unsigned int. Як описати вказівник, який дозволить маніпулювати цією змінною?

19.Поясніть, яка помилка може приховуватися в наведеному нижче оголошенні змінних:

int * int_ptr1, int_ptr2;

20.За допомогою вказівника здійсніть присвоювання змінній yourAge значення 17.

21.Напишіть невеличку програму і опишіть у ній змінну типу int і вказівник на цей тип. Збережіть адресу цієї змінної у вказівнику. Використовуючи вказівник, здійсніть присвоювання цій змінній деякого значення.

22.Яким буде виведення при виконанні наведеного нижче фрагменту коду?

int *p1, *p2; *pInt = 7;

cout << "The value at pInt: " << pInt;

23. Маємо таку програму:

#include <iostream> using namespace std; int main()

{

int pInt; *pInt = 7;

cout << "The value at pInt: " << *pInt << '\n'; system("pause");

return 0;

}

Чи є помилки в цій програмі? У разі позитивної відповіді зробіть пояснення.

24. Маємо таку програму:

#include <iostream> using namespace std; int main()

21

{

int SomeVariable = 9;

cout << "SomeVariable: " << SomeVariable << '\n'; int *pVar = &SomeVariable;

*pVar = 7;

cout << "SomeVariable: " << *pVar << '\n'; system("pause");

return 0;

}

Чи є помилки в цій програмі? У разі позитивної відповіді зробіть пояснення.

25. У програмі зустрілась така послідовність операторів:

double a[100]; double i;

for (i = 0; i < 100; i++) a[i] = i;

Чи є помилки в наведеному вище фрагменті програмного коду? У разі позитивної відповіді зробіть пояснення.

26. У програмі зустрілась така послідовність операторів:

double a[100]; char i;

for (i = 0; i < 100; i++) a[i] = i;

Чи є помилки в наведеному вище фрагменті програмного коду? Зробіть пояснення.

27. У програмі зустрілась така послідовність операторів:

double a[100], *pt = a; pt = -1.221;

Чи є помилки в наведеному вище фрагменті програмного коду? Зробіть пояснення.

28. У програмі зустрілась така послідовність операторів:

double a[10], *pt;

for (int i = 9; i > 0; i--) *(pt + i) = i;

Чи є помилки в цьому коді? Зробіть пояснення. 29. У програмі зустрілась така послідовність операторів:

double a[100], *pt = a; *pt = true;

22

Чи є помилки в наведеному вище фрагменті програмного коду? Зробіть пояснення.

30. У програмі зустрілась така послідовність операторів: bool a[10], *p_a = a, b[10], *p_b = b;

Для переписування вмісту масиву a в масив b використаний такий оператор:

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

for (int j = i; j < i + 1; j++) *(p_b + i) = *p_a + j;

Чи є помилки в наведених вище фрагментах програмного коду? Зробіть пояснення.

31.Маємо ті ж визначення, що й у попередньому запитанні. Нижче наведений оператор подвійного циклу. Що можна сказати про нього?

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

*(p_b + i) = *(a + j);

СПИСОК ЛІТЕРАТУРИ

1. Страуструп, Б. Язык программирования Си++ : Второе издание /

Б. Страуструп. – К. : ДиаСофт, 1993. – Ч. 1. – 264 с. ; Ч. 2. – 296 с.

2.Керниган, Б. Язык программирования Си / Б. Керниган, Д. Ритчи. – М. : Финансы и статистика, 1992. – 272 с.

3.Либерти, Джесс. Освой самостоятельно С++ за 21 день : учеб. пособ. / Джесс Либерти. – М. : Вильямс, 2001. – 816 с.

4.Подбельский, В. В. Программирование на языке Си / В. В. Подбельский, С. С. Фомин. – М. : Финансы и статистика, 1999. – 600 с.

5.Подбельский, В. В. Язык Си++ / В. В. Подбельский. – М. : Финансы и ста-

тистика, 1999. – 560 с.

6.Савитч, Уолтер. Язык C++. Курс объектно-ориентированного программирования / Уолтер Савитч. – М. : Вильямс, 2001. – 704 с.

23

Навчальне видання

Методичні вказівки до лабораторної роботи

«Використання вказівників у програмах мовою C++»

зкурсу «Програмування» для студентів напряму 6.040302 – Інформатика і курсу «Програмування та алгоритмічні мови» для студентів напряму

6.040303 – Системний аналіз

Укладачі: БЕЗМЕНОВ Микола Іванович, БЕЗМЕНОВА Ольга Миколаївна

Відповідальний за випуск О. С. Куценко Роботу до видання рекомендував О. В. Горелий

За авторською редакцією

План 2013 р., поз. 10

Підписано до друку __.__.2013 р. Формат 60 84 1/16. Папір офсетний. Друк – ризографія. Гарнітура Таймс. Ум. друк. арк. _______.

Обл.-вид. арк. 1,0. Тираж 50 прим. Зам. №___ . Ціна договірна.

________________________________________________________________________________________________________________________

Видавничий центр НТУ «ХПІ».

Свідоцтво про державну реєстрацію ДК № 3657 від 27.12.2009 р. 61002, Харків, вул. Фрунзе, 21.

________________________________________________________________________________________________________________________

Друкарня НТУ «ХПІ» 61002, Харків, вул. Фрунзе, 21.