И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина





НазваниеИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина
страница4/18
Дата публикации05.09.2013
Размер1.94 Mb.
ТипЛекция
100-bal.ru > Информатика > Лекция
1   2   3   4   5   6   7   8   9   ...   18

5. Присваивание и выражения

5.1 Краткая форма записи операторов присваивания

В программах часто встречаются операторы присваивания, в которых справа стоит выражение, модифицирующее текущее значение переменной, например:

number = number + 1;

Переменным часто присваиваются значения, вычисленные на основе их старых значений. Поэтому в Си++ была введена краткая форма записи для подобных опера­торов присваивания. Любую из операций "+" (сложение), "-" (вычитание), "*" (умно­жение), "/" (деление) и "%" (остаток от деления нацело) можно указать в качестве префикса оператора присваивания ("=") (cм. следующую таблицу).

Пример:

number += 1;

total -= discount;

bonus *= 2;

time /= rush_factor;

change %= 100;

amount *= count1 + count2;

Эквивалентное выражение:

number = number + 1;

total = total - discount;

bonus = bonus * 2;

time = time / rush_factor;

change = change % 100;

amount = amount * (count1 + count2);

Первый пример допускает еще более краткую запись с помощью оператора ин­кремента "++":

number++;

Оператор "++" существует и в префиксной форме:

++number;

Постфиксная и префиксная форма записи имеют важное различие, которое не­обходимо помнить. Префиксный оператор применяется ДО вычисления остальной части выражения, а постфиксный - ПОСЛЕ. Например, посоле выполнения операто­ров

х = 4; у = x++;

переменная "x" получит значение 5, а "y" - значение 4. В случае операторов

х = 4; у = ++x;

обе переменные получат значение 5. Это объясняется тем, что "++x" выполняется до того, как значение "x" будет использовано в выражении, а "x++" - после. В Си++ су­ществует аналогичный оператор декремента "-—", уменьшающий значение перемен­ной на 1, и у него тоже есть префиксная и постфиксная форма.

26

Вообще, выражение с оператором присваивания имеет значение, равное значе­нию левой части после выполнения присваивания. Ниже приведено выражение, соот­ветствующее правилам Си++, которое можно использовать для проверки условия:

(y = ++x) == 5

Это выражение означает следующее: "после присвоения переменной y инкре-ментированного значения x проверить, не равно ли значение y числу 5".

5.2 Логические выражения и операторы

Интуитивно логические выражения наподобие "2<7", "1.2!=3.7" и "6>=9" вос­принимаются человеком как утверждения, которые могут быть "истинными (true) " или "ложными (false) " (операция "!=" означает "не равно"). Допускается объеди­нение нескольких подобных выражений в более сложное выражение с помощью ло­гических операций "&&" ("И"), " | |" ("ИЛИ") и " !" ("НЕ") (см. таблицу).










Выражение:










Истинно или ложно:

(6

<=

6) && (5

<

3)
















false

(6

<=

6) || (5

<

3)
















true

(5

i =

6)






















true

(5

<

3) && (6

<=

6)

1 1

(5

i =

6)




true

(5

<

3) && ((6

<=

6)

|

1 (5

i =

6)

)

false

! (

(5

< 3) && (

(6

<=

6)

| |

(5

i =

6)))

true

В таблице в четвертом примере выражение истинно, поскольку приоритет опе­рации "&&" выше, чем у " | |". Приоритет (порядок выполнения) различных операций Си++ можно узнать в учебнике или руководстве по языку Си++, а также в справочной системе Visual C++ (тема Operator Precedence). Если у вас возникают сомнения отно­сительно приоритета операций, применяйте круглые скобки (). Применение этих скобок облегчает чтение программ.

Составные логические выражения обычно применяются в качестве условий в операторах if и в циклах for. Например:

if ( total_test_score >= 50 && total_test_score < 65 ) cout « "Вы прошли тест со средним результатом.\n";

У логических выражений в Си++ есть еще одно важное свойство. В Си++ ис­тинное значение ("true") представляется в виде целого числа 1 (большинство ком­пиляторов любое положительное число считают истинным значением), а ложное значение ("false") в виде значения 0. Это может привести к ошибкам. Например, легко напечатать "=" вместо "==". Поэтому фрагмент

if ( number_of_people = 1 )

cout « "Есть только один человек.\n";

всегда будет печатать сообщение "Есть только один человек", даже если до оператора

if переменная "number_of_people" была больше 1.

27

6. Сводка результатов

В данной лекции довольно подробно рассматривались переменные языка Си+ У переменных всегда есть определенный тип данных. Переменные применяются для временного или постоянного хранения значений разных типов. Значения переменным можно присваивать различными способами. В выражениях для вычисления новых значений переменных можно использовать различные арифметические и логические операции.

7. Упражнения

Упражнение 1

