- •Категории типов данных
- •Базовые типы данных С
- •Виды переменных С
- •Массивы
- •Структурирование обработки данныхВозможности выбора
- •Возможности выбора:
- •eof, feof – конец файла
- •Ошибки открытия файлов и ввода вывода
- •Типичные ошибки программирования
- •Внимательно относитесь к типам функций!!!!
- •2 варианта – if … else и (или) условная операция Много вариантов -
- •(выражение)
- •!!!!! Если в теле цикла всего один оператор, то операторные скобки можно не
- •После того как массив определен, в него можно вводить информацию. Начальные значения элементам
- •Фрагмент, запрашивающий у пользователя 10 целых чисел,
- •Доступ к элементам многомерного массива в
- •Типичные ошибки программирования
- •Определение переменной в дополнении к ее имени и
- •В соответствии с реализуемой целью, функция может
- •Функция, выбирающая наименьшее из трех вещественных чисел.
- •Существуют функции, не требующие для своей работы
- •Типичные ошибки программирования
- •Типичные ошибки программирования
В соответствии с реализуемой целью, функция может |
||
требовать для своей работы один или несколько входных |
||
параметров, или аргументов. Она также может |
||
возвращать некоторый результат. Пример: стандартная |
||
функция sqrt принимает в качестве входного параметра |
||
число x типа double и возвращает другое число типа |
||
double – значение квадратного корня из x. Внутреннее |
||
устройство (или реализация) этой функции скрыты от |
||
пользователя, однако он может получить ее результаты |
||
путем вызова этой функции, например, следующей |
||
записью y = sqrt(x). |
|
|
Перед использованием функцию надо определить, задав |
||
ее имя, количество и тип ее аргументов, а также тип |
||
возвращаемого результата. Общая форма записи |
|
|
тип_результата имя_функции(список_аргументов) |
||
{<объявления локальных переменных>; |
// |
тело |
<операторы>; |
//функции |
|
}return <возвращаемое_значение>; |
|
|
Функция, выбирающая наименьшее из трех вещественных чисел.
Входные параметры для функции – 3 вещественных числа, например a,b,c, результат – также вещественное число, со-держащее минимальное из них.
float minimal(float a, float b, float c) // заголовок
{float m = a; // локальная переменная m if(b<m) // выбираем наименьшее из 2-х m = b;
if(c<m) // выбираем наименьшее из 2-х m = c;
}return m; // возвращаем результат m к месту вызова
Существуют функции, не требующие для своей работы
входных параметров. Примером может служить getch( ) из библиотеки conio.h.
При определении таких функции список аргументов должен быть оставлен пустым, или вместо него указано ключевое слово void (пустой). В любом из этих случаев круглые скобки в определении функции обязательны.
Для обращения к функции (ее вызова) используется имя функции с указанием набора передаваемых ей параметров в круглых скобках
имя_функции(список_фактических_параметров)
Результатом этой операции является возвращаемое функцией значение. Вызов функции может быть произведен из любого места программы, в котором допускаются исполняемые операторы.
float x = 2.5, y = 3.1, z = 5.8; // 3 числа для сравнения float min;// переменная для результата
min = minimal(x,y,z); // вызываем функцию
. . .
Определение функции в списке аргументов содержит формальные параметры (float a, float b и float c), значения которых неизвестны на этапе написания тела функции. Они обретают конкретное содержание в момент вызова функции, когда в скобках указываются фактические параметры, то есть переменные или константы, имеющие определенное значение (как x, y, z из примера выше). Имена формальных и фактических параметров не обязаны быть одинаковыми. Неукоснительным требованием является лишь соответствие их типов, то есть тип первого в списке фактического параметра (float x) должен совпадать с типом первого формального параметра (float a), тип второго (float y) – со вторым (float b), и т.д.
Типичные ошибки программирования
1.В заголовке определения или в прототипе функции в списке аргументов вместо «,» используется «;» (int a; int b). Эта ошибка сопровождается сообщением «Error: Expression syntax».
2.Однотипные аргументы функции ошибочно определяются как (float x,y) вместо (float x, float y). Компилятор ответит на это сообщением «Error: type name expected».
3.Первая строка определения функции ошибочно завершается символом точки с запятой. Это приведет к сообщению «Error: Declaration terminated incorrectly».
4.Один или несколько аргументов функции повторно объявляются как локальные переменные. Компилятор распознает эту логическую ошибку и ответит на нее сообщением «Error: multiple declaration…».
Типичные ошибки программирования
5. Отсутствует оператор return в функции, которая должна возвращать значение. На этапе компиляции это не будет воспринято как синтаксическая ошибка, однако будет выведено предупреждение «Warning: function should return a value». В проти-воположной ситуации, при попытке возвратить результат из функции, объявленной как void, компилятор выдаст сообщение об ошибке «Error: function cannot return a value».
6.Определение одной функции внутри другой. Такая ошибка приведет к сообщению «Error: Declaration syntax error».
7.Попытка вызова функции, которая не описана ранее, и для которой не найден соответствующий прототип. Сообщение компилятора – «Error: call to undefined function».