basic elements of c++ chapter 1. 2 chapter topics the basics of a c++ program data types ...

Post on 03-Jan-2016

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Basic Elements of C++

Chapter 1

2

Chapter Topics

The Basics of a C++ Program Data Types Arithmetic Operators and Operator

Precedence Expressions Input Increment and Decrement Operators Output Preprocessor Directives Program Style and Form More on Assignment Statements

3

The Basics of a C++ Program

A C++ program is a collection of one or more subprograms (functions)

Function• Collection of statements• Statements accomplish a task

Every C++ program has a function called main

4

Example Program

#include <iostream>using namespace std;int main(){ cout<<"Welcome to C++ Programming"<<endl;

return 0;}

Welcome to C++ Programming

Program Output

5

The Basics of a C++ Program

Programming language• a set of rules, symbols, special words

Rules• syntax – specifies legal instructions

Symbols• special symbols ( + - * ! … )

Word symbols• reserved words • (int, float, double, char …)

6

Identifiers

Rules for identifiers• must begin with letter or the underscore _• followed by any combination of numerals

or letters• recommend meaningful identifiers

Evaluate the followingElectricCharge

23Skidoo

snarFbLat

7

Data Types

Definition:• a set of values• combined with a set

of operations

8

Data Types

Simple data types include• Integers• Floating point• Enumeration

Integer data types includecharshortintlongbool

Numerals, symbols, lettersNumbers without decimals

Values true and false only

9

Floating-Point Types

Stored using scientific notation• the sign of the number, • the significant digits of the number• the sign of the power of 10• the power of 10

10

Data Types

Different floating-point types

Note that various types will• have different ranges of values• require different amounts of memory

11

Data Types

The string Type• a programmer-defined type

• requires #include <string> A string is a sequence of characters

"Hi Mom"

"We're Number 1!"

"75607"

12Arithmetic Operators and Operator Precedence

Common operators for calculations+ - * / %

Precedence same as in algebraic usage• Inside parentheses done first• Next * / % from left to right• Then + and - from left to right

Note operator precedence chart, page 1035

13

Expressions

An expression includes• constants• variables• function calls

• combined with operators

3 / 2 + 5.0sin(x) + sqrt(y)

14

Expressions

Expressions can include• values all of the same type3 + 5 * 12 – 7

• values of different (compatible) types1.23 * 18 / 9.5

An operation is evaluated according to the types of the operands • if they are the same, the result is the type of the

operands• if the operands are different (int and float) then the

result is float

15

Type Casting

Implicit change of type can occur• when operands are of different type

It is possible to explicitly specify that an expression be converted to a different type

static_cast < type > (expression)

static_cast <int> (3.5 * 6.9 / x)

16

Input

Storing data in the computer's memory requires two steps

1. Allocate the memory by declaring a variable

2. Have the program fetch a value from the input device and place it in the allocated memory location

x

123cin >> x

17

Allocating Memory

Variable • A memory location whose content may

change during program execution

Declaration:• Syntax:

type identifier;• Example:

double x; int y = 45;

Note optional initialization of the

variable

18

Allocating Memory

Named Constant• A memory location whose content cannot

be changed

Declaration• Syntax:const type identifier = value;

• Exampleconst double PI = 3.14159;

Note required initialization of the

named constant

19

Putting Data Into Variables

At initialization time Assignment statement

• Syntax:variable = expression;

• Examplex = 1.234;volume = sqr (base) * height;

Input (read) statement• Syntax:cin >> variable ;

• Examplecin >> height;

Program Example

20Increment and Decrement Operators

Pre-increment ++x;equivalent to x = x + 1;• Pre-decrement --x;• Changes the value before execution of a

statement y = ++x; Post-increment intVal++;

• Post-decrement intVal--;• Changes the value after execution of the

statement y = x++;

21

Output

Values sent to an output device• Usually the screen• Can also be a file or some device

Syntax for screen output:cout << expression << …

Examplecout << "The total is "<< sum << endl;

Sample Program

Output command Insertion

operatorValues to be printed

Manipulator for carriage

return

22

Output

Escape sequences also used to manipulate output

cout << "The total is\t "<< sum << endl;

23

Preprocessor Directives

Commands supplied to the preprocessor• Runs before the compiler• Modifies the text of the source code before

the compiler starts

Syntax• start with # symbol• #include <headerFileName>

Example #include <iostream>

24

Preprocessor Directives

Note the preprocessorstep in the sequence

25

Namespace

The #include <iostream> command is where cin and cout are declared

They are declared within a namespace called std

When we specify using namespace std;• Then we need not preface the cin and cout commands with std::cin and std::cout

26

Program Style and Form

Every program must contain a function called mainint main (void){ … }

