- •Структура программы на языке с
- •Int main(список параметров)
- •Библиотека и компоновка
- •Словарь терминов
- •Выражения
- •Переменные
- •Инициализация переменных
- •Константы
- •Строковые константы
- •Специальные символьные константы
- •Оператор присваивания
- •Множественные присваивания
- •Арифметические операции
- •Операции увеличения (инкремента) и уменьшения (декремента)
- •Сводка приоритетов операций
- •Выражения
- •Явное преоразование типов: операция приведения типов
- •Операция определения размера sizof
- •Операторы
- •Int a, b, c; // объявление переменных
- •Пробелы и круглые скобки
- •Логические значениия истина (True) и ложь (False) в языке с
- •Условные операторы Оператор if
- •If (выражение) оператор;
- •Int magic; /* магическое число */
- •Int guess; /* попытка игрока */
- •Int magic; /* магическое число */
- •Int guess; /* попытка игрока */
- •If(k) statement 2; /* этот if */
- •Int magic; /* магическое число */
- •Оператор выбора - switch
- •Вложенные операторы switch
- •Цикл for
- •Бесконечный цикл
- •Варианты цикла for
- •Бесконечный цикл
- •Цикл for без тела цикла
- •Цикл while
- •Случае цикл требует повторить ввод. Цикл do-while
- •Цикл do-while часто используется в функциях выбора пунктов меню. Если пользователь вводит допустимое значение, оно возвращается в качестве значения функции. В противном
- •Оператор перехода
- •Оператор return
- •Оператор goto
- •Оператор break
- •Функция exit()
- •Void exit (int код_возврата);
- •Оператор continue
- •Int n, sum; // sum - сумма цифр числа
- •Оператор-выражение
- •Далее адреса Операция получения адреса (&) и раскрытия ссылки (*)
- •Одномерные массивы
Цикл do-while часто используется в функциях выбора пунктов меню. Если пользователь вводит допустимое значение, оно возвращается в качестве значения функции. В противном
Особенности арифметических операций
При использовании деления надо помнить, что при делении целого числа на целое остаток от деления отбрасывается, таким образом, 7/4 будет равно 1. Если же надо получить вещественное число и не отбрасывать остаток, делимое или делитель надо преобразовать к вещественной
форме.
Например:
float x;
i = 7;
x = i / 4; // x=1, делится целое на целое
x = i / 4.; // x=1.75, делится целое на дробное
x =(float) i / 4; // x=1.75, делится дробное на целое
n = 7. / 4.; // n=1, результат записывается в
// целую переменную
Наибольшие сложности из всех действий вызывает взятие остатка. Если надо вычислить оста-
ток от деления переменной a на переменную b и результат записать в переменную ostatok,
то оператор присваивания выглядит так:
ostatok = a % b;
Оператор перехода
В языке С определены четыре оператора перехода:
return,
goto,
break и
continue.
Операторы returnиgotoможно использовать в любом месте внутри функции. Операторыbreakиcontinueможно использовать в любом из операторов цикла. Как указывалось ранее в этой главе,breakможно также использовать в оператореswitch.
Оператор return
Оператор returnиспользуется для выхода из функции. Отнесение его к категории операторов перехода обусловлено тем, что он заставляет программу перейти в точку вызова функции. Операторreturnможет иметь ассоциированное с ним значение, тогда при выполнении данного оператора это значение возвращается в качестве значения функции. В функциях типаvoidиспользуется операторreturnбез значения.
Стандарт С89 допускает наличие оператора return без значения, даже если тип функции отличен от void. В этом случае функция возвращает неопределенное значение. Но что касается языков С99 и C++, если тип функции отличен отvoid, то ее операторreturnобязательно должен иметь значение. Конечно, и в программе на С89 отсутствие возвращаемого значения в функции, тип которой отличен отvoid, является признаком плохого стиля!
Общая форма оператора returnследующая:
return выражение;
Выражениеприсутствует только в том случае,если функция возвращает значение. Это значение выражения становится возвращаемым значением функции.
Внутри функции может присутствовать произвольное количество операторов return.Выход из функции происходит тогда, когда встречается один из них.
Закрывающаяся фигурная скобка }также вызывает выход из функции. Выход программы на нее эквивалентен операторуreturnбез значения. В этом случае функция, тип которой отличен отvoid, возвращает неопределенное значение.
Функция, определенная со спецификатором void, не может содержатьreturnсо значением. Так как эта функция не возвращает значения, в ней не может быть оператораreturn, возвращающего значение.
Оператор goto
Необходимости в применении gotoпрактически нет. В результате чрезмерного использования операторовgotoпрограмма плохо читается, она становится "похожей на спагетти". В некоторых случаях его применение все же уместно, например, если нужно покинуть глубоко вложенные циклы.
Для оператора gotoвсегда необходима метка.Метка— это идентификатор с последующим двоеточием. Метка должна находится в той же функции, что иgoto, переход в другую функцию невозможен.
Общая форма оператора gotoследующая:
goto метка;
.
.
.
метка:
Метка может находиться как до, так и после оператора goto.