Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Lecture_02

.pdf
Скачиваний:
11
Добавлен:
25.02.2016
Размер:
198 Кб
Скачать
☆

1// Fig. 2.7: fig02_07.cpp

2// Class average program with counter-controlled repetition.

3#include <iostream>

4

5 using namespace std;

6

7// function main begins program execution

8int main()

9{

10

int total;

// sum of grades input by user

11

int gradeCounter;

// number of grade to be entered next

12

int grade;

// grade value

13

int average;

// average of grades

14

 

 

15

// initialization

phase

16

total = 0;

// initialize total

17

gradeCounter = 1;

// initialize loop counter

18

 

 

21

•

19

// processing phase

 

 

 

20

while (

gradeCounter <= 10 ) {

// loop

10 times

 

21

cout << "Enter grade: ";

// prompt for input

 

22

cin

>> grade;

//

read grade from user

 

23

total = total + grade;

//

add

grade to total

24gradeCounter = gradeCounter + 1; // increment counter

25}

26

 

The counter gets incremented

27

// termination phase

each time the loop executes.

28

average = total / 10; // integer division

Eventually, the counter causes

29

 

the loop to end.

 

 

30// display result

31cout << "Class average is " << average << endl;

33return 0; // indicate program ended successfully Enter grade: 98

34

35 } // end function main Enter grade: 76 Enter grade: 71

Enter grade: 87 Enter grade: 83 Enter grade: 90 Enter grade: 57 Enter grade: 79 Enter grade: 82 Enter grade: 94 Class average is 81

2.10 Assignment Operators

• Assignment expression abbreviations

– Addition assignment operator

c = c + 3; abbreviated to c += 3;

• Statements of the form

variable = variable operator expression;

can be rewritten as

variable operator= expression;

• Other assignment operators

d -= 4

(d = d - 4)

 

e *= 5

(e = e * 5)

 

f

/=

3

(f = f

/

3)

23

g

%=

9

(g = g

%

9)

 

2.11 Confusing Equality (==)

and Assignment (=) Operators

• Example

if ( payCode == 4 )

cout << "You get a bonus!" << endl;

–If paycode is 4, bonus given

•If == was replaced with =

if ( payCode = 4 )

cout << "You get a bonus!" << endl;

–Paycode set to 4 (no matter what it was before)

–Statement is true (since 4 is non-zero)

–Bonus given in every case

24

2.12 Increment and Decrement

Operators

•Increment operator (++)

–Increment variable by one

–c++

• Same as c += 1 or c = c + 1

•Decrement operator (--) similar

–Decrement variable by one

–c—-

•Same as c -= 1 or c = c - 1

25

2.12 Increment and Decrement

Operators

•Preincrement

–Variable changed before used in expression

•Operator before variable (++c or --c)

•Postincrement

–Incremented changed after expression

•Operator after variable (c++, c--)

26

2.12 Increment and Decrement

Operators

• If c = 5, then

–cout << ++c;

•c is changed to 6, then printed out

–cout << c++;

•Prints out 5 (cout is executed before the increment.

•c then becomes 6

27

2.12 Increment and Decrement

Operators

• When variable not in expression

–Preincrementing and postincrementing have same effect

++c;

cout << c;

and

c++;

cout << c;

are the same

28

•1 // Fig. 2.14: fig02_14.cpp

•2 // Preincrementing and postincrementing.

•3 #include <iostream>

•4

•5 using std::cout;

•6 using std::endl;

•7

•8 // function main begins program execution

•9 int main()

•

10

{

 

•

11

int c;

// declare variable

•12

•13 // demonstrate postincrement

•

14

c = 5;

// assign 5 to c

•

15

cout << c << endl;

 

// print 5

•

16

cout << c++ << endl;

// print 5 then postincrement

•17 cout << c << endl << endl; // print 6

•18

•19 // demonstrate preincrement

•

20

c = 5;

// assign 5 to c

 

•

21

cout << c << endl;

 

// print 5

 

•

22

cout << ++c << endl;

// preincrement then print 6

 

•

23

cout << c << endl;

 

// print 6

29

•

24

 

•

25

return 0; // indicate successful termination

•26

•27 } // end function main

5

5

6

5

6

6

30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]