Session 1 c programming introduction and selection constructs
-
Upload
ram-n-sangwan -
Category
Education
-
view
88 -
download
1
Transcript of Session 1 c programming introduction and selection constructs
![Page 1: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/1.jpg)
WWW.RNSANGWAN.COM 1
Session 1 Introduction to C Programming LanguageA COMPLETE C PROGRAMMING SERIES FROM BASICS TO ADVANCED
![Page 2: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/2.jpg)
2
Facts about C language• Developed at AT&T’s Bell Labs of USA in 1972 by Dennis Richie.• Is a middle-level language. C-Program
◦ Statements in small case letters.◦ Statements end with a semi-colon.◦ Program execution starts from & ends with main().
WWW.RNSANGWAN.COM
![Page 3: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/3.jpg)
3
C-Program Structure• Preprocessor Commands• Type Definitions• Function Prototype• Variables and Functions
WWW.RNSANGWAN.COM
![Page 4: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/4.jpg)
4
C Compilation Model
WWW.RNSANGWAN.COM
Source Code
Pre-Processor
Complier
Assembler
Link Editor
Executable Code
Assembly Code
Object Code
Libraries
![Page 5: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/5.jpg)
5
The Location of Header Files
WWW.RNSANGWAN.COM
/usr/include
/c++/*.h *.h
![Page 6: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/6.jpg)
WWW.RNSANGWAN.COM 6
Variables• A Variable is a named location in the computer memory for holding
some information whose contents can change characterized by a data type.o Values are assigned to a variable using an equals sign
A = 5 Assigns the value 5 to the variable A
![Page 7: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/7.jpg)
WWW.RNSANGWAN.COM 7
Variable Names• Variables have names which consist of letters, numbers and a few
special characters.• They must begin with a letter.• The name has to be the combination of 1-31 characters. If Variable
name is longer than 31 characters, first 31 characters are significant.
• No special symbol other than underscore is allowed in the variable name.
![Page 8: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/8.jpg)
WWW.RNSANGWAN.COM 8
Data Types
Primary Extended Secondary
char
int
float
double
void
short
long
array
pointer
structure
union
enum
![Page 9: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/9.jpg)
WWW.RNSANGWAN.COM 9
More about Data Types
Data TypeSize
(in bytes) Lower Bound
Upper Bound
char 1 - -unsigned char 1 0 255
short int 2 -32768 32767unsigned short
int2 0 65535
long int 4 -231 231 -1float 4 -3.2* 1098 3.2* 1098
double 8 -1.7* 10908 1.7* 10908
Long double 10 104096
![Page 10: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/10.jpg)
WWW.RNSANGWAN.COM 10
Integers• Holds whole numbers (e.g. 1,2,3,4.....).• Cannot hold fractional values (e.g. 3.2).• Is limited to values between -32,768 and 32,767.• Uses 2 bytes.
• 1 Bit is used for sign (0 -> “+” and 1 -> “-”)• 15 Bits for Data
![Page 11: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/11.jpg)
WWW.RNSANGWAN.COM 11
Strings• Hold character data, such as names, addresses, quotes from a
book, etc.• Cannot be used for calculations.• Are limited to between zero and approximately 64,000 letters.• Use one byte per character.
![Page 12: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/12.jpg)
WWW.RNSANGWAN.COM 12
Constants Integer Constants
Range -- -32768 to 32767
Real Constants Range -- -3.4e38 to 3.4e38
Character Constants Range -- -128 to 127
Logical Constants Any number except zero is considered as true.
String Constants Is terminated by a null character.
![Page 13: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/13.jpg)
WWW.RNSANGWAN.COM 13
Integer Constants Representation
Decimal – base 10 Octal – base 8 Hexadecimal – base 16
![Page 14: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/14.jpg)
WWW.RNSANGWAN.COM 14
Comments Non-executable lines of code Placed for the purpose of documentation.
![Page 15: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/15.jpg)
WWW.RNSANGWAN.COM 15
Keywords• Predefined identifiers reserved for a specific job.• Cannot be used as identifiers. Some C Compilers allows us to use
them as identifiers.• There are 32 keywords available in C.
e.g. char, do, if etc.
![Page 16: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/16.jpg)
WWW.RNSANGWAN.COM 16
Operators
Arithmetic Relational
Logical
Increment & Decrement
Bitwise Conditional
![Page 17: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/17.jpg)
WWW.RNSANGWAN.COM 17
Mathematical Operators• Mathematical Operators
*, /, +, -, %• Increment and Decrement Operators
+ + Increments the operand’s value by 1.◦ e.g. i = i + 1; can be written as i ++; - - Decrements the operand’s value by 1.◦ e.g. i = i - 1; can be written as i --;
![Page 18: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/18.jpg)
WWW.RNSANGWAN.COM 18
Notations of ++ and -- Operators• Prefix Notation
First Increments or Decrements and then continue with rest of operations. For example j = ++ i ; is actually implemented as i = i + 1; followed by j = i;
• Postfix Notation Completes rest of operations and then Increments or Decrements. For Example j = i ++; is actually implemented as j = i; followed by i = i + 1;
![Page 19: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/19.jpg)
WWW.RNSANGWAN.COM 19
Relational OperatorsThere are six basic comparison operators: < Less Than > Greater Than <= Less Than or Equal To >= Greater Than or Equal To = Equal To < > Not Equal To
![Page 20: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/20.jpg)
WWW.RNSANGWAN.COM 20
Logical Operators• AND
o Represented by the symbol ‘&&’.o Returns true if both the expressions are true.
• ORo Represented by the symbol ‘| |’.o Returns true if one of two expressions are true.
• NOTo Represented by the symbol ‘!’.o Reverses the result returned by the expression.
![Page 21: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/21.jpg)
WWW.RNSANGWAN.COM 21
Expressions and Operators• Expressions are built up using operators and operands. These
concepts should be familiar to you from your math classes.• Depending on the operators used and the purpose of the
expression, they fall into three general groups:◦ Mathematical◦ Comparison ◦ Logical
• These types may be mixed.
![Page 22: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/22.jpg)
WWW.RNSANGWAN.COM 22
Type of Expressions• Mathematical Expressions
o Used to calculate values.• Comparison Expressions
o Compare two values and evaluate a relationship between them.• Logical Expressions
o Combine other expressions to form more sophisticated operations.
![Page 23: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/23.jpg)
WWW.RNSANGWAN.COM 23
Examples of Expressionsx = 3 + 4 – 7 * 8 / 5 % 10x = 3 / 2 + 3 * 8 / 3 – 3 + 1.5 / 3x = (a != 10) && (b = 50)x *= x + 4z *= y = x * x
Cont….
![Page 24: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/24.jpg)
WWW.RNSANGWAN.COM 24
Examples of Expressions Contd..z = x++ + 10x -= --x - x--z = ++x && ++y && ++zz = ++x && ++y || ++zx = ++i * ++i * ++i
![Page 25: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/25.jpg)
WWW.RNSANGWAN.COM 25
Decision-making Constructs• Relational & logical operators in the following constructs are used
for decision-making :-o if - constructo if – else constructo switch – case construct
![Page 26: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/26.jpg)
WWW.RNSANGWAN.COM 26
IF construct - Syntax
if (condition) { Statements to Execute if condition is true ; }
![Page 27: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/27.jpg)
WWW.RNSANGWAN.COM 27
if else construct - Syntax
if (condition){ Statements to Execute if condition is true ;}else{Statements to Execute if condition is false ;
}
![Page 28: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/28.jpg)
WWW.RNSANGWAN.COM 28
Conditional Operator
• Expression1 ? Expression 2 : Expression 3• If Expression1 returns true then Expression2 is evaluated else
Expression3 is evaluated. e.g. x = (y > z ? y : z)If y > z then y is assigned to x else z is assigned to x.
• This operator can only replace the situation where a single statement exists in if and else both.
![Page 29: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/29.jpg)
WWW.RNSANGWAN.COM 29
Nesting If Statements
• If statements can be placed inside one another. • To get to the innermost execution area all the conditionals must be
true... Which is precisely the same as And’ing them all together!
![Page 30: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/30.jpg)
WWW.RNSANGWAN.COM 30
The switch case construct
• The switch case construct is used instead of the If - else construct when the decision is between many alternatives instead of two.
vs.
![Page 31: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/31.jpg)
WWW.RNSANGWAN.COM 31
The switch case construct - Syntax
switch (test expression){ case expression list1:
First Statement block ; break;
default:default Statement Block;
}
![Page 32: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/32.jpg)
WWW.RNSANGWAN.COM 32
The break statement in switch case
• The break statement in switch case construct causes an exit from the switch body and places the control to the first statement after the switch construct.
• If break statement is not incorporated after every case, the control moves to the next case statements and executes them.
![Page 33: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/33.jpg)
WWW.RNSANGWAN.COM 33
The default statement in switch case
• The default statement in switch case construct gives a way to take action if the value of the switch variable does not match any of the case constants.
![Page 34: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/34.jpg)
WWW.RNSANGWAN.COM 34
switch case construct - Exampleswitch (day)
{
case 1: printf ( “ It is Monday.” ) ; break;
case 2: printf ( “ It is Tuesday.” ) ; break; default: printf ( “ Wrong Input.” ) ;
}
![Page 35: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/35.jpg)
WWW.RNSANGWAN.COM 35
Examples of Decision-making Constructs
Cont….
a = 500 if (!a >= 400)
printf (“True”);
if (a = b)printf (“True”);
if ( ! ( !x ) && x )printf (“True”);
k = -2, j = 4switch (k /= j / k)
{default :
printf (“Same”);case 0 :
printf (“0”);case 1 :
printf (“1”);}
![Page 36: Session 1 c programming introduction and selection constructs](https://reader036.fdocuments.us/reader036/viewer/2022070517/58cea9551a28abb26e8b6ab3/html5/thumbnails/36.jpg)
WWW.RNSANGWAN.COM 36
End of
Session 01