meljun cortes intro to c programming

Post on 12-Jul-2015

158 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introduction To C++ Introduction To C++ Programming Language Programming Language

LECTURE 3 MELJUN CORTES, MBA,MPAMELJUN CORTES, MBA,MPA

What is C++

C++ is a high-level language and it is evolved from C over a period of several years starting in 1980.

The standard for C++ was jointly developed by the American National Standards Institute (ANSI) and the International Standards Organization (ISO).

a set of rules, symbols, and special words used to construct a computer program.

Structure of a C++ Program

Figure 3.1 Structure of a C++ Program

A Typical C++ Program // A typical C++ Program

# include <header files>

using namespace std;# define PI 3.142

int Integer;

int main ( ){

double radius, area;

radius = 7; area = radius * radius * PI; return 0;

}

Preprocessor Directive

Comment

Mainfunction

Global Declaration

Local declaration

Statements

Character Set

C++ is composed of character set : Number : 0 to 9 Alphabetical : a to z and A to Z Spacing Special Character :

, . : ; ? ! ( ) {} “ ‘ + - * / = > < # % & ^ ~ | / _

Token

Token : combination of the characters in C++

Categorised into: Identifiers Reserved words/keywords Constants Literal String Punctuators Operators

Identifiers

Allows programmers to name data and other objects in the program-variable, constant, function etc.

Can use any capital letter A through Z, lowercase letters a through z, digits 0 through 9 and also underscore ( _ )

Rules for identifier The first character must be alphabetic character or

underscore It must consists only of alphabetic characters, digits and

underscores, cannot contain spaces It cannot duplicate any reserved word

C++ is case-sensitive; this means that CASE, Case, case, and CaSe are four completely different words.

Valid and Invalid Identifiers

Valid names

A student_name _aSystemName pi al stdntNm _anthrSysNm PI

Invalid names

$sum // $ is illegal 2names // can’t start with 2 stdnt Nmbr // can’t have

space int // reserved word

Reserved word/Keywords

A word that has special meaning in C++. Keywords cannot be used to name

identifiers.

Constant

Data values that cannot be changed during the execution of a program

Types of constant: Literals constant Defined constants Declared constants

Literals Constant

If the data cannot be changed, we can simply code the data value itself in a statementEg: discount = 0.10 ;

