Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Передача данных в функцию по умолчанию




Определение переменных

Лекция 16

Алгоритмический язык С++

1 Во введении уже было сказано о том, насколько важно знать язык С++ для системного программирования. Ниже приводятся основы этого языка. Недостающие сведения могут быть пополнены из литературы или сети Internet.

Язык С++ основывается на С. Программы на С легко могут быть перекомпилированы как программы на С++. Есть, однако, несколько конструкций, которые в С и С++ обрабатываются по-разному. Кроме того, язык С++ - объектно-ориентированный. Это предоставляет программисту ряд дополнительных возможностей.

 

16.1 Ключевые слова С++

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

asm, try, catch, throw, this, template, class, public, private, protected, virtual, friend, new, delete, const, volatile, inline, signed, overload, operator.

 

В языке С все локальные переменные должны определяться до первого исполняемого оператора. В С++ определять переменные можно в любом месте.

Пример:

#include<stdio.h>

#define N 5

void main()

{

float x[N], s=Ø;

for (int i=Ø; i<N; i++)

{

printf (“Введите x[%i]=\n”,i);

scanf(“%f”, &x[i]);

s+=x[i];

}

/*В цикле for описана переменная int i*/

float y[N]; //описан еще один массив

for (i= Ø; i<N; i++)//2-й раз переменную i описывать нельзя

{

y[i]=x[i]-s/N;

printf(“y[%i]=%f\n”,i,y[i]);

}

}

В прототипе функции С++ можно указать значения по умолчанию некоторых формальных параметров. Это позволяет пропустить соответствующие аргументы при вызове функции. На их место компилятор подставит значения, указанные по умолчанию. Параметры по умолчанию должны располагаться последовательно после тех формальных параметров, которые не имеют таких значений. Прототип функция имеет вид:

тип_результата имя_функции (параметры без значений, параметры со значениями по умолч.);

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

Соответственно, если при вызове функции параметр опускается, то опускаются и все параметры справа.

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

Инициализация формальных параметров может производиться также значениями глобальных переменных или констант.

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

#include <stdio.h>

void zarplata (char*s, int days=24, float rascenka=3Ø.5);

void main ()

{

zarplata (“кум”);//работал 24 дня по 3Ø.5 грн/день

zarplata (“брат”, 26); //работал 26 дней по 3Ø.5 грн/день

zarplata (“сват”, 24, 41); //24 дня по 41 грн/день

}

void zarplata (char*s, int days, float rascenka)

{

printf(“%s заработал %f гривен\n”, s, days*rascenka);

}




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


Дата добавления: 2015-06-27; Просмотров: 588; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.