
10 Указатели
.pdf11.Як виконуються операція віднімання числа з вказівника?
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.