SlideShare a Scribd company logo
C_Programming
Part 2
ENG. KEROLES SHENOUDA
1
2
Features of C
- Simple, versatile, general purpose language
- Programs are fast and efficient
- Has got rich set of operators
- more general and has no restrictions
- can easily manipulates with bits, bytes and addresses
- Varieties of data types are available
- separate compilation of functions is possible and such functions can be called
by any C program
- block-structured language
- Can be applied in System programming areas like operating systems, compilers
& Interpreters, Assemblers etc.,
3
Variable Name 4
Comments
 Sometimes programmers need
to add some notes beside their
code. Those notes are very
important to describe the code
and to clarify complex operation.
Notes or comments can be
added in two ways as shown in
the following example.
5
Data Types 6
Primitive/Basic TypesDerived
User Defined
enum typedef
Arrays
structure union
pointer Integer ValuesReal Values
signedunsigned
Integer Values 7
long long 8 –9,223,372,036,854,775,808 to
9,223,372,036,854,775,807
unsigned long long 8 0 to 18,446,744,073,709,551,615
Unsigned Integer
0 >>> (2 -1)
size_in_bits
Signed Integer
-(2)
(size_in_bits-1)
>>> +(2 -1)
(size_in_bits-1)
For example “char” 8
For example if the Unsigned charvalue uses one byte (8 bits) to
hold the numeric value:
Another example if the Signed char value uses one byte (8 bits)
to hold the numeric
value. If Tow‟s Complement method is used to represent the
negative values:
For example “char” 9
For example if the Unsigned short value uses one byte (16 bits)
to hold the numeric value:
Another example if the Signed Integer value uses four byte (32 bits) to hold
the numeric
value. If Tow‟s Complement method is used to represent the negative values:
Note
int, this data type called the machine dependent data type, which means its
size and range
vary from a machine type to another machine type (EX: in 8 bit computers int
is 1 byte, in
16 bit computers int is 2 bytes, in 32 bit computers int is 4 bytes, in 64 bit
computers int is 8
bytes).
Know that (32 Bits computers) means the principle data unit size in those
computers are 32
bit, which mean the computer is designed and optimized to process 32 bit
values
10
Floating-Point Types
Type Storage size Value range Precision
float 4 byte 1.2E-38 to
3.4E+38
6 decimal
places
double 8 byte 2.3E-308 to
1.7E+308
15 decimal
places
long double 10 byte 3.4E-4932 to
1.1E+4932
19 decimal
places
11
IEEE-754 32-bit Single-Precision
Floating-Point Numbers
 In 32-bit single-precision floating-point representation:
 The most significant bit is the sign bit (S), with 0 for positive numbers and 1 for
negative numbers.
 The following 8 bits represent exponent (E).
 The remaining 23 bits represents fraction (F).
12
Example 1: Suppose that IEEE-754 32-bit floating-point representation
pattern is 0 10000000 110 0000 0000 0000 0000 0000.
 Sign bit S = 0 ⇒ positive number
 E = 1000 0000B = 128D (in normalized form)
 Fraction is 1.11B (with an implicit leading 1) = 1 + 1×2^-1 + 1×2^-2 = 1.75D
 The number is +1.75 × 2^(128-127) = +3.5D
13
Example 2: Suppose that IEEE-754 32-bit floating-point representation
pattern is 1 01111110 100 0000 0000 0000 0000 0000.
 Sign bit S = 1 ⇒ negative number
 E = 0111 1110B = 126D (in normalized form)
 Fraction is 1.1B (with an implicit leading 1) = 1 + 2^-1 = 1.5D
 The number is -1.5 × 2^(126-127) = -0.75D
14
2′s Complement 15
C Programming Input Output (I/O):
printf() and scanf()
 C programming has several in-built library functions to perform input and
output tasks.
 Two commonly used functions for I/O (Input/Output) are printf() and scanf().
 The scanf() function reads formatted input from standard input (keyboard)
whereas the printf() function sends formatted output to the standard output
(screen).
16
Input Output 17
Eclipse's terminal emulator issue with
scanf()
 Eclipse's terminal emulator
