Académique Documents
Professionnel Documents
Culture Documents
Key board
Mouse
Input
Storage
Area
Output
Storage
Area
Input Devices
Monitor
Printer
Output Devices
Register N
Arithmetic
and
Logic Unit
MicroStorage
Processor
Secondary
Devices
start
Flow chart:
Yes
read num
If num
%2=0
No
print num
is odd
print num
is even
stop
Terminal
Parallegram
Input/output
Rectangle
Process
Document
Hard copy
Diamond
Decision
Circle
Connector
Sub program
Hexagon
Iteration
Trapezoid
Manual Operation
Cylinder
1
2
3
4
5
6
7
8
9
1
0
#include<stdio.h>
int main(void)
{
int n1, n2,product;
printf(Enter two numbers : );
scanf(%d %d,&n1,&n2);
product = n1 * n2;
printf(%d,product);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
entry
main,^m<r2>
sub12
#12,sp
jsb
C$MAIN_ARGS
moveb $CHAR_STRING_CON
pusha1
pusha1
calls
pusha1
pusha1
calls
mull3
pusha
calls
clrl
ret
-8(fp)
(r2)
#2,SCANF
-12(fp)
3(r2)
#2,SCANF
-8(fp),-12(fp),6(fp)
#2,PRINTF
r0
Structure of C program
/*Program to find
area and perimeter of Circle */
#include<stdio.h>
#define PI 3.1415
float radius;
float area();
float perimeter();
int main()
{
float a, p;
printf(Enter radius : );
scanf(%f,&radius);
a = area();
p = perimeter();
printf(Area of Circle : %f,a);
printf(Perimeter : %f,p);
}
float area()
{
return (PI * radius * radius);
}
float perimeter()
{
return (2 * PI * radius);
}
Documentation Section
Linkage Section
Definition Section
Global Declaration Section
FunctionN()
4.a)Compilation
Translate the program into machine code. This
process is called as Compilation. Syntactic errors are
found quickly at the time of compiling the program.
These errors occur due to the usage of wrong syntaxes
for the statements.
Eg: x=a*y+b
There is a syntax error in this statement, since, each
and every statement in C language ends with a
semicolon (;).
4.b)Execution
The next step is Program execution. In this phase, we
may encounter two types of errors.
Runtime Errors: these errors occur during the
execution of the program and terminates the program
abnormally.
Logical Errors: these errors occur due to incorrect
usage of the instructions in the program. These errors
are neither detected during compilation or execution
nor cause any stoppage to the program execution but
produces incorrect ouz
Executing a C program
Text
Editor
#include<stdio.h>
int main()
{
.
prog1.c
compiles
C-compiler
Yes
Syntax
Errors?
010110 100
.
01011 101
No
Object machine code
Linker
00101010
.
01010101
prog1.obj
adds
Executable
machine code
machine code of
library file
C-Runtime
prog1.exe
Executes
Feeds
Input
Runtime
or Logic
Errors ?
Output
Yes
double int
else
long
enum
register
extern return
float
short
for
signed
goto
sizeof
static
while
_Imaginary
struct
switch
typedef
union
unsigned
void
volatile
restrict _Complex
C-Tokens
Tokens : The smallest individual units of a C- program are called Tokens.
Key words, Identifiers, Constants, Operators, Delimiters.
Key words : have a predefined meaning and these meanings cannot be
changed. All keywords must be written in small letters (except additional
c99 keywords).
Identifiers : names of variables, functions, structures, unions, macros, labels,
arrays etc.,
Rules for define identifiers :
a) First character must be alphabetic character or under score
b) Second character onwards alphabetic character of digit or under
score.
c) First 63 characters of an identifier are significant.
d) Cannot duplicate a key word.
e) May not have a space or any other special symbol except under
score.
f) C language is Case-sensitive.
C-Tokens
Constants : fixed values that do not change during execution of a program.
Boolean constants : 0 ( false) and 1 (true)
Character constants :
only one character enclosed between two single quotes
( except escape characters ).
wide character type - wchar_t - for Unicode characters.
Integer constants : +123, -3454 , 0235 (octal value),
0x43d98 ( hexa - decimal value)
54764U, 124356578L, 124567856UL
Float constants : 0.2 , 876.345, .345623 , 23.4E+8, 47.45e+6
String Constants : Hello world , Have a nice day!
Complex Constants : real part + imaginary part * I ex : 12.3 + 3.45 * I
Operators : a symbol, which indicates an operation to be performed.
Operators are used to manipulate data in program.
Delimiters : Language Pattern of c-language uses special kind of symbols
: (colon, used for labels) ; (semicolon terminates statement ) ( ) parameter list
[ ] ( array declaration and subscript ),
{ } ( block statement )
# ( hash for preprocessor directive )
, (comma variable separator )
Minimal Range
127 to 127
0 to 255
127 to 127
32,767 to 32,767
0 to 65,535
Same as int
32,767 to 32,767
0 to 65,535
Same as short int
2,147,483,647 to 2,147,483,647
(263) to 263 1 (Added by C99)
Same as long int
0 to 4,294,967,295
264 1 (Added by C99)
3.4e-38 to 3.4e+38
1.7e-308 to 1.7e+308
3.4e-4932 to 1.1e+4932
data type that not return any value
Conversion Specifiers
Code
%a
%s
%c
%d
%f
%e
%g
%u
%o
%x
%i
%p
%n
%hd
%ld
%lf
%%
Format
Hexa decimal output in the form of 0xh.hhhhp+d(C99 only)
String of characters (until null zero is reached )
Character
Decimal integer
Floating-point numbers
Exponential notation floating-point numbers
Use the shorter of %f or %e
Unsigned integer
Octal integer
Hexadecimal integer
Signed decimal integer
Display a pointer
The associated argument must be a pointer to integer, This sepecifier causes
the number of characters written in to be stored in that integer.
short integer
long integer
long double
Prints a percent sign (%)
Code
\b
\f
\n
\r
\t
\"
\'
\\
\v
\a
\?
\N
\xN
Meaning
Backspace
Form feed
New line
Carriage return
Horizontal tab
Double quote
Single quote
Backslash
Vertical tab
Alert
Question mark
Octal constant (N is an octal constant)
Hexadecimal constant (N is a hexadecimal constant)
Evaluation of expression
Executes all Postfix Operations
/* prefix operators */
#include<stdio.h>
int main() {
int a = 7, b = 12, c;
c = b * (++a) + 5 * (++a);
printf( a = %d, a);
printf(\n b = %d,b);
printf(\n c = %d,c);
}
Output:
a=9
b = 12
c = 153 ( 12 * 9 + 5 * 9)
/* postfix operators */
#include<stdio.h>
int main() {
int a = 7, b = 12, c;
c = b * (a++) + 5 * (a++);
printf( a = %d, a);
printf(\n b = %d,b);
printf(\n c = %d,c);
}
Output:
a=9
b = 12
c = 119 ( 12 * 7 + 5 * 7)
A& B
A| B
A^ B
~A
^ -- Bitwise XOR
~ -- Bitwise NOT
| -- Bitwise OR
Bitwise AND
Bitwise OR
Bitwise XOR
Bitwise NOT
Opposite
To
Gravity
TYPE CONVERSION
1.bool
(forcible)
.
.
.
(natural)
Gravity
2.char
(forcible)
3.short int
4.int
5.long int
6.long long int
.
.
.
7.float
8.double
9.long double
(automatic)
Implicit Type Conversion
(automatic)
Operators
Associativity
( ) [ ] >.
- + ! ~ ++ (type) * & sizeof
*/%
+
<< >>
< <= > >=
= = !=
&
^
|
&&
||
?:
= += = *= /= %= &= ^=
|= <<= >>=
,
L R
RL
L R
L R
L R
L R
L R
L R
L R
L R
L R
L R
RL
RL
L R
simple if:
Test
Expression
?
False
Entry
if-else:
Entry
True
True Statement-block
True
True-block
Statements
False
Test
Expression
?
False-block
Statements
Next statement
Next statement
nested ifelse:
Entry
False
Test
condition1
?
False
Statement-3
Statement-2
Next statement
ifelseif :
Entry
Test
condition1
?
True
Statement-1
False
Test
condition2
?
True
Statement-2
False
Test
conditionN
?
True
Statement-N
Next statement
switch statement :
Entry
switch
expression
?
value1
value2
valueN
...
associate
statement
associate
statement
associate
statement
Exit
Next statement
Loop Statements
False
False
Following Statement
/* average of 5 numbers */
#include<stdio.h>
int main() {
int count = 1;
float x, sum = 0;
do {
printf(x = );
scanf(%f,&x);
sum += x;
++ count;
} while(count <= 5);
printf(Average = %f , (sum/5))
}
for -- Statement
Entry
Initialization Statement
False
Following Statement
Increment Statement
Test
Condition
?
True
Body of The loop
www.jntuworld.com
For More Materials, Text Books, Previous
Papers & Mobile updates of B.TECH,
B.PHARMACY, MBA, MCA of JNTUHYD,JNTU-KAKINADA & JNTUANANTAPUR visit www.jntuworld.com