Lecture 1

44
AU/MITM/1.6 By Mohammed A. Saleh 1

description

Introduction to C++ Programming

Transcript of Lecture 1

Page 1: Lecture 1

AU/MITM/1.6

By Mohammed A. Saleh

1

Page 2: Lecture 1

The course runs from 13th April – 01st May

Total contact hours = 30 hrs

Lectures will always be conducted from

5 PM – 7 PM, unless stated otherwise.

Venue : Lab 4 (Block A, 4th Floor )

Page 3: Lecture 1

Coursework: Test 1 - 20 marks Test 2 - 20 marks Assignment - 10 marks Project - 10 marks

Total 60 marks

Final Exam - 40 marks

Page 4: Lecture 1

➩Module 1Problem solving with computers problem solving techniques – Structured programming sequence structure – Selection Structure – Loop Structure – Advantages

➩Module 2Fundamentals of C++ - Operators and Expressions – Data Input and Output – Control Structures – Storage Classes – Arrays and Strings

Page 5: Lecture 1

➩Module 3

Functions and Pointers – Structures and Unions – Files

➩Module 4

Principles of OOPS – Tokens, expressions and control structures, functions – classes and objects, constructors and destructors, operator overloading and type conversion

Page 6: Lecture 1

➩Module 5

Inheritance – Pointers – Virtual Functions – Polymorphism – Managing console I/O operations - Files

Page 7: Lecture 1

• Decisions play a major role in providing problem solving techniques. Computer programs are all about making decisions. If a user presses a key the computer responds to the command.

• For example if a user presses Ctrl + C, the computer copies the currently selected area to the clipboard.

• Programs that do not make decisions are necessarily pretty boring.

Page 8: Lecture 1

For a computer program to decide what action to take, it uses flow-control commands. This is based on the results of the C++ logical operator.

Page 9: Lecture 1

Simple programming exercises can be solved by just writing code to implement the desired problem.

Complex programs, however can be difficult to write and impossible to debug if not implemented using a structured design process

Page 10: Lecture 1

• Programs could be written in in terms of three control structures:

a) Sequence structure

b) Selection structure

c) Loop/ Repetition structure

Page 11: Lecture 1

• Built into C++. Unless directed otherwise the computer executes C++ statements one after another in the order in which they are written.

Basic blocksDecision

Start

Stop Process

Page 12: Lecture 1

Basic structure

Figure 1.0: SEQUENCE structure

Page 13: Lecture 1

• C++ provides three types of selection structures:

i. The IF statement (single-selection structure) • When a C++ program must choose whether to take a particular action,

you usually implement the choice with an IF statement.

‘If you have a Captain cookie, you get a free cookie.’ (ordinary English)

Page 14: Lecture 1

• The IF statement directs a program to execute a statement or statement block if a test condition is true and to skip that statement or block if the condition is false. Thus, an if statement lets a program decide whether a particular statement should be executed.

• The syntax for the if statement:

if (test-condition)

statement

Page 15: Lecture 1

• A true test-condition causes the program to execute statement, which can be a single statement or a block. A false test-condition causes the program to skip statement.

Figure 2.0: The structure of IF statement

Page 16: Lecture 1

if ( grade >= 60 )

cout << “ Passed”; The example above determines the condition

‘student’s grade is greater than or equal to 60’ is true or false.

Page 17: Lecture 1

ii. The IF/ ELSE statement (double-selection) Lets a program decide which of two statements or

blocks is execute. It’s an invaluable statement for creating alternative courses of action.

‘If you have a Captain Cookie card, you get a Cookie Plus Plus, else you just get an Ordinary Cookie.’

Page 18: Lecture 1

The syntax for the IF/ELSE statement:

if (test-condition)

statement1

else

statement2 If test-condition is true, the program executes

statement1 and skips over statement2. Otherwise, when test-condition is false, the program skips statement1 and executes statement2 instead.

Page 19: Lecture 1

Code Fragment:

if (answer == 1492)

cout << “That’s right!\n”;

else