might be different and do
more buffering. Try calling
fflush(stdout); between the
printout and the call to
scanf().
18
C Floats Input/Output 19
int printf( const char* format, ... );%
c
s
d
i
o
x
X
u
f
F
e
E
g
G
*
%10s
%-10s
.4s
20
%
writes a single character.
writes a single character.
converts a signed integer into decimal
converts a unsigned integer into octal representation
converts an unsigned integer into hexadecimal representation
converts an unsigned integer into decimal representation
converts floating-point number to the decimal notation
converts floating-point number to the decimal “Scientific”
converts floating-point number to
"Special values
Take from , …..
Shift 10-string’s length places then print the string
Print the string then shift to 10-string’s length places
Print only 4 char from string
int printf( const char* format, ... ); 21
Quiz 22
Quiz 23
24
25
Printf
Tricks
26
Solution 27
28
Data Conversion and Type Casting 29
Data Conversion and Type Casting 30
Data Conversion and Type Casting 31
 The conversion from larger to smaller data
types may lead to some data losses. For that
reason the compiler warns you against this
type of operation. However sometimes the
conversion does not affect the data like the
second expression (b = y). Compiler is not able
to
differentiate between safe or unsafe situation,
for that reason you must use the type casting
to force the conversion if you decide that it is
safe.
Mathematical and Logical Expressions 32
Mathematical and Logical Expressions 33
Mathematical and Logical Expressions 34
Coding Convention
 Coding convention is a set of rules that enhance the readability and the
understandability of
the code. At the end of each chapter a list of standard and related coding
convention is
mentioned.
35
Coding Convention 36
Generally following roles must be obeyed to
write an arranged code.
37
Follow Chapter 2:
Controlling Program
Flow
C PROGRAMMING FOR ENGINEERS, DR. MOHAMED SOBH
38
References 39
 The Case for Learning C as Your First Programming Language
 A Tutorial on Data Representation
 std::printf, std::fprintf, std::sprintf, std::snprintf…..
 C Programming for Engineers, Dr. Mohamed Sobh
Ad

More Related Content

What's hot (16)

Notes part 8
Notes part 8Notes part 8
Notes part 8
Keroles karam khalil
 
C programming session5
C programming  session5C programming  session5
C programming session5
Keroles karam khalil
 
Session 5-exersice
Session 5-exersiceSession 5-exersice
Session 5-exersice
Keroles karam khalil
 
Lecture 2 verilog
Lecture 2   verilogLecture 2   verilog
Lecture 2 verilog
venravi10
 
Introduction to C Language - Version 1.0 by Mark John Lado
Introduction to C Language - Version 1.0 by Mark John LadoIntroduction to C Language - Version 1.0 by Mark John Lado
Introduction to C Language - Version 1.0 by Mark John Lado
Mark John Lado, MIT
 
programming fortran 77 Slide01
programming fortran 77 Slide01programming fortran 77 Slide01
programming fortran 77 Slide01
Ahmed Gamal
 
Fortran 95
Fortran 95Fortran 95
Fortran 95
Zaahir Salam
 
First session quiz
First session quizFirst session quiz
First session quiz
Keroles karam khalil
 
Fortran introduction
Fortran introductionFortran introduction
Fortran introduction
santhosh833
 
C programming session9 -
C programming  session9 -C programming  session9 -
C programming session9 -
Keroles karam khalil
 
Fortran - concise review
Fortran - concise reviewFortran - concise review
Fortran - concise review
Hans Zimermann
 
C programming part4
C programming part4C programming part4
C programming part4
Keroles karam khalil
 
Fortran 90 Basics
Fortran 90 BasicsFortran 90 Basics
Fortran 90 Basics
Tariqul Dipu
 
Lecture 06 assembler
Lecture 06 assemblerLecture 06 assembler
Lecture 06 assembler
鍾誠 陳鍾誠
 
Embedded c programming
Embedded c programmingEmbedded c programming
Embedded c programming
PriyaDYP
 
