
- •Алгоритм и его свойства.
- •Средства записи алгоритма – графическая схема.
- •Типы алгоритмов и их графическое изображение.
- •3.Структура программы на языке Си.
- •Основные типы данных языка Си.
- •Операции и выражения языка Си. Операции выражения
- •Арифметические операции
- •Операции присваивания и операторы присваивания. Операция присваивания
- •Математические функции. Правила их использования в выражениях.
- •Поразрядные логические операции. Операторы сдвига.
- •Логические операции и операции отношения. Логические операции
- •Консольный ввод-вывод. Функции ввода-вывода символов.
- •Консольный ввод-вывод. Функции ввода-вывода строк.
- •Консольный форматированный ввод данных. Оператор ввода. Форматная строка. Спецификации преобразования.
- •Консольный форматированный вывод данных. Оператор вывода. Форматная строка. Спецификации преобразования.
- •Программирование линейных алгоритмов.
- •Логические выражения и правила их составления.
- •Оператор if. Две его формы.
- •If (выражение) оператор1;
- •If (выражение) оператор1; else оператор2;
- •Команда выбора. Операторы switсh и break.
- •Понятие цикла. Типы циклов.
- •Операторы циклов. Оператор for.
- •Оператор цикла while.
- •Оператор цикла do-while.
- •Понятие массива. Размерность, размер массива. Синтаксис описания массивов.
- •Ввод-вывод одномерного массива.
- •Вычисление суммы элементов одномерного массива.
- •Подсчет количества элементов одномерного массива, удовлетворяющих заданным условиям.
- •Вычисление произведения элементов одномерного массива.
- •Поиск элементов одномерного массива, обладающих заданным свойством.
- •Поиск максимального (минимального) элемента одномерного массива и его местоположения.
- •Формирование нового одномерного массива из элементов удовлетворяющих заданным условиям.
- •Понятие и описание двумерных массивов.
- •Ввод-вывод двумерного массива.
- •Вычисление суммы элементов двумерного массива.
- •Структуры данных. Доступ к полям структурной переменной. Массивы структур. Пример. Обращение к полям структур
- •Подпрограммы и Функции. Назначение. Описание функции.
- •Вызов функции.
- •Подпрограммы и Функции. Механизм передачи параметров в функцию
- •Подпрограммы и Функции. Передача массивов в функцию
Структуры данных. Доступ к полям структурной переменной. Массивы структур. Пример. Обращение к полям структур
Обращение к элементам структур производится посредством:
а) операции принадлежности (.) в виде:
имя_структуры_или_объединения.имя_элемента
обращаемся к полям структуры:
s1. Number;
s1. Fio;
s1. S_b;
Структурный тип может быть использован для декларации массивов, элементами которых являются структурные переменные, например:
struct person spisok[100]; - spisok - массив структур;
или
struct person
{
char fio[40];
int day, month, year;
} spisok[100];
В данном случае обращение к полю, например, day i-й записи может быть выполнено одним из следующих способов:
spisok[i].day (spisok+i)->day.
Подпрограммы и Функции. Назначение. Описание функции.
Описание функции – декларация ее прототипа вначале программного файла. Используется следующий способ декларации функций:
<тип_результата> <имя_функции>(<тип> <переменная>, …<тип> <переменная>);
Пример описания функции fun со списком параметров:
float fun(int, float, int, int);
Прототип функции сообщает компилятору о том, что далее в тексте программы будет приведено полное определение (полный ее текст).
Полное определение функции имеет следующий вид:
<тип_результата_функции> <имя_функции>(список параметров)
{
код функции
}
Тип результата определяет тип значения, который возвращается функцией в точку ее вызова при помощи оператора возврата return. Если тип функции не указан, то по умолчанию предполагается тип int. Список параметров состоит из перечня типов и имен параметров, разделенных запятыми. Функция может не иметь параметров (void), но круглые скобки необходимы в любом случае.
Оператор return вызывает немедленный выход из данной функции и возврат в вызывающую ее функцию. Этот оператор также используется для возврата результата работы функции. Отметим, что в теле функции может быть несколько операторов return, но может и не быть ни одного. В таких случаях возврат в вызывающую ее функцию происходит после выполнения последнего оператора.
Пример реализации функции, определяющей наименьшее из двух целых чисел:
int mini(int x, int y)
{
int temp;
if (x<y) temp=x;
else temp=y;
return t;
}
Можно написать функцию mini и таким образом:
mini(int x, int y)
{
return (x<y)? x:y;
}
Если тип возвращаемого результата опущен, то он по умолчанию будет иметь тип int.
Все функции, возвращающие значение, должны использоваться в правой части выражений языка С/C++, иначе возвращаемый результат будет утерян. Но они не могут использоваться в левой части операторов присваивания, за исключением тех случаев, когда возвращается адрес результата работы функции.
Если функция не возвращает никакого значения, она должна быть описана как функция типа void (пустая).
Например, для вывода строки на экран дисплея можно использовать следующую функцию:
void messag()
{
cout<<"Привет, я учусь программировать на С++"<<endl;
}
Если у функции отсутствует список параметров, то при декларации такой функции желательно в круглых скобках также указать ключевое слово void. Например:
void messag(void).
В языке С каждая функция – это отдельный блок программы, вход в который возможен только через вызов данной функции. Например, нельзя оператором перехода goto передать управление внутрь функции.