Лабораторная работа: Модульное программирование
на выход индексов массива из диапазона.
5. Практические задания
5.1 Указать классы памяти переменной
Что напечатает программа? Укажите область действия, область видимости и продолжительность жизни всех переменных n.
int n = 1;
void main ()
{
printf (“%d", n);
static int n=3;
printf (“%d", n);
while (n--)
{
printf (“%d", n);
int n=10;
printf (“%d", n);
printf (“%d”,:: n+n);
}
}
5.2 Работаем с адресами
У некоторой программы в модели largeпри работе в отладчике регистры содержат следующие значения:
CS = 1ADF, DS=1AE3, SS=1B26, SP=0FD2.
Найдите размеры областей памяти.
Укажите диапазоны возможных адресов для:
переменной intn=2, если она а) глобальная, б) статическая, в) локальная;
содержимого указателя char *str=”Hello”;
значения адресной константы main;
содержимого указателя int *A= (int *) malloc (1000).
5.3 Прототипы функций
5.3.1 Свопинг
Напишите прототип функции, которая организует обмен значений двух переменных.
5.3.2 Индексы максимальных элементов одномерного массива
Напишите прототип функции, которая находит индексы максимальных элементов одномерного массива.
5.3.3 Индексы максимальных элементов двумерного массива
Напишите прототип функции, которая находит индексы максимальных элементов двумерного массива с заданными размерами.
5.3.4 Угол между двумя векторами
Напишите прототип функции, которая находит угол в радианах между двумя векторами из пространства Rn .