Unit1 C
Unit1 CUnit1 C
Unit1 C
arnold 7490
 

Viewers also liked (20)

Microcontroller part 4
Microcontroller part 4Microcontroller part 4
Microcontroller part 4
Keroles karam khalil
 
Automative basics v3
Automative basics v3Automative basics v3
Automative basics v3
Keroles karam khalil
 
Microcontroller part 2
Microcontroller part 2Microcontroller part 2
Microcontroller part 2
Keroles karam khalil
 
Embedded C programming session10
Embedded C programming  session10Embedded C programming  session10
Embedded C programming session10
Keroles karam khalil
 
Microcontroller part 1
Microcontroller part 1Microcontroller part 1
Microcontroller part 1
Keroles karam khalil
 
Microcontroller part 3
Microcontroller part 3Microcontroller part 3
Microcontroller part 3
Keroles karam khalil
 
K vector embedded_linux_workshop
K vector embedded_linux_workshopK vector embedded_linux_workshop
K vector embedded_linux_workshop
Keroles karam khalil
 
Microcontroller part 5
Microcontroller part 5Microcontroller part 5
Microcontroller part 5
Keroles karam khalil
 
C programming part2
C programming part2C programming part2
C programming part2
Keroles karam khalil
 
C programming part4
C programming part4C programming part4
C programming part4
Keroles karam khalil
 
Microcontroller part 8_v1
Microcontroller part 8_v1Microcontroller part 8_v1
Microcontroller part 8_v1
Keroles karam khalil
 
Microcontroller part 9_v1
Microcontroller part 9_v1Microcontroller part 9_v1
Microcontroller part 9_v1
Keroles karam khalil
 
Microcontroller part 1
Microcontroller part 1Microcontroller part 1
Microcontroller part 1
Keroles karam khalil
 
Microcontroller part 3
Microcontroller part 3Microcontroller part 3
Microcontroller part 3
Keroles karam khalil
 
Microcontroller part 6_v1
Microcontroller part 6_v1Microcontroller part 6_v1
Microcontroller part 6_v1
Keroles karam khalil
 
Microcontroller part 4
Microcontroller part 4Microcontroller part 4
Microcontroller part 4
Keroles karam khalil
 
Microcontroller part 2
Microcontroller part 2Microcontroller part 2
Microcontroller part 2
Keroles karam khalil
 
Microcontroller part 7_v1
Microcontroller part 7_v1Microcontroller part 7_v1
Microcontroller part 7_v1
Keroles karam khalil
 
C programming part2
C programming part2C programming part2
C programming part2
Keroles karam khalil
 
C programming first_session
C programming first_sessionC programming first_session
C programming first_session
Keroles karam khalil
 
Ad

Similar to C programming part2 (20)

Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghjTeam-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
bayazidalom983
 
Unit1 C
Unit1 CUnit1 C
Unit1 C
arnold 7490
 
CS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSE
CS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSECS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSE
CS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSE
PREMKUMARS76
 
Data Type in C Programming
Data Type in C ProgrammingData Type in C Programming
Data Type in C Programming
Qazi Shahzad Ali
 
introductiontocprogramming-130719083552-phpapp01.ppt
introductiontocprogramming-130719083552-phpapp01.pptintroductiontocprogramming-130719083552-phpapp01.ppt
introductiontocprogramming-130719083552-phpapp01.ppt
RutviBaraiya
 
Lcdf4 chap 03_p2
Lcdf4 chap 03_p2Lcdf4 chap 03_p2
Lcdf4 chap 03_p2
ozgur_can
 
Introduction to c programming
Introduction to c programmingIntroduction to c programming
Introduction to c programming
ABHISHEK fulwadhwa
 
C programming language
C programming languageC programming language
C programming language
Abin Rimal
 
Development of a static code analyzer for detecting errors of porting program...
Development of a static code analyzer for detecting errors of porting program...Development of a static code analyzer for detecting errors of porting program...
Development of a static code analyzer for detecting errors of porting program...
PVS-Studio
 