Для преобразования температуры из шкалы Цельсия в абсолютную шкалу тем­ператур (шкалу Кельвина) надо добавить к температуре по Цельсию значение 273.15. В шкалу Фаренгейта температура по Цельсию преобразуется tf =1.8 Г + 32.

Напишите программу преобразования значений температуры, которая будет печатать на экране следующую таблицу:

Цельсий Фаренгейт Абсолютная температура

О 32.00 273.15

20 68.00 293.15

40 104.00 313.15

300 572.00 573.15

Упражнение 2

Измените программу из упражнения 1 так, чтобы она запрашивала у пользова­теля минимальную и максимальную температуру по Цельсию, которые должны быть в первой и последней строках таблицы. Программа также должна запросить шаг из­менения температуры (на это значение должны отличаться температуры в соседних строках таблицы, в упражнении 1 шаг был равен 20-ти градусам).

Перед таблицей программа должна вывести несколько строк с пояснением сво­их действий, а также повторить вывод на экран введенных пользователем данных.

Упражнение 3

Напишите программу, которая считывает с клавиатуры символ (ch) и затем вы­водит одно из следующих сообщений (вместо ch должен выводиться введенный сим­вол, а вместо ... - соответствующая прописная или строчная буква):

а) если символ ch является строчной буквой - сообщение "Букве ch соответст­
вует прописная буква...",

б) если ch является прописной буквой - сообщение "Букве ch соответствует
строчная буква...",

в) если ch не является буквой - сообщение "Символ ch не является буквой".
Для составления необходимых условий обратитесь к расширенной таблице

символов ASCII (см. п.8.3).

Упражнение 4

Напишите программу для возведения произвольного числа x в положительную степень n с помощью цикла for. (Есть ли способы повышения эффективности вашей программы?)

28

8. Приложения

8.1 Служебные слова Си++

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

• Типы данных (определяют типы данных, которые можно хранить в памяти

компьютера),

char short int long (целые числа)

enum (тип "перечисление")

double float (вещественные числа)

void

struct union typedef (типы, определяемые

пользователем)

• Модификаторы типов данных (позволяют задать некоторые свойства хране­
ния данных в памяти).

signed unsigned

volatile register

const static extern auto

• Управление порядком выполнения операторов.

if

else




(ветвление с двумя вариантами)

switch

case

default

(множественное ветвление)

for

while

do

(циклы)

break

continue







return







(возврат из функции)

goto







(безусловный переход)
1   2   3   4   5   6   7   8   9   ...   18

Похожие:

И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
Цели: 1 продолжить знакомство с героями поэмы «Полтава»; познакомиться с изображением Полтавской битвы в поэме
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconИ. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной...
...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по подготовке, оформлению, предзащите и...
В. А. Усков, заместитель декана естественно-географического факультета по развитию, доцент кафедры физической географии и методики...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПроблемы коммуникации
М. Е. Евсевьева (зав кафедрой, доцент А. А. Ветошкин); С. А. Борисова, директор Института международных отношений Ульяновского государственного...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма по формированию навыков безопасного поведения на дорогах...
Елена Святославовна Симакова, кандидат педагогических наук, доцент кафедры гуманитарных и естественнонаучных дисциплин Рязанского...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПрограмма курса по выбору «Орнитология» предназначена для студентов...
Автор программы: к б н., доцент, зав кафедрой биологии и химии Марина Николаевна Харламова
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРоссийской Федерации Федеральное государственное образовательное...
Петренко И. М., зав кафедрой экономической теории, д-р экон наук профессор Дулин М. П., зав кафедрой педагогики и психологии, д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРахманкулова Людмила Кузьминична, кандидат филологических наук, доцент...
Автор программы: С. А. Виноградова, кандидат филологических наук, доцент, зав кафедрой английского языка и английской филологии
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconПротокол №5 От 12 января 2012 г Заседания кафедры электроники и вычислительной...
Зав кафедрой Хакимова Г. Г. сообщила, что кафедра проводит 2-й Чемпионат по цифровой схемотехнике
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconЛингвистические проблемы
Московского государственного педагогического института иностранных языков им. М. Тореза (зав кафедрой доцент Ю. А. Денисенко); д-р...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconМгпу учебно-методический комплекс дисциплины
А. В. Прялухина, кандидат психологических наук, доцент, зав кафедрой психологии Российского государственного социального университета...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «теория экономического анализа»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «международный менеджмент»
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconМетодические рекомендации по написанию курсовых работ дисциплине
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconУчебное пособие Краснодар 2008
В. А. Оробец); кафедра паразитологии и ветсанэкспертизы Донского государственного аграрного университета (зав кафедрой, проф., к...
И. П. Гиривенко к т. н., доцент, зав кафедрой информатики и вычислительной тех­ники Рязанского государственного педагогического университета им. С. А. Есенина iconРабочая программа по дисциплине «Экономика организаций (предприятий)...
Рецензент: к с н., доцент, зав кафедрой «Экономики и управления на предприятии и маркетинга» Пятигорского государственного гуманитарно-технологического...


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск