Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Начальное значение count равно 1000



Конечное значение count равно 1001

Так как увеличение значения переменной представляет собой обычную операцию в программах, в C++ есть операция увеличения — двойной знак плюс (++). Операция увеличения обеспечивает быстрый способ прибавления единицы к значению переменной. Следующие операторы, например, увеличивают значение переменной count на 1:

count = count + 1; count++;

 

Программа в примере 4.21 использует операцию увеличения для наращивания значения переменной count на 1:

Пример 4.21

#include < iostream.h>

void main(void)

{
int count = 1000;
cout < < " начальное значение count равно " < < count < < endl;
count++;
cout < < " конечное значение count равно " < < count < < endl;
}

 

Эта программа работает так же, как программа примера 4.8, которая использовала оператор присваивания для увеличения значения переменной. Когда C++ встречает операцию увеличения, он сначала выбирает значение переменной, добавляет к этому значению единицу, а затем записывает результат обратно в переменную.

1.11.2. Представление о префиксной (до) и постфиксной (после) операциях увеличения

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

++variable;

variable++;

 

Так как первый оператор появляется до переменной, он называется префиксным оператором увеличения. Аналогично этому, второй оператор появляется после переменной и называется постфиксным оператором увеличения. Вам необходимо знать, что C++ трактует эти два оператора по-разному. Например, рассмотрим следующий оператор присваивания:

current_count = count++;

 

Этот оператор присваивания указывает C++ присвоить текущее значение count переменнойcurrent_count. В дополнение к этому постфиксный оператор увеличения заставляет C++ увеличить текущее значение count. Использование постфиксного оператора в этом случае делает показанный выше оператор эквивалентным следующим двум операторам:

current_count = count;

count = count + 1;

Теперь рассмотрим следующий оператор присваивания, который использует префиксный оператор увеличения:

current_count = ++count;

 

В этом случае оператор присваивания указывает C++ сначала увеличить значение count, а затем присвоить результат переменной current_count. Использование префиксного оператора увеличения делает показанный выше оператор эквивалентным следующим двум операторам:

count = count + 1;

current_count = count;

 

Важно освоить префиксную и постфиксную операции увеличения, так, как они будут встречаться вам в большинстве программ на C++. Программа в примере 4.22 иллюстрирует использование префиксной и постфиксной операций увеличения:

Пример 4.22

#include < iostream.h>

void main(void)

{
int small_count = 0;
int big_count = 1000;
cout < < " small_count равно " < < small_count < < endl;
cout < < " small_count++ производит " < < small_count++ < < endl;
cout < < " конечное значение small_count равно " < < sniall_count < < endl;
cout < < " big_count равно " < < big_count < < endl;
cout < < " ++big_count производит " < < ++big_count < < endl;
cout < < " конечное значение big_count равно " < < big_count < < endl;
}

 

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

small_count равно 0

small_count++ производит 0

конечное значение small_count равно 1

big_count равно 1000

++big_count производит 1001

конечное значение big_count равно 1001

 

С переменной small_count программа использует постфиксную операцию увеличения. В результате программа выводит текущее значение переменной (0), а затем увеличивает его на 1. С переменной big_count программа использует префиксную операцию увеличения. В результате программа сначала увеличивает значение переменной (1000 + 1), а затем выводит результат (1001). Найдите время, чтобы отредактировать эту программу, и сначала измените постфиксную операцию на префиксную, а затем префиксную на постфиксную. Откомпилируйте и запустите программу, обращая внимание на то, как изменение операции изменяет вывод.

1.11.3. С++ обеспечивает также операции уменьшения

Как вы уже знаете, двойной знак плюс (++) представляет собой оператор увеличения C++. Подобным образом двойной знак минус (--) соответствует оператору уменьшения C++, который уменьшает значение переменной на 1. Как и в случае с операцией увеличения, C++ поддерживает префиксный и постфиксный операторы уменьшения. Программа в примере 4.23 иллюстрирует использование оператора уменьшения C++:

Пример 4.23

#include < iostream.h>

void main(void)

{
int small_count = 0;
int big_count = 1000;
cout < < " small_count равно " < < small_count < < endl;
cout < < " small_count-- производит " < < small_count-- < < endl;
cout < < " конечное значение small_count равно " " small_count < < endl;
cout < < " big_count равно " < < big_count < < endl;
cout < < " --big_count производит " < < --big_count < < endl;
cout < < " конечное значение big_count равно " < < big_count < < endl;
}

 

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

small_count равно 0

small_count-- производит 0

конечное значение small_count равно -1

big_count равно 1000

--big_count производит 999

конечное значение big_count равно 999

 

Как видите, префиксный и постфиксный операторы уменьшения C++ работают так же, как и соответствующие операторы увеличения, с той лишь разницей, что они уменьшают значение переменной на 1.