Theory1&2
Theory1&2Theory1&2
Theory1&2
Dr.M.Karthika parthasarathy
 
Chap 2 c++
Chap 2 c++Chap 2 c++
Chap 2 c++
Widad Jamaluddin
 
C notes for exam preparation
C notes for exam preparationC notes for exam preparation
C notes for exam preparation
Lakshmi Sarvani Videla
 
Ch12- instruction sets- char & funct.pdf
Ch12- instruction sets- char & funct.pdfCh12- instruction sets- char & funct.pdf
Ch12- instruction sets- char & funct.pdf
saimawarsi
 
Chapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structuChapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structu
EstelaJeffery653
 
DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...
DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...
DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...
jmicro
 
Module_1_Introduction-to-Problem-Solving.pdf
Module_1_Introduction-to-Problem-Solving.pdfModule_1_Introduction-to-Problem-Solving.pdf
Module_1_Introduction-to-Problem-Solving.pdf
MaheshKini3
 
Introduction to computer architecture .pptx
Introduction to computer architecture .pptxIntroduction to computer architecture .pptx
Introduction to computer architecture .pptx
Fatma Sayed Ibrahim
 
Chapter Eight(2)
Chapter Eight(2)Chapter Eight(2)
Chapter Eight(2)
bolovv
 
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOGDOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
IJCI JOURNAL
 
C tutorials
C tutorialsC tutorials
C tutorials
Amit Kapoor
 
Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghjTeam-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
Team-7 SP.pptxdfghjksdfgduytredfghjkjhgffghj
bayazidalom983
 
CS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSE
CS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSECS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSE
CS3691 ESIOT UNIT 2 EMBEDDED C PROGRAMING 6TH SEM CSE
PREMKUMARS76
 
Data Type in C Programming
Data Type in C ProgrammingData Type in C Programming
Data Type in C Programming
Qazi Shahzad Ali
 
introductiontocprogramming-130719083552-phpapp01.ppt
introductiontocprogramming-130719083552-phpapp01.pptintroductiontocprogramming-130719083552-phpapp01.ppt
introductiontocprogramming-130719083552-phpapp01.ppt
RutviBaraiya
 
Lcdf4 chap 03_p2
Lcdf4 chap 03_p2Lcdf4 chap 03_p2
Lcdf4 chap 03_p2
ozgur_can
 
C programming language
C programming languageC programming language
C programming language
Abin Rimal
 
Development of a static code analyzer for detecting errors of porting program...
Development of a static code analyzer for detecting errors of porting program...Development of a static code analyzer for detecting errors of porting program...
Development of a static code analyzer for detecting errors of porting program...
PVS-Studio
 
Ch12- instruction sets- char & funct.pdf
Ch12- instruction sets- char & funct.pdfCh12- instruction sets- char & funct.pdf
Ch12- instruction sets- char & funct.pdf
saimawarsi
 
Chapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structuChapter 1SyllabusCatalog Description Computer structu
Chapter 1SyllabusCatalog Description Computer structu
EstelaJeffery653
 
DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...
DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...
DESIGN OF DOUBLE PRECISION FLOATING POINT MULTIPLICATION ALGORITHM WITH VECTO...
jmicro
 
Module_1_Introduction-to-Problem-Solving.pdf
Module_1_Introduction-to-Problem-Solving.pdfModule_1_Introduction-to-Problem-Solving.pdf
Module_1_Introduction-to-Problem-Solving.pdf
MaheshKini3
 
Introduction to computer architecture .pptx
Introduction to computer architecture .pptxIntroduction to computer architecture .pptx
Introduction to computer architecture .pptx
Fatma Sayed Ibrahim
 
Chapter Eight(2)
Chapter Eight(2)Chapter Eight(2)
Chapter Eight(2)
bolovv
 
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOGDOUBLE PRECISION FLOATING POINT CORE IN VERILOG
DOUBLE PRECISION FLOATING POINT CORE IN VERILOG
IJCI JOURNAL
 
Ad

More from Keroles karam khalil (20)

