MELJUN CORTES Intro to C Programming
Upcoming SlideShare
Loading in...5
×
 

MELJUN CORTES Intro to C Programming

on

  • 312 views

MELJUN CORTES Intro to C Programming

MELJUN CORTES Intro to C Programming

Statistics

Views

Total Views
312
Views on SlideShare
312
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

MELJUN CORTES Intro to C Programming MELJUN CORTES Intro to C Programming Presentation Transcript

  • Introduction To C++ Programming LanguageLECTURE 3 MELJUN 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 Comment # include <header files> Preprocessor Directive using namespace std; # define PI 3.142 int Integer; Global Declaration int main ( ) { Local declaration double radius, area; radius = 7; Main area = radius * radius * PI; Statements function return 0; }
  • 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 Invalid names A  $sum // $ is illegal student_name  2names // can’t start with 2 _aSystemName  stdnt Nmbr // can’t have pi space al  int // reserved word stdntNm _anthrSysNm PI
  • 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 statement Eg: discount = 0.10 ; 0.10 is a literal constant 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).
  • 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 Maximum Value Valueshort int 2 -32,768 32,767unsigned short int 2 0 65,535int 4 -2,147,483,648 2,147,483,647unsigned int 4 0 4,294,967,295long int 4 -2,147,483,648 2,147,483,647unsigned 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; To hold the number of items ordered. A variable name should represent the purpose of the variable.
  • 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 ({})
  • 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++ Arithmetic C++ Value of d Operation Operator Expression 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 Sample Similar Value of variable Operator Expression Expression 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 =5 Relational 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 !expressionExample :Assume int x = 50 expression !expression Sample Expression F T !(x == 60) T F !(x != 60)
  • Logical Operators Assume x=4, y=5, z=8 expression1 expression2 expression1 && Sample Expression expression2 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 OperatorsOperator Called Sample Similar Explanation Expression Expression++ preincrement ++a a = a +1 Increment a by 1, then use the new value of a in a += 1 expression in which a reside++ postincrement a++ a = a +1 Use the current value of a in the expression which a a += 1 reside, then increment a by 1-- predecrement --a a = a -1 Decrement a by 1, then use the new value of a in a -= 1 expression in which a reside-- postdecrement a-- a = a -1 Use the current value of a in the expression which a a -= 1 reside, then decrement a by 1
  • Operator Precedence Operators 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 PrecedenceExample 1: Example 2:int a=10, b=20, c=15, d=8; int a=15, b=6, c=5, d=4;a*b/(-c*31%13)*d d *= ++b – a/3 + c1. a*b/(-15* 31%13)*d 1. d *= ++b – a/3+ c2. a*b/(-465%13)*d 2. d*=7- a/3+c3. a*b/(-10)*d 3. d*=7- 5+c4. 200/(-10)*d 4. d*=2 + c5. -20*d 5. d*= 76. -160 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; Output : int value_div; int value_mod; Enter two integral numbers : 10 6 10 / 6 is 1 with a remainder of 4 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; }
  • /*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 = “ Output : << c<< endl; Initial values of the variables : cout << endl; a=3 b=4 c= 5 x = a * 4 + b / 2 – c * b; cout << “Value of a * 4 + b/2-c * b is : “ Value of a * 4 + b/2-c * b is : -6 Value of - - a * (3 + b) / 2 – c++ * b is: -13 << x << endl; y = - - a * (3 + b) / 2 – c++ * b; Values of the variables are now : cout << “Value of - - a * (3 + b) / 2 – c++ * b is: “ a=2 b=4 c= 6 << y << endl; cout << “a = “ << a << “ b = “ << b << “ c = “ << c << endl;}
  • Formatting Output Output is made more readable using manipulator Must include <iomanip> header file. Manipulators Use endl New line dec Formats output as decimal oct Formats output as octal hex Formats output as hexadecimal fixed Set floating-point decimals showpoint Shows decimal in floating-point values setw(…) Sets width of output fields setprecision Specifies number of decimals for floating point setfill(…) Specifies 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
  • //demonstrate the output manipulator #include <iostream> #include <iomanip> using namespace std; int main( ) { char aChar; int integer; float dlrAmnt; Output : cout << “Please enter an integer ,n”; Please enter an integer, << “ a dollar amount and a character.n”; a dollar amount and a character. cin >> integer>>dlrAmnt >> aChar; 12 123.45 G cout <<“nThank you.You entered:n”; Thank you. You entered: cout << setw( 6 ) << integer << “ “ 12 $****123.45 G << setfill(‘*’) << setprecision (2) << fixed << ‘$’ << setw(10) << dlrAmnt << setfill(‘ ‘) << setw( 3 ) <<aChar << endl;46 }
  • THANK YOU!