2. ЗАДАНИЕ

2.1. Изучить теоретические сведения.

2.2. Изучитьоперации языка С++ и приоритет операций.

2.3. Выражения.

2.4. Правила записи выражений в С++.

2.5. Изучить правила использования математических функций языка С++.

2.6. Операции инкремента и декремента.

2.7. Понятие переменной.

2.8. Объявление переменных.

2.9. Разобрать и выполнить примеры к данной лабораторной работе.

2.10. Написать и отладить три программы на языке С++.

Задания

2.11.1. Задание 1. Написать программу для вычисления линейного арифметическо­го выражения. Вычислить значение выражения при заданных исходных данных. Сравнить полученное значение с указанным правильным результатом.

Варианты задания приведены в табл. 4.14. Вариант соответствует номеру в журнале группы.

Таблица 4.14

Индивидуальные варианты задания

 

Вариант Вид функции Данные Ответ
x = 14.26; y = - 1.22; z = 3.5x10-2 s = 0.749155.
x = -4.5; y = 0.75x10-4; z = -0.845 x102 s = -3.23765.
x = 3.74 x10-2; y=-0.825; z = 0.16 x102 s = 1.05534.
x = 0.4x104; y = -0.875; z = -0.475x10-3 s = 1.98727.
x = -15.246; y = 4.642 x10-2; z = 21 s = -182.038.
x = 16.55 x10-3; y = -2.75; z = 0.15 s = -40.6307.
x = 0.1722; y = 6.33; z = 3.25x10-4 s = -205.306.
x = -2.235 x10-2; y = 2.23; z = 15.221 s = 39.3741.
x = 1.825 x102; y = 18.225; z = -3.298 x10-2 s = 1.21308.
x = 3.981 x10-2; y = -1.625 x103; z = 0.512 s = 1.26185.
x = 6.251; y = 0.827; z = 25.001 s = 0.712122.
x = 3.251; y = 0.325; z = 0.466x10-4 s = 4.23655.13
x = 17.421; y = 10.365x10-3; z = 0.828x105 s = 0.330564.
x = 12.3x10-1; y = 15.4; z = 0.252x103 s = 82.8256.
x = 2.444; y = 0.869 x10-2; z = -0.13 x103 s = -0.498707.
x=14.26; y=-1.22; z=3.5 x 10-2 t=0.564849
x=-4.5; y=0.75 x10-4; z=0.845 x102 u=-55.6848
x=3.74 x 10-2; y=-0.825; z=0.16 x102 v=1.0553
x=0.4 x 104; y=-0.875; z=-0.475 x 10-3 w=1.9873
x=-15.246; y=4.642 x 10-2; z=20.001 x 102 a=-182.036
x=16.55 x 10-3; y=-2.75; z=0.15 b=-40.63069
x=0.1722; y=6.33; z=3.25 x 10-4 g=-205.305
x=-2.235 x10-2; y=2.23; z=15.221   j=39.374.
x=1.825 x 102; y=18.225; z=-3.298 x 10-2 y=1.2131
x=3.981 x 10-2; y=-1.625 x 103; z=0.512 a=1.26185
x=6.251; y=0.827; z=25.001 b=0.7121
x=3.251; y=0.325; z=0.466x 10-4 c=4.025
x=17.421; y=10.365 x 10-3; z=0.828 x 105 f=0.33056
x=12.3 x 10-1; y=15.4; z=0.252 x 103 g=82.8257
x=2.444; y=0.869x10-2; z=-0.13x103 h =-0.49871

 

Пример 4.12. Написать программу для вычисления линейного арифметическо­го выражения.

При x = 2.45, y = - 0.423x10-2, z = 1.232x103 ответ h = 6.9465.

 

Текст программы:

 

#include < iostream.h> #include < math.h>

int main ()

{

double x, y, z, a, b, c, h;

cout < < " Vvedite x: ";

cin > > x; cout < < " Vvedite y: ";

cin > > y; cout < < " Vvedite z: ";

cin > > z;

a = pow(x, 2*y)+exp(y-1);

b = 1+x*fabs(y-tan(z));

c = 10*pow(x, 1/3.)-log(z);

h = a/b+c;

cout < < " Result h= " < < h < < endl;

 

getch();

return 0;

}

 

2.11.2. Задание 2. Написать программу для вычисления линейных арифметических выражений. Исходные данные для переменных, используемых в выражениях, задать самостоятельно.

Варианты задания приведены в табл. 4.15. Вариант соответствует номеру в журнале группы.

Таблица 4.15

Индивидуальные варианты задания

 