Categorised into: Integer Numerals ( eg: 178, -9, 0113, 0x4b) Floating-Point Numerals (eg: 3.14159,6.02e23,1.6e-19 ,

3.0 Characters ( eg: ‘A’, ‘p’) Strings ( eg; “Hello World”) Boolean (eg: true , false).

0.10 is a literal constant

Defined Constant (#define)

Use the #define preprocessor directive Format: #define identifier value

Eg : #define EPF_RATE 0.11 Placed at the beginning of the program

#include <header files> using namespace std;#define EPF_RATE 3.142

int main(){ ……; nett = salary – ( salary * EPF_RATE); ………;}

Declared Constants

Use a type const qualifier to indicate that data cannot be changed and to fix the contents of the memory location

Eg: const float pi = 3.1416; Declared inside a function

#include <header files> using namespace std;#define EPF_RATE 3.142

int main(){ const double socso_rate = 0.05; nett = salary – ( salary * EPF_RATE * socso_rate); ………;}

Data Types in C++

Type defines a set of value and operations that can be applied on those values

Set of values for each type is known as the domain for the type

Functions also have types which is determined by the data it returns

Data Types

Standard They serves as the basic building blocks

for d e rive d ty p e s (complex structures that are built using the standard types

Serves as the basic building blocks for d e rive d ty p e s

Data Types

Derived

Data Type : Void

Typed as void Has no values and operations Both set of values are empty Usually used in functions

Eg: void printSum()

Data Type : Char

Used to hold characters or very small integer values

Usually 1 byte of memory CODE:

char letter;letter = 'C';

Data Type : Integer

Coded as int A number without a fraction part C++ supports three different sizes of integer

short int int long int

Can be signed and unsigned

Data Type : IntegerType Byte Size Minimum

Value

Maximum Value

short int 2 -32,768 32,767

unsigned short int 2 0 65,535

int 4 -2,147,483,648 2,147,483,647

unsigned int 4 0 4,294,967,295

long int 4 -2,147,483,648 2,147,483,647

unsigned long int 4 0 4,294,967,295

Data Type : Float

A number with fractional part such as 43.32, - 2.33 C++ supports three types of float

float double long float

Stored in a form similar to scientific notation Can be represented in

Fixed point (decimal) notation:31.4159 0.0000625

E notation:3.14159E1 6.25e-5

Data Type Float

Are double by default Can be forced to be float (3.14159f) or long

double (0.0000625L) All floating-point numbers are signed

Type Byte Size Precision Range

float 4 7 10-37 ..1038

double 8 15 10-307 ..10308

long double 8 15 10-307 ..10308

Data Type : Boolean

Represents values that are true or false bool variables are stored as small integers false is represented by 0, true by 1:

bool allDone = true;

bool finished = false; allDone finished

0

Variables

A storage location in memory whose contents can change while program is running

Has an identifier and a type of data it can hold Variable declaration syntax :type identifier [= initial_value]

eg : int itemsOrdered;

A variable name should represent the purpose of the variable.

To hold the number of items ordered.

Variables

Variables Initialization

To initialize a variable means to assign it a value when it is declared:

int length = 12;

Can initialize some or all variables:int length = 12, width = 5, area;

Variables Assignment

An assignment statement uses the = operator to store a value in a variable.item = 12;

This statement assigns the value 12 to the item variable.

The variable receiving the value must appear on the left side of the = operator.

This will NOT work: // ERROR! 12 = item;

Variables Scope

The scope of a variable: the part of the program in which the variable can be accessed

A variable cannot be used before it is defined

Variables Scope

Global Variables

Local Variable

Local Variable

Variables Scope

Global scope a global variable is a variable declared in the

main body of the source code, outside all functions

Global variables can be referred from anywhere in the code, even inside functions, whenever it is after its declaration.

Local Scope a local variable is one declared within the body of

a function or a block. is limited to the block enclosed in braces ({})

where they are declared.

Operators

C ++ uses a set of built in operators ( Eg : +, -, / etc).

Four classes of operators : Arithmetic Relational Logical Assignment

Arithmetic Operators

Assume int a=4, b= 5, d;C++ Operation

Arithmetic Operator

C++ Expression

Value of d after assignment

Addition + d = a + b 9

Substraction - d = b - 2 3

Multiplication * d = a * b 20

Division / d = a/2 2

Modulus % d = b%3 2

Assignment Operators

Assume x=4, y=5, z=8; Assignment Operator

Sample Expression

Similar Expression

Value of variable after assignment

+= x += 5 x = x + 5 x=9

-= y -= x y = y - x y=1

*= x *= z x = x*z x=32

/= z /=2 z = z/2 z = 4

%= y %=x y = y%x y=1

Relational & Equality Operators

Assume y = 6, x =5Relational Operators Sample Expression Value

> y > x T

< y < 2 F

>= x >= 3 T

<= y <= x F

Equality Operators Sample Expression Value

== x == 5 T

!= y !=6 F

Logical OperatorsLogical Operators Called Sample Operation

&& AND expression1 && expression 2

| | OR expression1 | | expression2

! NOT !expression

Example :Assume int x = 50

expression !expression Sample Expression

F T !(x == 60)

T F !(x != 60)

Logical Operators

Assume x=4, y=5, z=8expression1 expression2 expression1 &&

expression2

Sample Expression

F F F ( y > 10) && ( z <=x )

F T F ( z <= y) && ( x == 4)

T F F ( y != z) && ( z < x )

T T T ( z >= y ) && ( x != 3 )

Increment and Decrement Operators

Operator Called Sample Expression

Similar Expression

Explanation

++ preincrement ++a a = a +1 a += 1

Increment a by 1, then use the new value of a in expression in which a reside

++ postincrement a++ a = a +1 a += 1

Use the current value of a in the expression which a reside, then increment a by 1

- - predecrement - - a a = a -1 a -= 1

Decrement a by 1, then use the new value of a in expression in which a reside

- - postdecrement a - - a = a -1 a -= 1

Use the current value of a in the expression which a reside, then decrement a by 1

Operator PrecedenceOperators Associative

( ) Left to right

++ - - + - ! Right to left

* / % Left to right

+ - Left to right

< <= > >= Left to right

= = != Left to right

&& Left to right

| | Left to right

*= += - = /= %= Right to left

Operator Precedence

Example 1:

int a=10, b=20, c=15, d=8;

a*b/(-c*31%13)*d

1. a*b/(-15* 31%13)*d

2. a*b/(-465%13)*d

3. a*b/(-10)*d

4. 200/(-10)*d

5. -20*d

6. -160

Example 2:

int a=15, b=6, c=5, d=4;

d *= ++b – a/3 + c

1. d *= ++b – a/3+ c

2. d*=7- a/3+c

3. d*=7- 5+c

4. d*=2 + c

5. d*= 7

6. d = d*7

7. d = 28

Example of a program

// Operating with variables#include <iostream>using namespace std;

int main(){

//variables declaration int no1; int no2;

int value_div; int value_mod;

cout << “Enter two integral numbers:”; cin >> no1 >> no2; value_div= no1 / no2; cout << no1 << “ / ” << no2 << “ is ” << value_div;

value_mod = no1 % no2; cout << “ with a remainder of ” <<

value_mod << endl;

return 0;}

Output :

Enter two integral numbers : 10 6

10 / 6 is 1 with a remainder of 4

/*Evaluate two complex expression*/

#include <iostream>

using namespace std;

void main ( )

{

int a =3, b=4, c = 5, x, y;

cout << “Initial values of the variables:\n”;

cout << “a = “ << a<< “ b = “ << b <<“ c = “

<< c<< endl;

cout << endl;

x = a * 4 + b / 2 – c * b;

cout << “Value of a * 4 + b/2-c * b is : “

<< x << endl;

y = - - a * (3 + b) / 2 – c++ * b;

cout << “Value of - - a * (3 + b) / 2 – c++ * b is: “

<< y << endl;

cout << “a = “ << a << “ b = “ << b << “ c = “

<< c << endl;

}

Output :

Initial values of the variables :

a = 3 b = 4 c = 5

Value of a * 4 + b/2-c * b is : -6Value of - - a * (3 + b) / 2 – c++ * b is: -13

Values of the variables are now :

a = 2 b = 4 c = 6

Formatting Output

Output is made more readable using manipulator

Must include <iomanip> header file.Manipulators Use

endldecocthexfixedshowpointsetw(…)setprecisionsetfill(…)

New lineFormats output as decimalFormats output as octalFormats output as hexadecimalSet floating-point decimalsShows decimal in floating-point valuesSets width of output fieldsSpecifies number of decimals for floating pointSpecifies fill character

Formatting Output

Set Width (setw) Set the minimum width for an output Two alignment : right justified and left justified

Set Fill Character (setfill) If the output width is greater than the data values

placed in it, a fill character can be used to fill the empty spaces whenever required

Formatting Output

Three integer manipulators: Decimal (dec)

The default Value in decimal form

Octal (oct) Values are displayed in octal numbering system

Hexadecimal (hex) Values are in hexadecimal format

Formatting Output

Three Floating-point manipulators: Fixed (fixed)

Displays floating-point numbers (eg: 1.234568e+6) in the fixed-point format (1234567.875)

Set precision (setprecision) Used to control the number of the decimal places

to be displayed Showpoint (showpoint)

To show value with the decimal point

46

//demonstrate the output manipulator

#include <iostream>

#include <iomanip>

using namespace std;

int main( )

{

char aChar;

int integer;

float dlrAmnt;

cout << “Please enter an integer ,\n”;

<< “ a dollar amount and a character.\n”;

cin >> integer>>dlrAmnt >> aChar;

cout <<“\nThank you.You entered:\n”;

cout << setw( 6 ) << integer << “ “

<< setfill(‘*’) << setprecision (2) << fixed

<< ‘$’ << setw(10) << dlrAmnt

<< setfill(‘ ‘) << setw( 3 ) <<aChar << endl;

}

Output :

Please enter an integer,

a dollar amount and a character.

12 123.45 G

Thank you. You entered:

12 $****123.45 G

THANK YOU!THANK YOU!

top related