Язык "С" и Linux. --- 2. Собственные функции.

Posted on Апрель 22nd, 2009 by freemaster and tagged , , .

Сейчас будем разбираться что такое функция.
Вот пример:


#include <stdio.h>
main()
{
 int i;
 printf("\nВозведение в чисел \"2\" и \"-3\" в степень\n\n");
 printf("      2       -3\n");
 printf("_________________\n");
 for (i=0; i<10; ++i)
  printf("%2d | %3d | %6d\n", i, func(2,i), func(-3,i)); 
   /*"func(x,n)" означает обращение к функции FUNC которая будет описана ниже*/
   /*функции придумываются самостоятельно*/
 return 0;
}

func(x,n) /* описание функции */
int x, n;
{
 int i, p;
 p = 1;
 for (i=1; i<=n; ++i)
  p = p * x;
 return (p); /* возвращает возведенное в степень число */
}

Тут стоит обратить внимание, что функция - это как будто маленькая программа внутри основной. Ей можно дать свое любое название (здесь FUNC можно назвать по другому), и выполнять она может самые разные задания. Еще интересный факт:
В программе приведенной выше есть 2 функции:
main()
func(x,n)
В этих функциях могут быть переменные с одинаковым названием (z в main и z в func) но они будут совершенно независимыми друг от друга (разными)!

Здесь мы видим: в языке "С" нет оператора возведения в степень. Тогда мы сделаем его сами с помощью функции! Функция - одна из важнейших частей языка "С".

Комментарии

Re: Язык "С" и Linux. --- 2. Собственные функции.

во-первых #include -> #include "stdio.h"

во-вторых: Описание функции:
[тип возвращаемого значения] [название функции]([входные параметры])
{
блок команд;
}

Пример:
 
int summ(int a, int b){
  return a+b;
}

тип возвращаемого значения - int
название функции - summ
входные параметры - int a и int b

блок команд: return a+b; - вернуть сумму входных параметров

Вызов:

int с = summ(a,b);

Comment by helios on Апр 23rd, 2009 at 8:56 после полудня

Re: Язык "С" и Linux. --- 2. Собственные функции.

во-первых #include -> #include "stdio.h" тогда уж <stdio.h> опечатка

А с функциями все правильно, обновите знания))) По крайней мере все работает и так о функции написано в моей книге.

Comment by freemaster on Апр 24th, 2009 at 3:39 после полудня

Re: Язык "С" и Linux. --- 2. Собственные функции.

если ты не описывал свой файл stdio.h в текущей дирректории, то можно и в кавычках

Comment by helios on Апр 24th, 2009 at 11:55 после полудня

Re: Язык "С" и Linux. --- 2. Собственные функции.

кстати коммунити вот эти "<" символы принимает за теги и не отображает

Comment by freemaster on Апр 25th, 2009 at 3:22 после полудня
Comment by helios on Апр 25th, 2009 at 8:19 после полудня

Re: Язык "С" и Linux. --- 2. Собственные функции.

Спасибо, катит Smile

ЗЫ я HTML пока изучать не планирую Smile

Comment by freemaster on Апр 27th, 2009 at 11:43 утра

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.
  • Поисковые системы будут индексировать и переходить по ссылкам на разрешённые домены.

  • You may insert videos with [video:URL]
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <apt>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <pascal>, <php>, <python>, <ruby>, <sql>, <xml>. The supported tag styles are: <foo>, [foo].
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании