Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab12.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
91.14 Кб
Скачать

9

Министерство образования Республики Беларусь

Министерство образования и науки Российской федерации

ГУВПО «Белорусско-Российский университет»

Институт повышения квалификации и переподготовки кадров

Кафедра "Совершенствование профессиональных знаний"

Дисциплина

«Основы алгоритмизации и программирования на языках высокого уровня»

Лабораторная работа № 12

Обработка одномерных массивов с использованием указателей

2011

  1. Цель работы

    1. Получение навыков в написании программ с использованием указателей.

1.2 Изучение механизма передачи массива в функцию и передачи параметров по ссылке.

  1. Техническое обеспечение

    1. Персональная ЭВМ IBM PC/286 и более поздних моделей.

    2. Клавиатура.

    3. Дисплей.

    4. Печатающее устройство.

  2. Программное обеспечение

    1. Операционная система MS DOS версия 5.0 и более поздние версии.

    2. Система программирования Borland C++ версия 3.1 и более поздние версии.

  3. Постановка задачи

Дано несколько массивов чисел. Длины массивов заданы в вари­анте. Требуется в каждом массиве найти наибольший и наименьший элементы и напечатать их, затем все компоненты каждого массива возвести в квадрат и снова найти наибольший и наименьший элемен­ты.

5. Содержание отчета

5.1. Тема и цель работы.

5.2. Схема алгоритма решения задачи.

5.3. Текст программы.

5.4. Результаты выполнения программы.

  1. Общие сведения

Указатель содержит адрес памяти, которая распределена для другой переменной. Если одна переменная содержит адрес другой, то говорят, что первая переменная указывает на вторую.

Если переменная должна содержать указатель, она объявляется следующим образом. Объявление указателя включает базовый тип, * и имя переменной. Стандартный вид объявления указателя следующий:

тип *имя;

где тип – это любой допустимый тип (базовый тип указателя), а имя – это имя переменной-указателя.

Базовый тип указателя определяет тип переменной, на которую ссылается указатель. С технической точки зрения любой тип указателя может указывать в любой участок памяти, но С предполагает, что указатель указывает на объект своего базового типа.

    1. Операторы для работы с указателями

Для работы с указателями используются два оператора - * и &.

Оператор & - это унарный оператор, возвращающий адрес операнда. Например:

p = #

помещает адрес переменной num в p. Данный оператор ничего не делает со значением переменной num. Операцию & можно рассматривать как «взятие адреса».

Оператор * дополняет оператор &. Оператор * - это унарный оператор, возвращающий значение переменной, находящейся по указанному адресу. Например, если p содержит адрес памяти переменной num, то

q = *p;

присвоит значение переменной num переменной q. В данном случае вышеприведенный оператор может быть прочитан как «q получает значение по адресу р».

Пример.

#include <stdio.h>

int main (void)

{

int num, q;

int *p;

num = 100; /* num присваивается значение 100 */

p = &num; /* p получает адрес num */

q = p; /* q посредством р присваивается значение num */

printf(“%d”, q); /* выводит 100 */

return 0;

}

Данная программа выводит значение 100 на экран.

    1. Выражения с указателями

В целом выражения, использующие указатели, подчиняются тем же правилам, что и обычные выражения языка С. Рассмотрим их некоторые особенности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]