C basics quiz part 1_solution
C basics quiz part 1_solutionC basics quiz part 1_solution
C basics quiz part 1_solution
Keroles karam khalil
 
Autosar Basics hand book_v1
Autosar Basics  hand book_v1Autosar Basics  hand book_v1
Autosar Basics hand book_v1
Keroles karam khalil
 
Automotive embedded systems part6 v2
Automotive embedded systems part6 v2Automotive embedded systems part6 v2
Automotive embedded systems part6 v2
Keroles karam khalil
 
Automotive embedded systems part5 v2
Automotive embedded systems part5 v2Automotive embedded systems part5 v2
Automotive embedded systems part5 v2
Keroles karam khalil
 
EMBEDDED C
EMBEDDED CEMBEDDED C
EMBEDDED C
Keroles karam khalil
 
Automotive embedded systems part7 v1
Automotive embedded systems part7 v1Automotive embedded systems part7 v1
Automotive embedded systems part7 v1
Keroles karam khalil
 
Automotive embedded systems part6 v1
Automotive embedded systems part6 v1Automotive embedded systems part6 v1
Automotive embedded systems part6 v1
Keroles karam khalil
 
Automotive embedded systems part5 v1
Automotive embedded systems part5 v1Automotive embedded systems part5 v1
Automotive embedded systems part5 v1
Keroles karam khalil
 
Automotive embedded systems part4 v1
Automotive embedded systems part4 v1Automotive embedded systems part4 v1
Automotive embedded systems part4 v1
Keroles karam khalil
 
Automotive embedded systems part3 v1
Automotive embedded systems part3 v1Automotive embedded systems part3 v1
Automotive embedded systems part3 v1
Keroles karam khalil
 
Automotive embedded systems part2 v1
Automotive embedded systems part2 v1Automotive embedded systems part2 v1
Automotive embedded systems part2 v1
Keroles karam khalil
 
Automotive embedded systems part1 v1
Automotive embedded systems part1 v1Automotive embedded systems part1 v1
Automotive embedded systems part1 v1
Keroles karam khalil
 
Automotive embedded systems part8 v1
Automotive embedded systems part8 v1Automotive embedded systems part8 v1
Automotive embedded systems part8 v1
Keroles karam khalil
 
Quiz 10
Quiz 10Quiz 10
Quiz 10
Keroles karam khalil
 
Homework 6
Homework 6Homework 6
Homework 6
Keroles karam khalil
 
Homework 5 solution
Homework 5 solutionHomework 5 solution
Homework 5 solution
Keroles karam khalil
 
Notes part7
Notes part7Notes part7
Notes part7
Keroles karam khalil
 
Homework 5
Homework 5Homework 5
Homework 5
Keroles karam khalil
 
C programming session7
C programming  session7C programming  session7
C programming session7
Keroles karam khalil
 
Notes part6
Notes part6Notes part6
Notes part6
Keroles karam khalil
 

Recently uploaded (20)

Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Main cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxb
Main cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxbMain cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxb
Main cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxb
SunilSingh610661
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
Resistance measurement and cfd test on darpa subboff model
Resistance measurement and cfd test on darpa subboff modelResistance measurement and cfd test on darpa subboff model
Resistance measurement and cfd test on darpa subboff model
INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR
 
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
charlesdick1345
 
New Microsoft PowerPoint Presentation.pdf
New Microsoft PowerPoint Presentation.pdfNew Microsoft PowerPoint Presentation.pdf
New Microsoft PowerPoint Presentation.pdf
mohamedezzat18803
 
Data Structures_Linear data structures Linked Lists.pptx
Data Structures_Linear data structures Linked Lists.pptxData Structures_Linear data structures Linked Lists.pptx
Data Structures_Linear data structures Linked Lists.pptx
RushaliDeshmukh2
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
How to use nRF24L01 module with Arduino
How to use nRF24L01 module with ArduinoHow to use nRF24L01 module with Arduino
How to use nRF24L01 module with Arduino
CircuitDigest
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Oil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdfOil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdf
M7md3li2
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
Artificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptxArtificial Intelligence (AI) basics.pptx
Artificial Intelligence (AI) basics.pptx
aditichinar
 