cout << “You’d better review the topic again.\n”;

Prints the first message if answer is 1492 and prints the second message otherwise. Each statement can be either a single statement or a statement block delimited by braces.

Page 20: Lecture 1

Figure 2.0: The structure of IF statement

Page 21: Lecture 1

Formatting IF/ ELSE statements The two alternatives in an if else statement must be single

statements. If you need more than one statement, you must use braces to collect them into a single block statement.

C++ does not automatically consider everything between if and else a block, so you have to use braces to make the statement a block.

Page 22: Lecture 1

The following code produces a compiler error:

if (ch == ‘Z’)

zorro++; // if ends here

cout << “Another Zorro candidate\n”;

else // wrong dull++;

cout << “Not a Zorro candidate\n”;

Page 23: Lecture 1

Seen as a simple if statement that ends with the zorro++; statement. Then there is a cout statement. So far, so good. But then there is what the compiler perceives as an unattached else, and that is flagged as a syntax error.

You need to add braces to the code to executed the way you want

Page 24: Lecture 1

After adding braces

if (ch == ‘Z’)

{ // if true block

zorro++;

cout << “Another Zorro candidate\n”;

}

else {

dull++;

cout << “Not a Zorro candidate\n”; }

Page 25: Lecture 1

iii. The SWITCH statement Suppose you create a screen menu that asks the user

to select one of five choices—for example, Cheap, Moderate, Expensive, Extravagant, and Excessive. The C++ switch statement more easily handles selecting a choice from an extended list.

Page 26: Lecture 1

The syntax for the switch statement:

switch (integer-expression)

{

case label1 : statement (s)

case label2: statement (s)

...

default : statement (s)

}

Page 27: Lecture 1

The switch statement acts a routing device, it tells the computer which line of code to execute next.

On reaching a switch statement, a program jumps to the line labeled with the value corresponding to the value of integer-expression, for example, if integer- expression has the value 4, the program goes to the line that has a case 4:label

Page 28: Lecture 1

Figure 3.0: The structure of SWITCH statement

Page 29: Lecture 1

Each C++ case label functions only as a line label, not as a boundary between choices. That is, after a program jumps to a particular line in a switch, it then sequentially executes all the statements following that line in the switch.

To make execution stop at the end of a particular group of statements, you must use the break statement

Page 30: Lecture 1

A repetition structure allows the programmer to specify that an action is to be repeated while some condition remains true.

C++ provides three types of selection structures:

i. The FOR Loop

ii. The WHILE Loop

iii. The DO … WHILE Loop

Page 31: Lecture 1

i. The WHILE Loop This a looping structure that executes a statement

after a test-condition holds true. The syntax for the WHILE loop:

while (test-condition)

body A program evaluates the test-condition expression.

If it true, the program executes the statement(s) in the body.

Page 32: Lecture 1

Figure 4.0: The structure of a WHILE loop

Page 33: Lecture 1

1. Comments

2. Load <iostream>

3. main

3.1 Print "Welcome to C++\n"

3.2 exit (return 0)

Program Output

1 // firstcpp.cpp

2 // A first program in C++

3 #include <iostream>

4

5 int main()

6 {

7 cout << ”Hello World!\n";

8

9 return 0; // indicate that program ended successfully

10 }

Hello World !

preprocessor directive Message to the C++ preprocessor.Lines beginning with # are preprocessor directives.#include <iostream> tells the preprocessor to include the contents of the file <iostream>, which includes input/output operations (such as printing to the screen).

CommentsWritten between /* and */ or following a //.Improve program readability and do not cause the computer to perform any action.

C++ programs contain one or more functions, one of which must be mainParenthesis are used to indicate a functionint means that main "returns" an integer value.

A left brace { begins the body of every function and a right brace } ends it.

Prints the string of characters contained between the quotation marks.

The entire line, including std::cout, the << operator, the string ”Hello World !\n" and the semicolon (;), is called a statement.

All statements must end with a semicolon.

return is a way to exit a function from a function.return 0, in this case, means that the program terminated normally.