The int specifies that it returns an integer value

The void specifies there will be no arguments

Also can say void main( ) { … }

27

Program Style and Form

Variables usually declared• inside main• at beginning of program

Use blanks and space to make the program easy for humans to read

Semicolons ; required to end a statement

Commas used to separate things in a list

28

Program Style and Form

Documentation• Comments specified between /* this is a comment */and following // also a comment

• Always put at beginning of program /* name, date, cpo, purpose of program*/

29

Program Style and Form

Names of identifiers should help document program

double electricCharge; // instead of ec

Prompt keyboard entrycout << "Enter the value for x -> ";cin >> x;

Example 1

#include <iostream> using namespace std; int main( ) { int numberOfLanguages; cout << "Hello reader.\n" << "Welcome to C++.\n"; cout << "How many programming languages have you used? "; cin >> numberOfLanguages; if (numberOfLanguages < 1) cout << "Read the preface. You may prefer\n" << "a more elementary book by the same author.\n"; else cout << "Enjoy the book.\n"; system("pause"); return 0; }

30

Example 2

#include <iostream> // Required for cout, endl. #include <cmath> // Required for sqrt() using namespace std; int main() { // Declare and initialize objects. double x1(1), y1(5), x2(4), y2(7), side1, side2, distance; // Compute sides of a right triangle. side1 = x2 - x1; side2 = y2 - y1; distance = sqrt(side1*side1 + side2*side2); // Print distance. cout << "The distance between the two points is " << distance << endl; // Exit program. system("pause"); return 0; }

31

// my first program in C++ #include <iostream> int main() { std::cout << "Hello World!"; }

// my second program in C++ #include <iostream>

int main () { std::cout << "Hello World! "; std::cout << "I'm a C++ program"; } In one line int main () { std::cout << " Hello World! "; std::cout << " I'm a C++ program "; }

Comments

Comments

1

2

// line comment /* block comment */

As noted above, comments do not affect the operation of the program; however, they provide an important tool to document directly within the source code what the program does and how it operates.

C++ supports two ways of commenting code:

/* my second program in C++ with more comments */

#include <iostream>

int main (){ std::cout << "Hello World! "; // prints Hello World!

std::cout << "I'm a C++ program"; // prints I'm a C++ program

}

Using namespace std

Using namespace std If you have seen C++ code before, you may have seen cout being

used instead of std::cout. Both name the same object: the first one uses its unqualified name (cout), while the second qualifies it directly within the namespace std (as std::cout).

cout is part of the standard library, and all the elements in the standard C++ library are declared within what is a called a namespace: the namespace std.

In order to refer to the elements in the std namespace a program shall either qualify each and every use of elements of the library (as we have done by prefixing cout with std::), or introduce visibility of its components. The most typical way to introduce visibility of these components is by means of using declarations:

using namespace std

// my second program in C++ #include <iostream> using namespace std;

int main () { cout << "Hello World! "; cout << "I'm a C++ program"; }

Variables and types The usefulness of the "Hello World" programs shown in the previous chapter is rather

questionable. We had to write several lines of code, compile them, and then execute the resulting program, just to obtain the result of a simple sentence written on the screen. It certainly would have been much faster to type the output sentence ourselves.

However, programming is not limited only to printing simple texts on the screen. In order to go a little further on and to become able to write programs that perform useful tasks that really save us work, we need to introduce the concept of variable.

Let's imagine that I ask you to remember the number 5, and then I ask you to also memorize the number 2 at the same time. You have just stored two different values in your memory (5 and 2). Now, if I ask you to add 1 to the first number I said, you should be retaining the numbers 6 (that is 5+1) and 2 in your memory. Then we could, for example, subtract these values and obtain 4 as result.

The whole process described above is a simile of what a computer can do with two variables. The same process can be expressed in C++ with the following set of statements:

a = 5; b = 2; a = a + 1; result = a - b;

a = 5; b = 2; a = a + 1; result = a - b;

#include <iostream>

using namespace std;

int main() { int a; int b; cout<<"Enter first number:\n"; cin >> a; cout <<"Enter the second number:\n"; cin>> b; cin.ignore(); int result = a + b; cout<<"Result is"<<" "<<result<<endl; cin.get(); return 0; }

#include <iostream> #include <string> using namespace std; int main () { string s; cout << "jhun \n" ; cin >> s; cout << "Hello, " << s << '\n' ; return 0; // this return statement isn't necessary }

#include <iostream> using namespace std; int main() { cout << "Hello World!" << endl; return 0; }

*/ #include <iostream> #include <cmath> using namespace std; int main() { int x = 0; while(x < 10) { double y = sqrt((double)x); cout << "The square root of " << x << " is " << y << endl; x++; } return 0; }

top related