Main cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxb
Main cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxbMain cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxb
Main cotrol jdbjbdcnxbjbjzjjjcjicbjxbcjcxbjcxb
SunilSingh610661
 
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdffive-year-soluhhhhhhhhhhhhhhhhhtions.pdf
five-year-soluhhhhhhhhhhhhhhhhhtions.pdf
AdityaSharma944496
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Smart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineeringSmart Storage Solutions.pptx for production engineering
Smart Storage Solutions.pptx for production engineering
rushikeshnavghare94
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
DATA-DRIVEN SHOULDER INVERSE KINEMATICS YoungBeom Kim1 , Byung-Ha Park1 , Kwa...
charlesdick1345
 
New Microsoft PowerPoint Presentation.pdf
New Microsoft PowerPoint Presentation.pdfNew Microsoft PowerPoint Presentation.pdf
New Microsoft PowerPoint Presentation.pdf
mohamedezzat18803
 
Data Structures_Linear data structures Linked Lists.pptx
Data Structures_Linear data structures Linked Lists.pptxData Structures_Linear data structures Linked Lists.pptx
Data Structures_Linear data structures Linked Lists.pptx
RushaliDeshmukh2
 
Degree_of_Automation.pdf for Instrumentation and industrial specialist
Degree_of_Automation.pdf for  Instrumentation  and industrial specialistDegree_of_Automation.pdf for  Instrumentation  and industrial specialist
Degree_of_Automation.pdf for Instrumentation and industrial specialist
shreyabhosale19
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
Introduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptxIntroduction to Zoomlion Earthmoving.pptx
Introduction to Zoomlion Earthmoving.pptx
AS1920
 
How to use nRF24L01 module with Arduino
How to use nRF24L01 module with ArduinoHow to use nRF24L01 module with Arduino
How to use nRF24L01 module with Arduino
CircuitDigest
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
Data Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptxData Structures_Searching and Sorting.pptx
Data Structures_Searching and Sorting.pptx
RushaliDeshmukh2
 
Oil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdfOil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdf
M7md3li2
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 

