Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операции над элементами двумерного массива

Поиск

Инициализация:

for(i=0;i<=m-1;i++)

 for(j=0;j<=n-1;j++)

 a[i][j]=0;

Ввод:

for(i=0;i<=m-1;i++)

 for(j=0;j<=n-1;j++)

 scanf("%d",&a[i][j]);

Вывод:

for(i=0;i<=m-1;i++)

{for(j=0;j<=n-1;j++)

       printf("%5d ",a[i][j]);

     printf("\n");}

/*вывод в виде таблицы*/

Примеры поиска элементов:

Найти сумму отрицательных элементов

s=0; for(i=0;i<=m-1;i++)

for(j=0;j<=n-1;j++)if(a[i][j]<0)s+=a[i][j];

printf("summa =%d\n",s);

Найти количество четных элементов

k=0; for(i=0;i<=m-1;i++)

for(j=0;j<=n-1;j++)if(a[i][j]%2= =0)k++;

printf("количество =%d\n",k);

 

 

21. Функции пользователя (объявление, прототип, вызов, примеры).

Функции

В языке Cи задача может быть разбита на более простые подзадачи при помощи подпрограмм-функций. Использование подпрограмм в коде программы и ведет к упрощению ее структуры, поскольку функцию записывают один раз, а вызывать ее на выполнение можно многократно из разных точек программы. Кроме того, упрощается процесс отладки программы, содержащей подпрограммы.

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

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

Объявление функции пользователя, выполняется в двух формах – в форме описания (объявления) и в форме прототипа.

Формат объявления(описания) функции:

тип_результата имя_функции (список формальных параметров)

{тело_ функции}

Пример:

int sum(int a, int b)

{return a+b;}

Тип результата — это тип возвращаемого функцией результата. Если функция не возвращает никакого результата, то для нее указывается тип void.

Имя функции — идентификатор, задаваемый программистом, или main для основной функции.

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

Например, void main(void).

Тело функции — это либо составной оператор, либо блок. Признаком блока является наличие описаний программных объектов (переменных, массивов и т.д.), которые действуют в пределах этого блока. Блок, как и составной оператор, ограничивается фигурными скобками.

В Си действует правило: тело функции не может содержать в себе определения других функций.

Оператором возврата из функции в точку ее вызова является оператор return. Он может использоваться в функциях в двух формах:

return; или return выражение;

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

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

Прототип - предварительное описание функции, задает имя функции, тип возвращаемого результата, количество и типы параметров.

Прототип функции:

тип_результата имя_функции (список);

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

Точка с запятой в конце прототипа ставится обязательно!

Пример:

int sum(int, int); или   int sum(int a, int b);



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 106; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.216.70.205 (0.008 с.)