Page 34: Lecture 1

Printing a line of text cout

- Standard output stream object

- “Connected” to the screen <<

- Stream insertion operator

- Value to the right of the operator inserted into output stream

- cout << “ Hello World !! \n”;

Page 35: Lecture 1

Printing a line of text \

- Escape character

- Indicates that a “special” character is to be output <<

- Stream insertion operator

- Value to the right of the operator inserted into output stream

- cout << “ Hello World !! \n”;

Page 36: Lecture 1

There are multiple ways of to print text

Escape Sequence Description

\n Newline. Position the screen cursor to the beginning of the next line.

\t Horizontal tab. Move the screen cursor to the next tab stop.

\r Carriage return. Position the screen cursor to the beginning of the current line; do not advance to the next line.

\a Alert. Sound the system bell.

\\ Backslash. Used to print a backslash character.

\" Double quote. Used to print a double quote character.

Page 37: Lecture 1

1. Load <iostream>

2. main

2.1 Print "Welcome"

2.2 Print "to C++!"

2.3 newline

2.4 exit (return 0)

Program OutputHello World !

1 // firstcpp.cpp

2 // Printing a line with multiple statements

3 #include <iostream>

4

5 int main()

6 {

7 std::cout << ”Hello ";

8 std::cout << ”World !\n";

9

10 return 0; // indicate that program ended successfully

11 }

Unless new line '\n' is specified, the text continues on the same line.

Page 38: Lecture 1

1. Load <iostream>

2. main

2.1 Print "Welcome"

2.2 newline

2.3 Print "to"

2.4 newline

2.5 newline

2.6 Print "C++!"

2.7 newline

2.8 exit (return 0)

Program Output

1 // firstcpp.cpp

2 // Printing multiple lines with a single statement

3 #include <iostream>

4

5 int main()

6 {

7 std::cout << ”Hello\n\n World !\n";

8

9 return 0; // indicate that program ended successfully

10 }

Hello 

World !

Multiple lines can be printed with one statement.

Page 39: Lecture 1

Adding Two Integers Variable

Location in memory where a value can be stored for use by a program

Must be declared with a name and a data type before they can be used

Some common data types are: int - integer numbers char - characters double - floating point numbers

Page 40: Lecture 1

Example: int myvariable; Declares a variable named myvariable of

type intExample: int variable1, variable2;

Declares two variables, each of type int

Page 41: Lecture 1

1. Load <iostream>

2. main

2.1 Initialize variables integer1, integer2, and sum

2.2 Print "Enter first integer"

2.2.1 Get input

2.3 Print "Enter second integer"

2.3.1 Get input

2.4 Add variables and put result into sum

2.5 Print "Sum is" 2.5.1 Output sum

2.6 exit (return 0)

Program Output

1 // Add.cpp

2 // Addition program

3 #include <iostream>

4

5 int main()

6 {

7 int integer1, integer2, sum; // declaration

8

9 cout << "Enter first integer\n"; // prompt

10 cin >> integer1; // read an integer

11 cout << "Enter second integer\n"; // prompt

12 cin >> integer2; // read an integer

13 sum = integer1 + integer2; // assignment of sum

14 cout << "Sum is " << sum << endl; // print sum

15

16 return 0; // indicate that program ended successfully

17 }

Enter first integer45Enter second integer72Sum is 117

Notice how cin is used to get user input.

Variables can be output using cout << variableName.

endl flushes the buffer and prints a newline.

Page 42: Lecture 1

Adding Two Integers >> (Stream extraction operator)

When used with cin, waits for the user to input a value and stores the value in the variable to the right of the operator

The user types a value, then presses the Enter (Return) key to send the data to the computer

Example:

int myVariable;std::cin >> myVariable;

Waits for user input, then stores input in myVariable

Page 43: Lecture 1

Adding Two Integers = (assignment operator)

Assigns value to a variable Binary operator (has two operands) Example:

sum = variable1 + variable2;

Page 44: Lecture 1

-*-*-*- THE END -*-*-*-