C programming part2

  • 2. 2
  • 3. Features of C - Simple, versatile, general purpose language - Programs are fast and efficient - Has got rich set of operators - more general and has no restrictions - can easily manipulates with bits, bytes and addresses - Varieties of data types are available - separate compilation of functions is possible and such functions can be called by any C program - block-structured language - Can be applied in System programming areas like operating systems, compilers & Interpreters, Assemblers etc., 3
  • 5. Comments  Sometimes programmers need to add some notes beside their code. Those notes are very important to describe the code and to clarify complex operation. Notes or comments can be added in two ways as shown in the following example. 5
  • 6. Data Types 6 Primitive/Basic TypesDerived User Defined enum typedef Arrays structure union pointer Integer ValuesReal Values signedunsigned
  • 7. Integer Values 7 long long 8 –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 unsigned long long 8 0 to 18,446,744,073,709,551,615 Unsigned Integer 0 >>> (2 -1) size_in_bits Signed Integer -(2) (size_in_bits-1) >>> +(2 -1) (size_in_bits-1)
  • 8. For example “char” 8 For example if the Unsigned charvalue uses one byte (8 bits) to hold the numeric value: Another example if the Signed char value uses one byte (8 bits) to hold the numeric value. If Tow‟s Complement method is used to represent the negative values:
  • 9. For example “char” 9 For example if the Unsigned short value uses one byte (16 bits) to hold the numeric value: Another example if the Signed Integer value uses four byte (32 bits) to hold the numeric value. If Tow‟s Complement method is used to represent the negative values:
  • 10. Note int, this data type called the machine dependent data type, which means its size and range vary from a machine type to another machine type (EX: in 8 bit computers int is 1 byte, in 16 bit computers int is 2 bytes, in 32 bit computers int is 4 bytes, in 64 bit computers int is 8 bytes). Know that (32 Bits computers) means the principle data unit size in those computers are 32 bit, which mean the computer is designed and optimized to process 32 bit values 10
  • 11. Floating-Point Types Type Storage size Value range Precision float 4 byte 1.2E-38 to 3.4E+38 6 decimal places double 8 byte 2.3E-308 to 1.7E+308 15 decimal places long double 10 byte 3.4E-4932 to 1.1E+4932 19 decimal places 11
  • 12. IEEE-754 32-bit Single-Precision Floating-Point Numbers  In 32-bit single-precision floating-point representation:  The most significant bit is the sign bit (S), with 0 for positive numbers and 1 for negative numbers.  The following 8 bits represent exponent (E).  The remaining 23 bits represents fraction (F). 12
  • 13. Example 1: Suppose that IEEE-754 32-bit floating-point representation pattern is 0 10000000 110 0000 0000 0000 0000 0000.  Sign bit S = 0 ⇒ positive number  E = 1000 0000B = 128D (in normalized form)  Fraction is 1.11B (with an implicit leading 1) = 1 + 1×2^-1 + 1×2^-2 = 1.75D  The number is +1.75 × 2^(128-127) = +3.5D 13
  • 14. Example 2: Suppose that IEEE-754 32-bit floating-point representation pattern is 1 01111110 100 0000 0000 0000 0000 0000.  Sign bit S = 1 ⇒ negative number  E = 0111 1110B = 126D (in normalized form)  Fraction is 1.1B (with an implicit leading 1) = 1 + 2^-1 = 1.5D  The number is -1.5 × 2^(126-127) = -0.75D 14
  • 16. C Programming Input Output (I/O): printf() and scanf()  C programming has several in-built library functions to perform input and output tasks.  Two commonly used functions for I/O (Input/Output) are printf() and scanf().  The scanf() function reads formatted input from standard input (keyboard) whereas the printf() function sends formatted output to the standard output (screen). 16
  • 18. Eclipse's terminal emulator issue with scanf()  Eclipse's terminal emulator might be different and do more buffering. Try calling fflush(stdout); between the printout and the call to scanf(). 18
  • 20. int printf( const char* format, ... );% c s d i o x X u f F e E g G * %10s %-10s .4s 20 % writes a single character. writes a single character. converts a signed integer into decimal converts a unsigned integer into octal representation converts an unsigned integer into hexadecimal representation converts an unsigned integer into decimal representation converts floating-point number to the decimal notation converts floating-point number to the decimal “Scientific” converts floating-point number to "Special values Take from , ….. Shift 10-string’s length places then print the string Print the string then shift to 10-string’s length places Print only 4 char from string
  • 21. int printf( const char* format, ... ); 21
  • 24. 24
  • 25. 25
  • 28. 28
  • 29. Data Conversion and Type Casting 29
  • 30. Data Conversion and Type Casting 30
  • 31. Data Conversion and Type Casting 31  The conversion from larger to smaller data types may lead to some data losses. For that reason the compiler warns you against this type of operation. However sometimes the conversion does not affect the data like the second expression (b = y). Compiler is not able to differentiate between safe or unsafe situation, for that reason you must use the type casting to force the conversion if you decide that it is safe.
  • 32. Mathematical and Logical Expressions 32
  • 33. Mathematical and Logical Expressions 33
  • 34. Mathematical and Logical Expressions 34
  • 35. Coding Convention  Coding convention is a set of rules that enhance the readability and the understandability of the code. At the end of each chapter a list of standard and related coding convention is mentioned. 35
  • 37. Generally following roles must be obeyed to write an arranged code. 37
  • 38. Follow Chapter 2: Controlling Program Flow C PROGRAMMING FOR ENGINEERS, DR. MOHAMED SOBH 38
  • 39. References 39  The Case for Learning C as Your First Programming Language  A Tutorial on Data Representation  std::printf, std::fprintf, std::sprintf, std::snprintf…..  C Programming for Engineers, Dr. Mohamed Sobh