Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Рекомендации по выбору цикла




При выборе цикла необходимо оценить необходимость проверки yсловия при входе в цикл или по завершении прохождения цикла. Если цикл ориентирован на работу с параметром, который меняется в заданных пределах с заданным шагом, то более предпочтительным является параметрический цикл.

 

Операторы break и continue

В теле любого цикла можно использовать операторы break и continue. Оператор breakпозволяет выйти из цикла, не завершая его. Оператор continue позволяет пропустить часть операторов тела цикла и начать новую итерацию.

Пример: Вывести числа от 0 до 99 ниже главной диагонали

#include <stdio.h>
#include <stdlib.h>
int main()

{

unsigned int i,j;

for(i=0; i<10; i++) {

for(j=0; j<10; j++) {

if(j>i)

break;

printf("%2d ",i*10+j);

}

printf("\n");

}

getchar();

return 0;
}

Результат выполнения программы

Пример: Вывести числа от 0 до 99 исключая числа, оканчивающиеся на 5 или 8

#include <stdio.h>
#include <stdlib.h>
int main()

{

unsigned int i,j;

for(i=0; i<10; i++) {

for(j=0; j<10; j++) {

if((j==8) || (j==5)))

continue;

printf("%2d ",i*10+j);

}

printf("\n");

}

getchar();

return 0;
}

Результатвыполнения

При вложенных циклах действия оператов break и continue распространяется только на самую внутреннюю структуру, в которой они содержатся.

 

Оператор безусловного перехода goto

Общая форма записи

goto метка;
метка: операция;

Выполнение оператора goto вызывает передачу управления в программе операции, помеченной меткой. По сути метка является идентификатором адреса операции, которой должно быть передано управление. Для отделения метки от оператора используется двоеточие (:). Метка может располагаться в программе как до оператора goto, так и после. Имена меток образуются по тем же правилам, что и имена переменных.

Пример

#include <stdio.h>
int main()

{

int k=5;
M1: if(k<0)

goto M2;

printf("%d ",k);

k--;

goto M1;
M2: getchar();

return 0;
}

Результат выполнения

 

Функции в языке Си

Функция — это самостоятельная единица программы, которая спроектирована для реализации конкретной подзадачи. Функция является подпрограммой, которая может содержаться в основной программе, а может быть создана отдельно (в библиотеке). Каждая функция выполняет в программе определенные действия.

Сигнатура функции определяет правила использования функции. Обычно сигнатура представляет собой описание функции, включающее имя функции, перечень формальных параметров с их типами и тип возвращаемого значения.

Семантика функции определяет способ реализации функции. Обычно представляет собой тело функции.

Определение функции

Каждая функция в языке Си должна быть определена, то есть должны быть указаны:

· тип возвращаемого значения;

· имя функции;

· информация о формальных аргументах;

· тело функции.

Определение функции имеет следующий синтаксис:


Тип Возвращаемого Значения Имя Функции (Список Формальных Аргументов)

{

Тело Функции;

...

Return (Возвращаемое Значение);
}

Пример

float function(float x, float z)
{

float y;

y=x+z;

return(y);
}

В указанном примере возвращаемое значение имеет тип float. В качестве возвращаемого значения в вызывающую функцию передается значение переменной y. Формальными аргументами являются значения переменных x и z.

Если функция не возвращает значения, то тип возвращаемого значения для нее указывается как void. При этом операция return может быть опущена. Если функция не принимает аргументов, в круглых скобках также указывается void.

Различают системные (в составе систем программирования) и собственные функции.

Системные функции хранятся в стандартных библиотеках, и пользователю не нужно вдаваться в подробности их реализации. Достаточно знать лишь их сигнатуру. Примером системных функций, используемых ранее, являются функции printf() и scanf().

Собственные функции - это функции, написанные пользователем для решения конкретной подзадачи.

Разбиение программ на функции дает следующие преимущества:

· Функцию можно вызвать из различных мест программы, что позволяет избежать повторения программного кода.

· Одну и ту же функцию можно использовать в разных программах.

· Функции повышают уровень модульности программы и облегают ее проектирование.

· Использование функций облегчает чтение и понимание программы и ускоряет поиск и исправление ошибок.

С точки зрения вызывающей программы функцию можно представить как некий "черный ящик", у которого есть несколько входов и один выход. С точки зрения вызывающей программы неважно, каким образом производится обработка информации внутри функции. Для корректного использования функции достаточно знать лишь ее сигнатуру.

Вызов функции

Общий вид вызова функции

переменная = Имя Функции (Список Фактических Аргументов);

Фактический аргумент — это величина, которая присваивается формальному аргументу при вызове функции. Таким образом, формальный аргумент — это переменная в вызываемой функции, а фактический аргумент — это конкретное значение, присвоенное этой переменной вызывающей функцией. Фактический аргумент может быть константой, переменной или выражением. Если фактический аргумент представлен в виде выражения, то его значение сначала вычисляется, а затем передается в вызываемую функцию. Если в функцию требуется передать несколько значений, то они записываются через запятую. При этом формальные параметры заменяются значениями фактических параметров в порядке их следования в сигнатуре функции.





Поделиться с друзьями:


Дата добавления: 2016-11-02; Мы поможем в написании ваших работ!; просмотров: 653 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

2214 - | 2048 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.