Вариант Индивидуальные задания
Ввести с клавиатуры целые i1, i2, i3 и действительные d1, d2, d3 величины. Вычислить
Ввести с клавиатуры целые i, j, к и действительные х, у вели­чины. Вычислить
Ввести с клавиатуры целые а1, a2, а3 и действительные т, п величины. Вычислить
Ввести с клавиатуры целые i, _ j, к и действительные а, b, с величины. Вычислить
Ввести с клавиатуры целые а, р, (ги действительные dl, d2 величины. Вычислить
Ввести с клавиатуры целые а, b, с и действительные d, e вели­чины. Вычислить
Ввести с клавиатуры целые р, r, q и действительные а, b, с величины. Вычислить
Ввести с клавиатуры целые g, f Ни действительные dl, d2 величины. Вычислить
Ввести с клавиатуры целые i1, i2, i3 и действительные а, b ве­личины. Вычислить
Ввести с клавиатуры целые а, b, с и действительные gl, g2 величины. Вычислить
Ввести с клавиатуры целые i, j, к и действительные т, п вели­чины. Вычислить
Ввести с клавиатуры целые cl, с2, сЗ и действительные si, s2 величины. Вычислить
Ввести с клавиатуры целые х, у, z и действительные v, w вели­чины. Вычислить
Ввести с клавиатуры целые /, и, za действительные zl, z2 величины. Вычислить
Ввести с клавиатуры целые а, b, с и действительные е, / вели­чины. Вычислить
Ввести с клавиатуры целые а1, а2, а3 и действительные b1, b2 величины. Вычислить
Ввести с клавиатуры целые r, p, m и действительные х, у вели­чины. Вычислить
Ввести с клавиатуры целые т, п, р и действительные dl, d2 величины. Вычислить
Ввести с клавиатуры целые k, к,. kkk и действительные т, п величины. Вычислить
Ввести с клавиатуры целые а, b, с и действительные alpha, beta величины. Вычислить
Ввести с клавиатуры целые tl, t2, t3 и действительные d, e величины. Вычислить
Ввести с клавиатуры целые ml, тп2, т3 и действительные а, b величины. Вычислить
Ввести с клавиатуры целые i, j, k, n и действительные v, w величины. Вычислить
Ввести с клавиатуры целые а, b, с и действительные d, e вели­чины. Вычислить
Ввести с клавиатуры целые i, j, к и действительные т, п вели­чины. Вычислить
Ввести с клавиатуры целые i, _ j, к и действительные а, b, с величины. Вычислить

 

Пример 4.13. Условие задачи. Ввести с клавиатуры целые il, i2, i3 и действи­тельное а величины. Вычислить выражения:

 

 

 

Программа

 

/* Лабораторная работа 4 (часть2)* /

/* Автор: Семенов гр. ИНФО-101 */

/* 16.02.2012 */

# include< stdio.h>

# include< math.h>

# include< conio.h>

main()

{

int i1, i2, i3, gamma;

double a, alpha, beta;

 

printf(" Введите целые значения для i1, i2 и i3" );

scanf(" %i%i%i", & i1, & i2, & i3);

printf(" Введите действительное а" );

scanf(" %lf", & a);

 

alpha = 3.0/4*(i1+i2)/i2+2.0/3*(i2+i3)/i1;

beta=(a+i1/(i2+i3))/(a+i1*i3/i2);

gamma=i1*i2 +i2*i3+i3*i1;

 

printf(" i1 = %i i2 = %i i3 = %i gamma =%i", i1, i2, i3, gamma);

printf(" \na = %lf alpha = %lf beta = %lf", a, alpha, beta);

getch();

return(0);

}

 

 


Поделиться:



Популярное:

  1. Work in small groups and discuss these questions about your country.
  2. В каком случае равновесная цена должна увеличиваться при одновременном уменьшении равновесного количества?
  3. В случае равного количества очков, набранных командами двух стран, имеющих по одинаковому количеству первых мест, та команда, у которой больше вторых мест имеет преимущество при распределении и т.д.
  4. В. ПРАКТИКА ПРИВЕДЕНИЯ В РАВНОВЕСИЕ И ГАРМОНИЮ ВСЕЙ СИСТЕМЫ - ШАГ ЗА ШАГОМ
  5. Влияние факторов рыночного равновесия на изменение экономического риска.
  6. Возвращение к равновесию с природой
  7. Возможные задержки и неисправности автомата при стрельбе, способы их устранения
  8. Возникновение, развитие и первоначальное применение лыж
  9. Вопрос 3. Кейнсианская модель экономического равновесия
  10. Генераторы на основе линейных регистров сдвига (фильтрующие, комбинирующие, с неравномерным движением).
  11. Гидростатическое равновесие тела пловца
  12. Гидростатическое равновесие тела пловца


Последнее изменение этой страницы: 2016-05-03; Просмотров: 1186; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.064 с.)
Главная | Случайная страница | Обратная связь