
- •1. Лабораторная работа №1
- •1.1. Методическая часть Оператор if
- •Конструкция if-else
- •If (условное выражение)
- •Множественный выбор
- •If (условное выражение)
- •Множественный выбор - оператор switch
- •Операторы цикла
- •1.2. Порядок выполнения работы.
- •1.3. Варианты заданий
- •1.4. Контрольные вопросы
- •2.1. Методическая часть Функции. Аргументы функции.
- •2.2. Порядок выполнения работы.
- •2.3. Варианты заданий
- •2.4. Контрольные вопросы
- •3.1. Методическая часть Массивы как аргументы функции
- •Функции и многомерные массивы
- •3.2. Порядок выполнения работы.
- •3.3. Варианты заданий
- •3.4. Контрольные вопросы
- •4.1. Методическая часть Символьные строки
- •Строковые константы
- •Массивы типа char и их инициализация
- •Явное задание размера памяти
- •Массивы символьных строк
- •Указатели и строки
- •Ввод строк
- •Функция gets()
- •Функция scanf()
- •Функция puts()
- •Функции, работающие со строками Функция strcat() - string catenation
- •Функция strcmp() - string comparison
- •Функция strcmpi()
- •Функция strncmp()
- •Функция strcpy()
- •Функция strncpy()
- •Пример реальной программы сортировки строк
- •4.2. Порядок выполнения работы.
- •4.3. Варианты заданий
- •4.4. Контрольные вопросы
Функции и многомерные массивы
При работе с двухмерным массивом (int array mas[10][20]) в качестве фактического аргумента используется указатель на массив (mas). Формальный параметр в этом случае может быть задан одним из следующих способов:
размерность массива задать константами, например: function (int mas [10][20] );
задать только количество столбцов в массиве: function (int mas [][20] );
массив указателей на одномерный массив: function (int * mas [20] );
указатель на указатель на массив: function (int ** mas ).
Например: main()
{ static int array[2][3]={2,4,6,3,5,7};
func(array);
}
func(int mas[][4])
{ ...
}
Возвращаемым результатом функции может быть значение любого типа, в том числе переменная, массив переменных, указатель на переменную и массив. Тип возвращаемого значения описан в заголовке функции, а сам результат возвращает оператор return.
Рассмотрим пример подсчета среднего бала учащегося:
#include <stdio.h>
float middle(int array[][4] , int n);
main()
{ static int ball[3][4]={{4,5,3,5},
{5,5,4,4},
{3,3,4,5}};
int sem;
printf("За какой семестр должен быть подсчитан средний балл? ”);
scanf(“%d”,&sem);
printf("Средний балл за %d семестр составил %.1f.\n",sem, middle( ball, sem ));
}
float middle(int array[][4] , int n)
{ int index;
float sum;
for(index=0,sum=0;index<4;index++)
sum + = array[n][index];
return (sum/4) ;
}
3.2. Порядок выполнения работы.
1. Изучить материал данного методического пособия, привлекая лекции и дополнительную литературу;
2. Разработать схемы алгоритмов и программу для обработки данных в соответствии с конкретным вариантом.
3.3. Варианты заданий
Написать и протестировать функцию, подсчитывающую количество минимальных элементов в целочисленном массиве.
Даны две квадратные матрицы. Напечатать ту из них, которая имеет минимальную сумму элементов главной диагонали. Использовать функцию для нахождения суммы элементов и функцию печати матрицы.
Написать и протестировать функцию, которая находит в массиве минимальный по модулю элемент и заменяет им все элементы с нечетными номерами.
Даны два целочисленных массива. Написать и протестировать функцию, которая бы упорядочила по возрастанию элементы этих массивов, а затем и элементы объединенного массива.
Написать и протестировать функцию, переставляющую в прямоугольной матрице строки в обратном порядке.
3.4. Контрольные вопросы
Как объявить формальный параметр, если фактическим должен быть массив?
Как объявить формальный параметр, если фактическим должен быть двумерный массив?
Как объявить формальный параметр, если с его помощью должен быть возвращен результат выполнения функции: скалярная переменная, массив, двумерный массив?
ЛАБОРАТОРНАЯ РАБОТА №4
Целью лабораторной работы состоит в изучении основных приемов программирования операций над строками на языке С.
4.1. Методическая часть Символьные строки
Символьная строка является массивом char, который заканчивается нуль-символом '\0'. Строки в программе могут определяться несколькими способами: при использовании строковых констант, массивов типа char, указателей на тип char и массивов, состоящих из символьных строк.