Professional Documents
Culture Documents
C Programming 1
C Programming 1
C Programming 1
Contents Page
Introduction to C
1. How we learn C programming 1
2. History of C 7
3. Compilers 8
4. Structrur of C program 8
5. Programming Rules (C program ) 12
The C Declarations
1. C character Set 12
2. C Keywords 14
3. Identifiers 14
4. Constants 15
5. Variables 16
6. Variables 17
7. Data Types 17
8. Declaring Variables ( v r s ) 19
9. Variables 20
t typ 21
11.Constants and Volatile Variables 22
Operators and Expressions
1. Introduction 25
2. Arithmetic Operators 26
3. Relational Operators 33
4. Logical Operators 35
5. Priority of Operators and their Clubbing 37
Input and Output in C
1. Introduction 40
2. Formatted Functions 41
3. Unformatted Functions 41
Decision Statements
1. Introduction 55
K ZAN HTIKE
2 HOW TO LEARN C PROGRAMMING # VIOLETT
2. The if Statement 55
3. Th f… s St t m nt 60
4. Nestef if...else Statement 64
5. The break Statement 70
6. The continue Statement 71
7. The goto Statement 71
8. The switch Statement 73
Loop Control Statements
1. Introduction 81
2. The for loop 81
3. Nested for loops -
4. The while loop 94
5. The do while loop 96
6. the do..while 96
Arrays 98
1. Array Initialization 98
2. Definition of Array 98
3. One Dimensiona Array 99
4. Two-Dimensional Arrays 107
User defined functions 111
1. Make user defined functions 111
2. Call by value and call by refefence
Pointers 121
Pointer 121
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 1
႔ programming ႔
programming
႕
r w r n Softw r ႔
Hardware ႕
Keyboard, Driver
tron v ႕ system Hardware
machine
Hardware task ( ) ႕ Software
႕ “ r w r w thout softw r s s m r to
o y w thout sou ” Softw r hardware “ ”
႕ r w r ႕
႕ softw r Softw r
programming language ႔ ႕
Adobe PageMaker,Excel,Power Point
pro r mm n n u Softw r pro r mm n
K ZAN HTIKE
2 HOW TO LEARN C PROGRAMMING # VIOLETT
language
programming sense,programming flow ႕ language
C language softw r m
႕ ႔ ႕
n u ႕ program
High level language C language
Softw r
o pp t on ႕ high level language
႕ C language structure language
႕ memory concept high level
language C language Human language
language 100%
pro r mm n programming
computer t t sp y
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 3
Computer hum n n u
႔ pulse(1) or no pulse(0)
႕ code
႕ human language machine language ႕
programming terms Compiler
႔ sourc o (*.c) ႕
extension dot c ႔ sour f (.c)
႕ c++ source file ( *.cpp)
Compiler ႕ (*.c) ႕ o
Assembly language ႕
data omm n Analysis
႔ error ( ) ႕ instruction
႔ source file t omm n
rror error sour
K ZAN HTIKE
4 HOW TO LEARN C PROGRAMMING # VIOLETT
m num r ႕ (8 4 2 1) code 2 ႕
+ 8 ႕ 4 2 ႕ 1 1 (on)
4 ႕ 4
1 8,2,1 0(off) 4=0100
decimal number 2 ႕ 0
2 ႕ binary code
3/2=1 =1
½
4 bit 11 t ႕
3 = decimal number 4
4/2=2 =0
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 5
2/2=1 =0
½ 100 ႔ ႕ t
႕ ႔
Assembler 3 ႕ 4 binary code (machine code)
command data addition (+)
0011
+ 0100
0111
binary code ႔ result machine
o encoding ႔ computer
႕ decimal
o 0111 (8 4 2 1)
8 (4 2 1)
7 encoding t decode
execute 7 ႔ sp y ႔
Assemble m hn o object code
႔ Assembler ႕ ႔
Source code Assemble error ႔
Editor object file (*.obj)
t o linker ႕ ႕
Obj code sour o linker
C libries file sour f ႕ linking linking
linker error error libries
h r f fun t on C source code program
linker error C libries f h r
f fun t on ႔ error Editor
rror o t f Executable file
x ut f (*.exe) f
o t f user sp y ႕ decode
f 3+4 = 7 ႔ user sp y
႕ n u pro r m Computer
K ZAN HTIKE
6 HOW TO LEARN C PROGRAMMING # VIOLETT
႕ x ut o
Programming language ႕
China, India, Japan
programming paradigms ႔ n u
n sh n u ႕ English language paragraph
႕ s nt n ႕ ph ts Vouw
Noun or Verb ႕ C language
program ႕ sentences nstru t on
Vouwel, Noun, verb Data type, Keyword,
Variables ႕ Alphabests Sp sym o s ts
႔ n u ႕ ph ts
program ႕
႕ ႔
၁ ၅
၃ PT dress
“ ” ႔
“ ႕ ”
၁
Dress
၃
႕ “ ႕ ”
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 7
၃
႕ “
” “
႕ ”
႕ functions
႔ header file ႔
functions function header file
C language fun t on h r f
C language t output sp y ႕
printf() function (print function) function library file
stdio.h(standard input /output header) ႔ header
file " "
fun t ons program fun t on
function header file program
႕ t ywor p r tor
႕ ႕ program
programming language paradigms ႕
programming Analog
Digital C
programming language
We are order ႔
႕ ႕
pro r mm r ႕
2. History of C
1960 omput r n u -
COBL ( language omm r pp t on ) ႕
FORTRAN Engineering ႕ S nt f pp t on ႕
႕
n u language ႕
ALGOL 60 language
language CPL(Combined Programming Language)
Cambridge University develop language
K ZAN HTIKE
8 HOW TO LEARN C PROGRAMMING # VIOLETT
3. Compilers
Compilers ႔ Human
language ႕ Machine Language Translate ႔ ႔
Sour o s Compilers Run Translate
Error rror List Sour
o Compiler ႔ GNU GCC Compiler Code block software
Built in
4. Structure of C program
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 9
C program n u Sty
Stru tur -
2. Global Declaration
Global Declaration variable program
function functions ႕
႔ variable ႕ function ႕
scope ႔ function
႔ main() function ႕ Global ႕
Global v r o v r ႔
Structure program
3. Executable part
Executable part p r tor s on St t m nt fun t ons
program ႕ nstru t ons
st t m nt Curly brace { } ႕ program
႕ x mp
K ZAN HTIKE
10 HOW TO LEARN C PROGRAMMING # VIOLETT
4. User_defined function
User_define function user fun t on
fun t on main() function ႕
main() function ႕ ႔
user ႕
syntax ႕ ၈
5. Comments
Comments program St t m nt
program ႕
user ႕
/* */ ႕ //
႔ omm nt program run Compiler run
programmer
.. Structure x mp pro r m ႕
Structure ႔ Beginner
႔ programming language
Hello World Programming ႕
႕ … ro r m
St t m nt
line by line program ....
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 11
◆ .. pro r m ႔
os n r ( ) ႕ su ss
pro r m Examp
My name is Mg Mg
I Love U Baby !
Hi! Candy.
… screen
K ZAN HTIKE
12 HOW TO LEARN C PROGRAMMING # VIOLETT
#define AGE 19
# fn N “ ”
AGE, N Sym o onst nt
႕ n sp s ႔
v r n m keywords, onst nt n fun t on
n sp s ႔
၃ open brace { ႕ close brace } St t m nt
႔ ႔
Syntax ႕ programmer
St t m nt ႔ statement
႕ semicolon(;)
-
a =b+c;
d=b*c;
(or)
a =b+c; d=b*c; …
opening brace { ႕ closing brace } ႕
open brace ၃ close brace
၃
lesson
2. The C Declarations
1. C character Set
C language h r t rs t ႕
1. Letters
2.Digits
3.White spaces
Sp h r t rs T ႕
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 13
Vertical tab
New line
Form feed
4. Special Characters
, Comma & Ampersand
. Period or dot ^ Caret
; Semi-colon * Asterisk
: Colon - Minus
„ Apostrophe + Plus
“ Quotation mark < Less than
h r t r S t ႕ ro r m
႕ ႕ pro r m
Sp h r t rs
Delimiters Use
K ZAN HTIKE
14 HOW TO LEARN C PROGRAMMING # VIOLETT
2. C Keywords
Program ywor s
႔ ywor s C Compiler
႔ ႕ t ႕ m mory
႕ v r n m
C compiler ywor ႕ ႔
error ႕ ywor
႕ ႕ ႔
“ ႔
” ႕ ႔ T
႕
C Keywords
3. Identifiers
Identifiers v r s n m ,fun t ons n m , rr ys n m
nt f rs un r s or ( ) ႔
႕ -
F_name, sum_of user nt f rs
example ႕
a) #define N 10
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 15
b)# define a 15
N ႕ a user nt f rs
႔
4. Constants
Constants program execute
a ႕
3 ႔ program execute a ႕
3 ႔ constants value ႔ C
language ႔
T ႕
1. Numeric Constants
a) Integer Constants
Integer Constants
b) Real Constants
Real constants
floatin point constants ( )
- , , t r onst ns
႔
- 2456.123 2.456123E3 ႔ exponent ႔ „ ‟ tt r
mantissa ႔ exponent
K ZAN HTIKE
16 HOW TO LEARN C PROGRAMMING # VIOLETT
Exponent
onst nts (constant)
႔
2. Character Constants
1) Single character constants
Character constant Single character constant ႔
onst nt single quote (' ' )
- ' ' , ' ‟, ' ‟ t
h r t r onst nt ASCII (American Standar Code For Information
Interchange) letter A to Z
integer 65 90 Small letter a to z
97 122 decimal ႕ x mp
2) String Constants
String Constants double quote (“ “)
………… “ o” ,” n ” , “ ” ,” ”
ou quot (“ “) Str n
onst nts ႔ ႔
5. Variables
Variables ႕ program t
႕ memory ႕ v r n m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 17
႕ ႔
႕ ႔
႕ ႔ v r n m
႔ Variables ႕ ႕
a variable ႔ ႔ a ႕ 1
(a constant
႕ ႕ ) variable ႕
Variable ႕ ႔
႕
…… Tr n ႕ Area ႕ v r n m
႔ length, width ႔ length, width ႔ a, b
႔ v r n m ႕
6. Variables
Variables v r
၁ V r n m ႕ h r t r ႕
႔
= 1height height ႔
un rs or ႔ (F_name).
V r s ႕ ywor s ႔ ႕ ႔
႔
၃ V r n m character upper ႕ lower
variable ..... SUM ႕ sum variable
႔
/* */
7. Data Types
Data Types program t ႕
data integer character
Floating point ႕ Data type
data integer integer data type
Data type output
.... data t typ
T ႕
K ZAN HTIKE
18 HOW TO LEARN C PROGRAMMING # VIOLETT
T char h r t r t
character data type name ႕ ႕ Byte (memory allocation size) yt
yt ႕ ႕ range -128 to 127
format string( or) conversion character t typ
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 19
rn V r s (V r s )
V r s
variables
V r s C program ႕ structure
Declaration part program ႕
main function ႕ Global ႕ main
function ႕
႕ ႕
nt ; ( )
K ZAN HTIKE
20 HOW TO LEARN C PROGRAMMING # VIOLETT
m moy integer yt
char yt program ႕ variable
data type memory space
Compiler ႕ ႕ nt r t value type
String string data
႔ r f r n t typ ႔
႕
char* v_name="abc"
9. Variables
Initializing v r
assign ႔ assign
ss nm nt op r tor "=" Operator
ss nm nt op r tor
... initializing ႕ declaring
႕
int a;
a variable name nt r t typ
႔
....
a=3; a ႕ ႔ assign
declaring ႕ initializing …
int a=3; ႔ ႕
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 21
t typ
Type Conversion data type data type
pro r m
program
◆ printf() function output
Division operation Result ႔ printf() ႕
႕ printf() 5 2 ႕
Screen
◆ Printf() function output ႔
႔ output output
႕ data type
format string program 5 ႕ integer
2 integer ႕ (Division) ႕
႔ ႕
integer ႕ integer data type ႕ format string (%d)
ou quot (“ “) output
႔ 2.5 2 ႔ ႕
%d integer data type ႕ f.s ႔ ႕ ႕
synt x double quote output r turn
႕ f.s omm (,)
statement
K ZAN HTIKE
22 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 23
.. pro r m
K ZAN HTIKE
24 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 25
K ZAN HTIKE
26 HOW TO LEARN C PROGRAMMING # VIOLETT
language C program
Operators 3 op r tors
႔ pro r m
၃
1.Arithmetic operators
2.Relational operators
3.Logical operators
1. Arithmetic operators
Arithmetic operators ……
1) Binary Operator ႕
2) Un ry p r tor
1) Binary Operators
Operator Computer Language
r thm t op r tors
႕
Addition Operator
႕ ႔ r thm t
op r tor Table ႕
Table ႔ ro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 27
◆ printf 2 ႕ 2 ႕ ႔
double quote Addition double quote
display %d ႔
%d Compiler t typ ႕
onv rs on h r t r (form t str n ) 2 ႕2
4 integer data type ႔
႔ ႕ data
type ႕ integer
integer data nt r t Output
%d %d place order ႕
program ႔ fo t
t typ %f double quote
Synt x ou quot comma
Expression
K ZAN HTIKE
28 HOW TO LEARN C PROGRAMMING # VIOLETT
int x=-50;
int y=-x;
x=-50 x ႕ -
y=-x ႔ ss n x -
50 y y ႕ -
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 29
႔ x ႕ ႕ -
-(- ) - × - + y ႕
႕ Unary minus
Increment /Decrement Operators C oop st t m nt ႕
operator ႔
K ZAN HTIKE
30 HOW TO LEARN C PROGRAMMING # VIOLETT
Program 20 ႕ 10 ႕ variable x ႕ y
int nt r t typ assignment operator (=)
variable z ႕ b suffix
႕
◆ statement z=x*y++; x 20 ႕ y 10
y suffix run
႕
200 z z output 200
◆ b=x*y; ႔ x
20 y
y run
y 220
b b output
220 Monitor display … suffix
2) Preffix
Prefix prefix variable run
prefix …(++x) or (--x)
pro r m
Program ႕
႕ prefix
x ႕ 10 , y ႕ z ႕ y
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 31
prefix y y run
suffix x ႕ y
210
◆ a x 10 y 21
y 20 ႔ a=x*y y (++y) ႔ ႕
႔ y vo t v r ႔
volatile variable ႕ y 20
႔ y prefix
y
◆ y 20 21 a y
႕ 21 output
႔
Suff x Prefix
… program x ႕ y variable
Address ( ) ႔
K ZAN HTIKE
32 HOW TO LEARN C PROGRAMMING # VIOLETT
x ႕y 2 ႕3 program x
႕ y & operator
display &x x ႕ ႕ & & x
2 display &y ႔ Program
output & ႕ output
Size of () Operator
sizeof() Operator sizeof() Operator
႕ data m mory
pro r m ro r m
programming sense ႔
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 33
Program Program ႕
program line by line trace
႔ size of () ႔ sizeof () operator ႕
() variable ႕ byte Output Programming terms ႕
sizeof () operator ႕ parenthesis argument ႕ byte
program sizeof () ႕ argument x ႕
byte variable x ႕ data type nt r t typ 4
byte ႔ Output sizeof(y) float t typ
႔ fo t t ႕ m mory byte 4 output
႔
2.Relational operators
t on op r tors v u s ႔
႕ r t on op r tors ႕
K ZAN HTIKE
34 HOW TO LEARN C PROGRAMMING # VIOLETT
4 3 result f s value
5 5 5 ႕
tru
tru result pro r m
'
pro r m relational operator ႕ ႔
on t on op r tor Sorry...
Conditional operator Conditional
operator ႕
result pro r m ႕
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 35
3. Logical Operators
Logical operators expression
program ႕ ႕ log
op r tor ႕ sym o ႕ t ႕
Operator Description or Action Example Return value
&& Logical AND 5>3 && 5<10 1
|| Logical OR 8>5||8<2 1
! Logical NOT 8!=8 0
◆ T operator &&
logical AND expression value
&& ႕ ႕ ႕ expression
value 1 return value
0 x mp && ႕ ႕ expression 5 3
႔ expression 5 10
expression return value
K ZAN HTIKE
36 HOW TO LEARN C PROGRAMMING # VIOLETT
◆ || operator o OR ႕
|| ႕ ႕ ႕ expression
return value 1
◆ ! operator o N T Example 8 8 ႕
expression return value 0
program
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 37
K ZAN HTIKE
38 HOW TO LEARN C PROGRAMMING # VIOLETT
Example.
x mp priority
function call () ,multiplication(*) ,Division (/) Operators ၃ Table
function call() operator function
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 39
call ၃ ()
( ) ႕ 2 * 2
() Division operator
Program
Output ႕ pro r m
program ၃ ႕ average ၃
variable a,b,c ၃ ႕ average
average ႕
program ႕
႕ (a+b+c)/3 St t m nt
႕ op r tor ႕ Statement
႔ ၃ ၃ ႕
… + + program
pro r m
K ZAN HTIKE
40 HOW TO LEARN C PROGRAMMING # VIOLETT
a,b,c
3 ႕ Compiler
op r tor ႕ priority Division (/) operator
variable c 3 ႕ c 4
1.3333 integer data type ႔ integer
1 a , b ႕ 1 6
output . ႔ average
program Syntax
(a+b+c)/3
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 41
fun t on ႕
႔ User nput t us r
႕ fun t on ႕
C I/O function I/O data type
1) Formatted functions
Formatted functions functions data
type Input/Output ႔ orm tt fun t ons User
t t Output User nput
onv rs on sym o data ႕ data type
integer data type nput v u
integer data type ႕ conversion symbol %d ႕ printf
() function t conversion symbol Output
3) Unformatted functions
Unform tt fun t ons t Input/Output ႔
h r t r t typ string typ ႔ Output ႔
function t I/o ႔ onv rs on
sym o
orm tt n Unform tt fun t ons fun t on t
K ZAN HTIKE
42 HOW TO LEARN C PROGRAMMING # VIOLETT
T fun t on ႕ ro r m ႕
1) Use of printf()
printf() ႕ printf()
function data values display Output ႕
conversion symbol v r n m s conversion symbol ႕ variable
names format x mp
C ASCII value
ASCII value Table
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 43
K ZAN HTIKE
44 HOW TO LEARN C PROGRAMMING # VIOLETT
T pro r m S v u ႕ Sym o
display
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 45
b) scanf() function
scanf()function Input function User v u
variable ႕ input
value ႕ data type conversion symbol
variable name ႕ ႕ Address operator (&) ႔ nput
t variable name ႕ Address ႔ ႕ v r data
program
scanf() function user 3 ႔ 3 user
◆ statement user ႕
variable a &a ႔ &
K ZAN HTIKE
46 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 47
%0.1f ႔ () ႕ limint
႕ ႕ .1 (point 1)
႕ ႕
short ႔
႕ long ႔
short ႔ m mory ov rfu short
K ZAN HTIKE
48 HOW TO LEARN C PROGRAMMING # VIOLETT
႔ long ႔
m mory w st ႕ ႕ ႕
real
character data type ႕ conversion symbol
…
C language s p s qu n
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 49
2 ႕ 3 ႕ pro r m
◆ x 2 , y 3 pow(x,y) ႔ ႕ 8
y
Compiler x ႔ 23 8 Output
pow(argument1,argument2) function argument1
base variable argument2 exponent variable
program ......
Relational operator Logical Operator Conditional operator
nput v u iinput value value
True ႔ output False ႔ output
K ZAN HTIKE
50 HOW TO LEARN C PROGRAMMING # VIOLETT
(or)
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 51
program ႕
User input value 2 ႕ 4 ႔ a ႕ b 2 ႕ 4
nput %d,%d ႕ ၇
႔ user a ႕ b comma comma
a omm omm
b omm ႕ a omm
b ..... sum=a+b; statement
additional operator (+) a ႕ b ႔
sum sum ႕
monitor sp y ႕ printf() function Output
K ZAN HTIKE
52 HOW TO LEARN C PROGRAMMING # VIOLETT
program a
character data type ႔ %c input data a
printf () function ႕ output trace
programming line by line
………
Programming ႕ s n ႔ .…
variable (swap)
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 53
◆ program A ႕ B int
a=7,b=4 a ႕b
◆ pr ntf(“ n ”, , ); a ႕ b output
◆ statement a=a+b; a ႕ b a
a 7 ႕b 4 11
a a 7
11
◆ statement b=a-b; a b a
11 7 b b 4
7
◆ statement a=a-b; ႔ a 11 b
7 4 4 a ႕ assign
a 11 4 pr ntf(“Now n
”, , ); ႔ ၇ a 4 ႕ b
7 Output a ႕b
႕ swapping ႔
႔ …
b) Unformatted functions
Unform tt fun t ons getch() function ႕ getche() function
pro r m
K ZAN HTIKE
54 HOW TO LEARN C PROGRAMMING # VIOLETT
◆ ch=getch(); variable ch
ch us r sp y
sp y ႕ putch(argument) function sp y
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 55
5. Decision Statements
1. Introduction
program ႕ flow ႕ o op r tors
႔ ႕ program ႕ execution flow ႕ s on st t m nts
St t m nt ႕
1) The if statement
2) The if-else statement
3) The if-else-if statement
4) The switch () statement
1) The if statement
If statement ႕ ႕
Logical operator logical operator expression
if statement tru
f s if statement ႕ syntax
if (condition)
{
Statement;
}
K ZAN HTIKE
56 HOW TO LEARN C PROGRAMMING # VIOLETT
(or)
if statement ႕ user
user 9 ႔ ႔ 9 varable v if ႕
if(v<10) ႔ variable v
10 ႔
၇ if block statement run if block
statement run ႕ printf() function compiler ႕
print() function output fun t on double quote
sp y ႕ ႔ user 11 ႔
႔ if statement if(v<10)
condition v 11 10
condition if statement ႕ block statement run
program
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 57
႔ START Program
INPUT VALUE OF V Variable v
IS V<10 condition variable v 10
T U MESSAGE S FALSE
MESSAGE program
႔
If statement program
program
K ZAN HTIKE
58 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 59
programming sense ႕ ႔
compiler run run ႔
compiler run program ႕ flow
program
႕ …
If statement pro r m
user ႔ user
၃ you are young
၃ program
(or)
K ZAN HTIKE
60 HOW TO LEARN C PROGRAMMING # VIOLETT
program ႔ 40 ႔ 30
program sp y tr
programming sense …
2) if ...else...statement
control statement if ႕ condition
႕ condition if block
statement if statement program
f… s else block statement
run output ႕ ႕ synt x
if(condition)
{
Statement;
}
else
{
Statement;
}
႕ ႕ syntax ႕ ႕
႔ pro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 61
(or)
program ႕ if
statement user Enter number ႔ 10 ႔
႔ a 10 if (a>9) ႔ condition
a 10 9 if condition
if block statement run printf() The number is
greater than 9 output if statement
else block run program
႔ user 4 ႔ ႔ if ႕
a 4 9 condition
program if block statement run else statement run
else block The number is less than 9
output program ႕ run flow
႕ …
႕ program ႔ if-else statement ႕ logical AND
operator pro r m
K ZAN HTIKE
62 HOW TO LEARN C PROGRAMMING # VIOLETT
(or)
pro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 63
ro r m
user ၁ v r n m
variable d
user 25 ႔ ႔ value variable s
K ZAN HTIKE
64 HOW TO LEARN C PROGRAMMING # VIOLETT
expression d*d d 5 * 25
25 output ႕ %d ( Expression
4 conversion symbol ) monitor sp y
%d%d ႔ 625 ႔ disp y ႔ %d,%d
႔ 6,25 ႔ ႕
25 ႕ 625 output display
◆ ႔ user 20 ႔ ႔ s d=s%10;
statement run 20%10 modular division 0
module statement if(d==5)
if ႕ condition d s 10 ႕ module
0 5 ႕ Equal(==)
႕ Assign(=) Equal (==) ႕
Assign(=)
a=4 ႔ a 4 ႕
assign 4 variable a
႔ ႔
compiler if block statement run
else block statement run printf() function
Invalid number mon tor output display
program ႔
line by line . ....
if(condition)
{
statement;
}
else if(condition)
{
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 65
statement;
}
else
{
statement;
}
K ZAN HTIKE
66 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 67
K ZAN HTIKE
68 HOW TO LEARN C PROGRAMMING # VIOLETT
a c 5 b c
logical AND
expression else if block st t m nt
run else run condition
st t m nt else block
statement sp y c is the largest
sp y program ႔ if
else if else ႕ ႔
Nested if pro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 69
K ZAN HTIKE
70 HOW TO LEARN C PROGRAMMING # VIOLETT
program Trace
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 71
K ZAN HTIKE
72 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 73
program ႕ program ႕ 4 ႕ ႔
0 ႕
sp y ႔ 4 ႕ 4
႔ trace programming flow
programming sense goto statement
႔ .....
K ZAN HTIKE
74 HOW TO LEARN C PROGRAMMING # VIOLETT
switch(variable or expression)
{
case constant A:
Statement;
break;
default:
Statement;
}
pro r m
(or)
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 75
K ZAN HTIKE
76 HOW TO LEARN C PROGRAMMING # VIOLETT
◆ program output
႕
pro r m ႕ output nu t t ႕ Menu 1
to 4 sp y ႕ printf() function
program
◆ user nu title Enter Your choice
program pr ntf() fun t on
. user memory ႔
႕ scanf() function
႕ variable name
program ch ႔
◆ user 2 ႔ choice ႔ title 2 ႕ Su tr t on st t m nt
1 ႔ 1 ႕ t on
Calculator ႕f tur s ႕ ႕
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 77
v r n m program user
႕
scanf() function ...
◆ program a ႕ b
a-b ႔ sp y
printf() function program pr ntf(“\n
Su tr t on of n ”, -b); ႔ Subtraction of a and b
=1 sp y .... ႔
…
K ZAN HTIKE
78 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 79
program ႕
display ႕ v r n m
data type long ႔ ႔ ႕ ႕
႕ ႔ user ႕ ႔
nu program 1 to 5 ႕ Exit
tt display program if statement ႕
condition user 0 to 5 Enter
years ႕ case constant ႕
st t m nt 0 to 5
program ႔ program 0 to 5
case constant ႔
user ႕ ႔ Menu 4 ႔
choice 4 ch if statement
႔ Enter years ႕
user ႔
2 ႔ yrs variable
႔ year month, y,hour
program mon=yrs*12; st t m nt
mon * mon 24
variable mon
user 4 ႔ switch(ch) 4
case constant ႕ case 4: ႕ statement run
pr ntf(“\n onths ”,mon); statement run Month=24
sp y mon ႔
႕ program break; statement
break ႕ Month=24 ႔ sp y ႕
program st t m nt run
program ႔ 3 ႕ ႔ 2 year ႔
2 year ႕ hrs=ds*24;
K ZAN HTIKE
80 HOW TO LEARN C PROGRAMMING # VIOLETT
statement
႔0 case 0 run Terminate by choice
program break pro r m
program ႕
႔ …
switch() statement user input value
sp y progr m
program
user input value user 5
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 81
K ZAN HTIKE
82 HOW TO LEARN C PROGRAMMING # VIOLETT
for(start;stop;step)
{
Statement;
}
for loop statement ႕ parenthesis () st rt;stop;st p
start user 1 5
၁ condition
expression start ႕ stop
၇ ၁ ၅
stop expression stop xpr ss on
step 1 5
႕ n r m nt, r m nt op r tor
expression
st rt,stop,st p xpr ss ons semicolon(;)
for loop statement ႕
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 83
K ZAN HTIKE
84 HOW TO LEARN C PROGRAMMING # VIOLETT
႕ ( ) 5 ႔ condition test ႔
program ႔ program for loop statement
user 1 5 ႕
႔ 1 5 ၇ output for loop
statement st rt,stop,st p ႕ 1 to 5 ႕ sp y
႔
1 15 sp y ႕ for loop statement
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 85
pro r m
for loop run ႕ printf()
function i sp y program i display
႕ ႕ conversion symbol %d ႕ i i ႕ sp y
double quote Mg Mg sp y
႕
logic pro r m
pro r m 7 to 100 4 ႕ 0 ႕ 5
႕ 6 ႕ user ႕
computer pro r m
… omput r user
o ႕ computer ႕
64 4 ႕ 0 5
႕ 4 6 ႕ 4 computer
programmer 1 ႕ 0
computer Logic program
i=7 ႔ for loop run i
for loop ႕ scope st t m nt run statement if
K ZAN HTIKE
86 HOW TO LEARN C PROGRAMMING # VIOLETT
statement ႕ condition ႔ 7
4 ႕ 3 expression 5 ႕
2 6 ႕ 1 condition test f
if block st t m nt run for loop
for loop statement run
run i 7 99 loop
run if ႕ expression ၃ if block statement
run loop if ႕ ႕ run
condition Answer:64 sp y
program ႔
0 to 15 sp y pro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 87
program ႕
ascending program for loop statement
run 0 to 15 loop I stop
K ZAN HTIKE
88 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 89
K ZAN HTIKE
90 HOW TO LEARN C PROGRAMMING # VIOLETT
program ontro st t m nt ႔
program ႕ user day
st
user 2 ႔ ႔ 1 day ႕ 2nd day sp y
t
4 ႔ 1s to 4th ႕ y
႔ for loop statement for
loop statement 2 ႔ case 2: ႕ statement
sp y
program for loop ႕ user day
႔ 4 ႕ ႔ y for loop
statement ႕ loop for( ; ; ++) i
switch(i) case 1: statement displ y for loop
for loop run i
i switch (i) ႕ case constant st t m nt
sp y for loop statement i<=4 ႔
condition test program
႔
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 91
pro r m user ၃
၃ a
b c sum=a+b+c; statement run
a,b,c sum
user a=1,b=2,c=3 ႔ ႔ sum
၇ for(i=sum;i<=sum;i--) statement run
sum 6 compiler for(i=6;i<=6;i--) ႔ start i
၇ for loop ႕ scope st t m nt run
if(i==a || i==b || i==c) ႔ if ႕ i 6 a,b,c
႕ if block statement
run for loop run step (i--) I
if ႕ a,b,c ၃
႕ ||(logical OR ) operator 3
႕ if block statement run ႕
for loop a,b,c ၃ c ႕
if block statement run i sp y i
3 sp y ... user ၃
3 . ...program o nstru t on
႕ t ၇
program ၃ pro r m
K ZAN HTIKE
92 HOW TO LEARN C PROGRAMMING # VIOLETT
syntax pro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 93
K ZAN HTIKE
94 HOW TO LEARN C PROGRAMMING # VIOLETT
႕ ႕ syntax pro r m ႔
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 95
I 1 2 3 sp y ႕ program
႕
while loop 1 to 4 sp y 1 to 4
pro r m
… program program a =1 ႔ r
a =1 sum=0 ႔
႔ 1 to 4 ႕ sum
႔ while loop loop a ႕
program
a 1 ႔ start a while(a<=4)
႔ test ccondition loop a condition
a sp y sum=sum+a; run sum
0 ႕ sum + ; sum ... sum
0 ႔ ႔ ႕
0 ႔ step a++
a
while condtion ႕ a sp y
sum=sum+a run sum , sum + a
condition a sp y sum ႕ loop
sum + a 4
K ZAN HTIKE
96 HOW TO LEARN C PROGRAMMING # VIOLETT
start;
do
{
statement;
step;
}
while(stop)
… ႕ ႕ syntax pro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 97
K ZAN HTIKE
98 HOW TO LEARN C PROGRAMMING # VIOLETT
Line_6. user ႔
Line_7. user 5 ႕ ႔ 1 to 5
5 variable I
Line_8 . do run do ႕ scope st t m nt run
Line_10. printf() a sp y a ႕ 1+ ႔
sp y + ႔ printf() ႕ double
quote ....
Line_11. s=s+a run s=0+1 ႔ s
Line_12. a++ statement ႕ a
7.Arrays
C language Arrary
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 99
int a[5]={1,2,3,4,5};
declaration ႕ a rr y n m
The bracket([]) variable declaration Array declaration ႔ Compiler
op r tor curly brace({ }) v u
rr y m nt rr y m nt a[5] assign
႕
K ZAN HTIKE
100 HOW TO LEARN C PROGRAMMING # VIOLETT
index 0 index 1
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 101
h r t r rr y (str n ) output
K ZAN HTIKE
102 HOW TO LEARN C PROGRAMMING # VIOLETT
Array A R R A Y \n
element
Array no. name[0] name[1] name[2] name[3] name[4] name[5]
t ႕ ႔
.. program Array declaration ႕
while loop statement
Line_7. while( name[i]!= '\0' ) ႕ name[i] null (\0) ႕
scope st t m nt run ႔
str n array element string
element ႕ \n(null character) ႕ auto table string
element ႕ h r t r „y'‟ \n ႕
႔ .. program I 0 ႔ assign
n m [ ] while statement ႕ name[0] \n ႕
printf() function run A sp y i
n m [ ] R sp y
i ,n m [ ] \n character ႕
program while statement run program
႔
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 103
1 to 10 ႕
pro r m
program v r n m
for loop statement
Line_8. for(i=1;i<=10;i++) statement i 0 loop
10 ႔ for loop ႕ scope st t m nt run ႔
K ZAN HTIKE
104 HOW TO LEARN C PROGRAMMING # VIOLETT
i 2 ႕ 0 ႕
else block statement run b b
o [ ] i
0 ႕ if block statement run
else block statement run ႔ even ႕ odd
table
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 105
loop i m nt sp y
sume=sume+even[i]; sumo=sumo+odd[i]; st t m nt i
႕ loop
even[0] ႕ 2 ႕ odd[o] ႕ sume=o+2 ႕
sumo=0+1 sume,sumo 0 ႔
even[i] ႕ e m nt sume
odd[i] ႕ m nt sumo
sume=30 ႕ sumo=25 user ႕ Output
K ZAN HTIKE
106 HOW TO LEARN C PROGRAMMING # VIOLETT
H E L L O
… program for(i=15;i>=0;i--) st rt
s[15] ႔ compiler s[15]
data sp y step
s[ ] s[14] t
sp y ႕
Loop i s[4]
s[4] ႕ rr y m nt O sp y i
i=3 s[3] ႕ array element L display
i=0 s[0] ႕ element H sp y output m nt
input element ႕ ႔
One Dimensional Array ႔
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 107
K ZAN HTIKE
108 HOW TO LEARN C PROGRAMMING # VIOLETT
rr y m nt program
႔ Two dimensional array 1 to 9
sp y Two m ns on rr y m nt
sp y ႕ variable 2 nested for loop
program variable i ႕ j for loop statement
Outer loop for(i=0;i<=3;i++) i
inner loop run inner loop for(j=0;j<=3;j++) j
a[i][j] a[0][0] ႔ compiler
a[0][0] array element 1
a[i][j] display 1 sp y
loop inner loop
႔ inner loop stop outer loop
j
[ ][ ]
element 2 a[i][j] sp y
a[0][1] 2 sp y
a[i][j] [ ][ ] element 3 sp y
i =3 a<3 condition
outer loop run i
inner loop run inner loop j 0 ႔ start
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 109
K ZAN HTIKE
110 HOW TO LEARN C PROGRAMMING # VIOLETT
2 ႕ 10 a[0][0] ႕ assign
a[0][0]
statement a[i][j+1]=pow(b[i][j],2)
a[o][0+1]=pow(5,2) ႔ pow function ႕
2
5 =25 25 a[0][1]
for loop statement for loop
loop i i=1
scope st t m nt run a[i][j]=b[i][j]*2
a[1][0]=b[1][0]*2 ႔ 0
b[1][0] 2 ႕ 8 8 a[1][0]
b[0] b[1]
2686648 2686656
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 111
K ZAN HTIKE
112 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 113
program ႕ ႕ program
Line_4 main() function printf() function run sp y
st t m nt Line_5 Userdef_fun() function run
Userdef_fun() Line_9 run This is user
defined function sp y program main()
function statement Line_6 SecUserdef_fun() function run
SecUserdef_fun() function Line_13 This is
K ZAN HTIKE
114 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 115
K ZAN HTIKE
116 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 117
K ZAN HTIKE
118 HOW TO LEARN C PROGRAMMING # VIOLETT
(Or)
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 119
(or)
K ZAN HTIKE
120 HOW TO LEARN C PROGRAMMING # VIOLETT
1.50000 =2.25000
႔ line_4 float squar() ႔
square function float data type r turn ႔
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 121
return statement ႔
called function v u return
9.Pointer
Pointer
Pointer v r declare computer
int i=3 ;
variable i nt r t typ value 3 ႔
C Compiler ၃ ႕
K ZAN HTIKE
122 HOW TO LEARN C PROGRAMMING # VIOLETT
၁ nt rv u ႕ memory space ႕
variable name i memory ႕
၃ variable name i memory 3 ႔
Memory ႕
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 123
value sp y operator
Indirection operator ႔ op r tor ႕ pro r m
.. program ႕ ႔ Line_5
&i ႕ output value 3 Address sp y Line 6
i sp y I value 3 sp y
Line_7 *(&i) ႕ 3 ႕ address
display value 3 sp y indirection operator (*) ႕
value at address &i value sp y ႔
i ႔ sp y *(&i) ႔ value 3 sp y
&i i ႕ address sp y v u v r
n m ႔ r ss v r n m
႔
j=&i;
variable I ႕ address v r variable j
j v r ႕
v u variable variable ႕ address
v r ႔
K ZAN HTIKE
124 HOW TO LEARN C PROGRAMMING # VIOLETT
႔ j=&I ႔ ႕ memory
j v r compiler ႕ memory
location(address) variable i ႕ address
(6485) value 3 variable j ႕ address(3276) variable i ႕
address ႔ ႕ variable j
address ႕ value *j ႔
program
႕ ႔ Line_8 j sp y
J &i ႔ assign i ႕ address sp y
Line_9 &j j ႕ address sp y Line_13
*j sp y value 3 sp y
j=&i ႕ assign *(& ) * operator
value at address address i value sp y
pointer ႔ call by reference
variable ႕ pro r m
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 125
Line_14 t=*x; t
Line_15 *x=*y; *x ႔ *y
*x 10 assign value 20
Line_16 *y=t *y
called function *x ,*y a ,b sp y
, call by reference ႕ swapping
႔
K ZAN HTIKE
126 HOW TO LEARN C PROGRAMMING # VIOLETT
Exercise
C language ႕ paradigsm ႔ pro r m
trace Exercise
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 127
K ZAN HTIKE
128 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 129
program ႔ password
program password
K ZAN HTIKE
130 HOW TO LEARN C PROGRAMMING # VIOLETT
K ZAN HTIKE
# VIOLETT HOW TO LEARN C PROGRAMMING 131
program
C language ႕ ႔ ႔
programming language ႕
K ZAN HTIKE