SlideShare a Scribd company logo
1 of 38
Basics of C
1
The C Language
 Currently, the most commonly-used language for
embedded systems
 “High-level assembly”
 Very portable: compilers exist for virtually every processor
 Easy-to-understand compilation
 Produces efficient code
 Fairly concise
2
C History
 Developed between 1969 and 1973 along with Unix
 Due mostly to Dennis Ritchie
 Designed for systems programming
 Operating systems
 Utility programs
 Compilers
3
Hello World in C
#include <stdio.h>
int main()
{
printf(“Hello, world!n”);
}
4
Hello World in C
#include <stdio.h>
int main()
{
printf(“Hello, world!n”);
}
Program mostly a
collection of functions
“main” function special:
the entry point
“int” qualifier indicates
function returns an
integer
I/O performed by a library
function: not included in
the language
5
Pieces of C
 Types and Variables (LO2)
 Definitions of data in memory
 Expressions (LO2)
 Arithmetic, logical, and assignment operators in an infix
notation
 Statements (LO3)
 Sequences of conditional, iteration, and branching
instructions
 Functions (LO4)
 Groups of statements and variables invoked recursively
6
Name Description Size* Range*
char Character or small integer 1 byte signed: -128 to 127
unsigned: 0 to 255
short int
(short)
Short integer 2 bytes signed: -32768 to 32767
unsigned: 0 to 65535
int Integer 4 bytes signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
long int
(long)
Long integer 4 bytes signed: -2147483648 to 2147483647
unsigned: 0 to 4294967295
float Floating point number 4 bytes 3.4e +/- 38 (7 digits)
double Double precision floating
point number
8 bytes 1.7e +/- 308 (15 digits)
long double Long double precision
floating point number
8 bytes 1.7e +/- 308 (15 digits)
Data types
7
 Local variable
Local variables are declared within the body of a function, and can
only be used within that function.
 Static variable
Another class of local variable is the static type. It is specified by the
keyword static in the variable declaration.
The most striking difference from a non-static local variable is, a
static variable is not destroyed on exit from the function.
 Global variable
A global variable declaration looks normal, but is located outside any
of the program's functions. So it is accessible to all functions.
Variable types
8
Variables
• A variable is a name that represents one or more memory
locations used to hold program data
• A variable may be thought of as a container that can hold
data used in a program
int myVariable;
myVariable = 5;
5
9
An example
int global = 10; //global variable
int func (int x)
{
static int stat_var; //static local variable
int temp; //(normal) local variable
int name[50]; //(normal) local variable
……
}
10
41
Variables
5.74532370373175
× 10-14
0
15 Data Memory (RAM)
int warp_factor;
float length;
char first_letter; ‘A’
• Variables are names for storage locations in memory
11
char first_letter;
int warp_factor;
• Variable declarations consist of a unique identifier (name)…
float length;
41
Variables
5.74532370373175
× 10-14
0
15 Data Memory (RAM)
‘A’
12
char first_letter;
float length;
int warp_factor; 41
Variables
5.74532370373175
× 10-44
0
15 Data Memory (RAM)
‘A’
…and a data type
Determines size and how
values are interpreted
13
Identifiers
• Names given to program variables
• Valid characters in identifiers:
• Case sensitive!
• Only first 31 characters significant
I d e n t i f i e r
First Character
‘_’ (underscore)
‘A’ to ‘Z’
‘a’ to ‘z’
Remaining Characters
‘_’ (underscore)
‘A’ to ‘Z’
‘a’ to ‘z’
‘0’ to ‘9’
14
How to Declare a Variable?
• A variable must be declared before it can be used
• The compiler needs to know how much space to allocate and
how the values should be handled
Syntax
type identifier1, identifier2,…,identifiern;
Examples
int x, y, z;
float warpFactor;
char text_buffer;
unsigned index;
Variables
15
Syntax
How to Declare a Variable?
Variables may be declared in a few ways:
type identifier;
type identifier = InitialValue;
type identifier1, identifier2, identifier3;
type identifier1 = Value1, identifier2 = Value2;
One declaration on a line
One declaration on a line with an initial value
Multiple declarations of the same type on a line
Multiple declarations of the same type on a line with initial values
Variables
16
Examples
How to Declare a Variable
int x;
int y = 12;
int a, b, c;
long int myVar = 0x12345678;
long z;
char first = 'a', second, third = 'c';
float big_number = 6.02e+23;
Variables
17
A Simple C Program
#include <stdio.h>
int main(void)
{
float radius, area, PI;
//Calculate area of circle
radius = 12.0;
PI = 3.1416;
area = PI * radius * radius;
printf("Area = %f", area);
}
Header File
Function
Variable Declarations
Comment
Preprocessor
Directives
18
Variables and Data Types
Variable
Declarations
Data
Types
Variables
in use
#include <stdio.h>
int main(void)
{
float radius, area, PI;
//Calculate area of circle
PI = 3.1416;
radius = 12.0;
area = PI * radius * radius;
printf("Area = %f", area);
}
A Simple C Program
19
printf()
The printf() function can be instructed to print
integers, floats and string properly.
 The general syntax is
printf( “format”, variables);
 An example
int stud_id = 5200;
char name[20] = “Mike”; // array discussed in LO4
printf(“%s ‘s ID is %d n”, name, stud_id);
20
 Format Identifiers
%d decimal integers
%x hex integer
%c character
%f float number
%lf double number
%s string
%p pointer
%e decimal exponent
 How to specify display space for a variable?
printf(“The student id is %5d n”, stud_id);
The value of stud_id will occupy 5 characters space in the print-out.
printf()
21
 Why “n”
It introduces a new line on the terminal screen.
a alert (bell) character  backslash
b backspace ? question mark
f formfeed ’ single quote
n newline ” double quote
r carriage return 000 octal number
t horizontal tab xhh hexadecimal number
v vertical tab
escape sequence
22
printf()
23
scanf()
Description:
The C library function
int scanf(const char *format, ...) reads formatted input from
keyboard. The function returns how many values where read. If scanf
returns a 0 it means nothing was read.
Declaration:
Following is the declaration for scanf() function.
int scanf(const char *format, ...)
Example:
int a, result;
result = scanf("%d", &a);
24
Example: The following example shows the usage of scanf() function to read strings.
Note: in scanf, we do not use & with array names
#include <stdio.h>
int main()
{
char str1[20], str2[30];
printf("Enter name: ");
scanf("%s", str1);
printf("Enter your website name: ");
scanf("%s", str2);
printf("Entered Name: %sn", str1);
printf("Entered Website:%s", str2);
}
scanf()
Enter name: admin
Enter your website name: www.tutorialspoint.com
Entered Name: admin
Entered Website: www.tutorialspoint.com
25
What happens in this program? An integer called pin is defined. A prompt to enter in a number is then printed with
the first printf statement. The scanf routine, which accepts the response, has a control string and an address list.
In the control string, the format specifier %d shows what data type is expected.
The &pin argument specifies the memory location of the variable the input will be placed in. After the scanf routine
completes, the variable pin will be initialized with the input integer. This is confirmed with the second printf
statement. The & character has a very special meaning in C. It is the address operator.
Is a function in C which allows the
programmer to accept input from a
keyboard. The following program
illustrates the use of this function.
scanf()
#include <stdio.h>
main() {
int pin;
printf("Please type in your
PINn");
scanf("%d",&pin);
printf("Your access code is
%dn",pin);
}
26
Negative
-(unary)
Subtraction
-
Positive
+(unary)
Modulo
%
Addition
+
NOTE - An int divided by an int returns an int:
10/3 = 3
Use modulo to get the remainder:
10%3 = 1
Multiplication
*
Division
/
Operator Result
Operation Example
-x
x - y
+x
x % y
x + y
x * y
x / y
Negative value of x
Difference of x and y
Value of x
Remainder of x divided by y
Sum of x and y
Product of x and y
Quotient of x and y
Arithmetic Operations
27
Arithmetic Assignment Operators
28
Operator Result (FALSE = 0, TRUE ≠ 0)
Operation Example
Equal to
==
Not equal to
!=
Greater than
>
Greater than
or equal to
>=
Less than
<
Less than or
equal to
<=
x == y
x != y
x > y
x >= y
x < y
x <= y
True if x equal to y, else false
True if x not equal to y, else
false
True if x greater than y, else
false
True if x greater than or equal
to y, else false
True if x less than y, else false
True if x less than or equal to y,
else false
Relational Operations
29
Increment and Decrement Operators
awkward easy easiest
x = x+1; x += 1 x++
x = x-1; x -= 1 x--
30
Example
 Arithmetic operators
int i = 10;
int j = 15;
int add = i + j; //25
int diff = j – i; //5
int product = i * j; // 150
int quotient = j / i; // 1
int residual = j % i; // 5
i++; //Increase by 1
i--; //Decrease by 1
31
 Comparing them
int i = 10;
int j = 15;
float k = 15.0;
j / i = ?
j % i = ?
k / i = ?
k % i = ?
 The Answer
j / i = 1;
j % i = 5;
k / i = 1.5;
k % i It is illegal.
Note: For %, the operands
can only be integers.
Example
32
Logical Operations
 What is “true” and “false” in C
In C, there is no specific data type to represent “true” and
“false”. C uses value “0” to represent “false”, and uses non-
zero value to stand for “true”.
 Logical Operators
A && B => A and B
A || B => A or B
A == B => Is A equal to B?
A != B => Is A not equal to B?
33
A > B => Is A greater than B?
A >= B => Is A greater than or equal to B?
A < B => Is A less than B?
A <= B => Is A less than or equal to B?
 Don’t be confused
&& and || have different meanings from & and |.
& and | are bitwise operators.
Logical Operations
34
No operator for exponent in C
• In C, there is no operator which means “raise to the power”. The
symbol “^” means “Bitwise Exclusive Or” or “XOR” which gives a 1
if the two bits are different and zero otherwise.
• Assume char A = 60 and char B = 13 in binary format, they will be
as follows
• A = 0011 1100
• B = 0000 1101
• A&B = 0000 1100 Bitwise AND
• A|B = 0011 1101 Bitwise OR
• A^B = 0011 0001 Bitwise XOR
• If you need to find a power, you should use multiplication *
• For example, x*x*x is the same as 𝑥3
35
Precedence and Associativity of C Operators
Symbol Type of Operation Associativity
[ ] ( ) . –> postfix ++ and postfix –– Expression Left to right
prefix ++ and prefix –– sizeof
& * + – ~ !
Unary Right to left
typecasts Unary Right to left
* / % Multiplicative Left to right
+ – Additive Left to right
<< >> Bitwise shift Left to right
< > <= >= Relational Left to right
== != Equality Left to right
& Bitwise-AND Left to right
^ Bitwise-exclusive-OR Left to right
| Bitwise-inclusive-OR Left to right
&& Logical-AND Left to right
|| Logical-OR Left to right
? : Conditional-expression Right to left
= *= /= %=
+= –= <<= >>= &=
^= |=
Simple and compound
assignment
Right to left
, Sequential evaluation Left to right
OPERATOR PRECEDENCE
36
Some practices
Compute the value of the following logical expressions?
int i = 10; int j = 15; int k = 15; int m = 0;
if( i < j && j < k) =>
if( i != j || k < j) =>
if( j<= k || i > k) =>
if( j == k && m) =>
if(i) =>
if(m || j && i ) =>
37
int i = 10; int j = 15; int k = 15; int m = 0;
if( i < j && j < k) => false
if( i != j || k < j) => true
if( j<= k || i > k) => true
if( j == k && m) => false
if(i) => true
if(m || j && i ) => true
Answers
38

More Related Content

Similar to presentation_c_basics_1589366177_381682.pptx

Similar to presentation_c_basics_1589366177_381682.pptx (20)

Unit 4 Foc
Unit 4 FocUnit 4 Foc
Unit 4 Foc
 
C tutorial
C tutorialC tutorial
C tutorial
 
Unit i intro-operators
Unit   i intro-operatorsUnit   i intro-operators
Unit i intro-operators
 
Introduction%20C.pptx
Introduction%20C.pptxIntroduction%20C.pptx
Introduction%20C.pptx
 
Basic of C Programming | 2022 Updated | By Shamsul H. Ansari
Basic of C Programming | 2022 Updated | By Shamsul H. AnsariBasic of C Programming | 2022 Updated | By Shamsul H. Ansari
Basic of C Programming | 2022 Updated | By Shamsul H. Ansari
 
C intro
C introC intro
C intro
 
Unit1 C
Unit1 CUnit1 C
Unit1 C
 
Unit1 C
Unit1 CUnit1 C
Unit1 C
 
02a fundamental c++ types, arithmetic
02a   fundamental c++ types, arithmetic 02a   fundamental c++ types, arithmetic
02a fundamental c++ types, arithmetic
 
Reduce course notes class xii
Reduce course notes class xiiReduce course notes class xii
Reduce course notes class xii
 
Unit 2- Module 2.pptx
Unit 2- Module 2.pptxUnit 2- Module 2.pptx
Unit 2- Module 2.pptx
 
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
Oh Crap, I Forgot (Or Never Learned) C! [CodeMash 2010]
 
C++ lecture 01
C++   lecture 01C++   lecture 01
C++ lecture 01
 
Ch2 introduction to c
Ch2 introduction to cCh2 introduction to c
Ch2 introduction to c
 
C programming session3
C programming  session3C programming  session3
C programming session3
 
C programming session3
C programming  session3C programming  session3
C programming session3
 
Unit 1
Unit 1Unit 1
Unit 1
 
Programming in C - interview questions.pdf
Programming in C - interview questions.pdfProgramming in C - interview questions.pdf
Programming in C - interview questions.pdf
 
Funções, Scanf, EOF
Funções, Scanf, EOFFunções, Scanf, EOF
Funções, Scanf, EOF
 
C Programming Language
C Programming LanguageC Programming Language
C Programming Language
 

More from KrishanPalSingh39

More from KrishanPalSingh39 (7)

Relational Algebra.ppt
Relational Algebra.pptRelational Algebra.ppt
Relational Algebra.ppt
 
L21-MaxFlowPr.ppt
L21-MaxFlowPr.pptL21-MaxFlowPr.ppt
L21-MaxFlowPr.ppt
 
MaximumFlow.ppt
MaximumFlow.pptMaximumFlow.ppt
MaximumFlow.ppt
 
flows.ppt
flows.pptflows.ppt
flows.ppt
 
HardwareIODevice.ppt
HardwareIODevice.pptHardwareIODevice.ppt
HardwareIODevice.ppt
 
fdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.pptfdocuments.in_unit-2-foc.ppt
fdocuments.in_unit-2-foc.ppt
 
wang.ppt
wang.pptwang.ppt
wang.ppt
 

Recently uploaded

(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...ranjana rawat
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Call Girls in Nagpur High Profile
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSISrknatarajan
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )Tsuyoshi Horigome
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 

Recently uploaded (20)

(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
(TARA) Talegaon Dabhade Call Girls Just Call 7001035870 [ Cash on Delivery ] ...
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
UNIT-III FMM. DIMENSIONAL ANALYSIS
UNIT-III FMM.        DIMENSIONAL ANALYSISUNIT-III FMM.        DIMENSIONAL ANALYSIS
UNIT-III FMM. DIMENSIONAL ANALYSIS
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )SPICE PARK APR2024 ( 6,793 SPICE Models )
SPICE PARK APR2024 ( 6,793 SPICE Models )
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 

presentation_c_basics_1589366177_381682.pptx

  • 2. The C Language  Currently, the most commonly-used language for embedded systems  “High-level assembly”  Very portable: compilers exist for virtually every processor  Easy-to-understand compilation  Produces efficient code  Fairly concise 2
  • 3. C History  Developed between 1969 and 1973 along with Unix  Due mostly to Dennis Ritchie  Designed for systems programming  Operating systems  Utility programs  Compilers 3
  • 4. Hello World in C #include <stdio.h> int main() { printf(“Hello, world!n”); } 4
  • 5. Hello World in C #include <stdio.h> int main() { printf(“Hello, world!n”); } Program mostly a collection of functions “main” function special: the entry point “int” qualifier indicates function returns an integer I/O performed by a library function: not included in the language 5
  • 6. Pieces of C  Types and Variables (LO2)  Definitions of data in memory  Expressions (LO2)  Arithmetic, logical, and assignment operators in an infix notation  Statements (LO3)  Sequences of conditional, iteration, and branching instructions  Functions (LO4)  Groups of statements and variables invoked recursively 6
  • 7. Name Description Size* Range* char Character or small integer 1 byte signed: -128 to 127 unsigned: 0 to 255 short int (short) Short integer 2 bytes signed: -32768 to 32767 unsigned: 0 to 65535 int Integer 4 bytes signed: -2147483648 to 2147483647 unsigned: 0 to 4294967295 long int (long) Long integer 4 bytes signed: -2147483648 to 2147483647 unsigned: 0 to 4294967295 float Floating point number 4 bytes 3.4e +/- 38 (7 digits) double Double precision floating point number 8 bytes 1.7e +/- 308 (15 digits) long double Long double precision floating point number 8 bytes 1.7e +/- 308 (15 digits) Data types 7
  • 8.  Local variable Local variables are declared within the body of a function, and can only be used within that function.  Static variable Another class of local variable is the static type. It is specified by the keyword static in the variable declaration. The most striking difference from a non-static local variable is, a static variable is not destroyed on exit from the function.  Global variable A global variable declaration looks normal, but is located outside any of the program's functions. So it is accessible to all functions. Variable types 8
  • 9. Variables • A variable is a name that represents one or more memory locations used to hold program data • A variable may be thought of as a container that can hold data used in a program int myVariable; myVariable = 5; 5 9
  • 10. An example int global = 10; //global variable int func (int x) { static int stat_var; //static local variable int temp; //(normal) local variable int name[50]; //(normal) local variable …… } 10
  • 11. 41 Variables 5.74532370373175 × 10-14 0 15 Data Memory (RAM) int warp_factor; float length; char first_letter; ‘A’ • Variables are names for storage locations in memory 11
  • 12. char first_letter; int warp_factor; • Variable declarations consist of a unique identifier (name)… float length; 41 Variables 5.74532370373175 × 10-14 0 15 Data Memory (RAM) ‘A’ 12
  • 13. char first_letter; float length; int warp_factor; 41 Variables 5.74532370373175 × 10-44 0 15 Data Memory (RAM) ‘A’ …and a data type Determines size and how values are interpreted 13
  • 14. Identifiers • Names given to program variables • Valid characters in identifiers: • Case sensitive! • Only first 31 characters significant I d e n t i f i e r First Character ‘_’ (underscore) ‘A’ to ‘Z’ ‘a’ to ‘z’ Remaining Characters ‘_’ (underscore) ‘A’ to ‘Z’ ‘a’ to ‘z’ ‘0’ to ‘9’ 14
  • 15. How to Declare a Variable? • A variable must be declared before it can be used • The compiler needs to know how much space to allocate and how the values should be handled Syntax type identifier1, identifier2,…,identifiern; Examples int x, y, z; float warpFactor; char text_buffer; unsigned index; Variables 15
  • 16. Syntax How to Declare a Variable? Variables may be declared in a few ways: type identifier; type identifier = InitialValue; type identifier1, identifier2, identifier3; type identifier1 = Value1, identifier2 = Value2; One declaration on a line One declaration on a line with an initial value Multiple declarations of the same type on a line Multiple declarations of the same type on a line with initial values Variables 16
  • 17. Examples How to Declare a Variable int x; int y = 12; int a, b, c; long int myVar = 0x12345678; long z; char first = 'a', second, third = 'c'; float big_number = 6.02e+23; Variables 17
  • 18. A Simple C Program #include <stdio.h> int main(void) { float radius, area, PI; //Calculate area of circle radius = 12.0; PI = 3.1416; area = PI * radius * radius; printf("Area = %f", area); } Header File Function Variable Declarations Comment Preprocessor Directives 18
  • 19. Variables and Data Types Variable Declarations Data Types Variables in use #include <stdio.h> int main(void) { float radius, area, PI; //Calculate area of circle PI = 3.1416; radius = 12.0; area = PI * radius * radius; printf("Area = %f", area); } A Simple C Program 19
  • 20. printf() The printf() function can be instructed to print integers, floats and string properly.  The general syntax is printf( “format”, variables);  An example int stud_id = 5200; char name[20] = “Mike”; // array discussed in LO4 printf(“%s ‘s ID is %d n”, name, stud_id); 20
  • 21.  Format Identifiers %d decimal integers %x hex integer %c character %f float number %lf double number %s string %p pointer %e decimal exponent  How to specify display space for a variable? printf(“The student id is %5d n”, stud_id); The value of stud_id will occupy 5 characters space in the print-out. printf() 21
  • 22.  Why “n” It introduces a new line on the terminal screen. a alert (bell) character backslash b backspace ? question mark f formfeed ’ single quote n newline ” double quote r carriage return 000 octal number t horizontal tab xhh hexadecimal number v vertical tab escape sequence 22
  • 24. scanf() Description: The C library function int scanf(const char *format, ...) reads formatted input from keyboard. The function returns how many values where read. If scanf returns a 0 it means nothing was read. Declaration: Following is the declaration for scanf() function. int scanf(const char *format, ...) Example: int a, result; result = scanf("%d", &a); 24
  • 25. Example: The following example shows the usage of scanf() function to read strings. Note: in scanf, we do not use & with array names #include <stdio.h> int main() { char str1[20], str2[30]; printf("Enter name: "); scanf("%s", str1); printf("Enter your website name: "); scanf("%s", str2); printf("Entered Name: %sn", str1); printf("Entered Website:%s", str2); } scanf() Enter name: admin Enter your website name: www.tutorialspoint.com Entered Name: admin Entered Website: www.tutorialspoint.com 25
  • 26. What happens in this program? An integer called pin is defined. A prompt to enter in a number is then printed with the first printf statement. The scanf routine, which accepts the response, has a control string and an address list. In the control string, the format specifier %d shows what data type is expected. The &pin argument specifies the memory location of the variable the input will be placed in. After the scanf routine completes, the variable pin will be initialized with the input integer. This is confirmed with the second printf statement. The & character has a very special meaning in C. It is the address operator. Is a function in C which allows the programmer to accept input from a keyboard. The following program illustrates the use of this function. scanf() #include <stdio.h> main() { int pin; printf("Please type in your PINn"); scanf("%d",&pin); printf("Your access code is %dn",pin); } 26
  • 27. Negative -(unary) Subtraction - Positive +(unary) Modulo % Addition + NOTE - An int divided by an int returns an int: 10/3 = 3 Use modulo to get the remainder: 10%3 = 1 Multiplication * Division / Operator Result Operation Example -x x - y +x x % y x + y x * y x / y Negative value of x Difference of x and y Value of x Remainder of x divided by y Sum of x and y Product of x and y Quotient of x and y Arithmetic Operations 27
  • 29. Operator Result (FALSE = 0, TRUE ≠ 0) Operation Example Equal to == Not equal to != Greater than > Greater than or equal to >= Less than < Less than or equal to <= x == y x != y x > y x >= y x < y x <= y True if x equal to y, else false True if x not equal to y, else false True if x greater than y, else false True if x greater than or equal to y, else false True if x less than y, else false True if x less than or equal to y, else false Relational Operations 29
  • 30. Increment and Decrement Operators awkward easy easiest x = x+1; x += 1 x++ x = x-1; x -= 1 x-- 30
  • 31. Example  Arithmetic operators int i = 10; int j = 15; int add = i + j; //25 int diff = j – i; //5 int product = i * j; // 150 int quotient = j / i; // 1 int residual = j % i; // 5 i++; //Increase by 1 i--; //Decrease by 1 31
  • 32.  Comparing them int i = 10; int j = 15; float k = 15.0; j / i = ? j % i = ? k / i = ? k % i = ?  The Answer j / i = 1; j % i = 5; k / i = 1.5; k % i It is illegal. Note: For %, the operands can only be integers. Example 32
  • 33. Logical Operations  What is “true” and “false” in C In C, there is no specific data type to represent “true” and “false”. C uses value “0” to represent “false”, and uses non- zero value to stand for “true”.  Logical Operators A && B => A and B A || B => A or B A == B => Is A equal to B? A != B => Is A not equal to B? 33
  • 34. A > B => Is A greater than B? A >= B => Is A greater than or equal to B? A < B => Is A less than B? A <= B => Is A less than or equal to B?  Don’t be confused && and || have different meanings from & and |. & and | are bitwise operators. Logical Operations 34
  • 35. No operator for exponent in C • In C, there is no operator which means “raise to the power”. The symbol “^” means “Bitwise Exclusive Or” or “XOR” which gives a 1 if the two bits are different and zero otherwise. • Assume char A = 60 and char B = 13 in binary format, they will be as follows • A = 0011 1100 • B = 0000 1101 • A&B = 0000 1100 Bitwise AND • A|B = 0011 1101 Bitwise OR • A^B = 0011 0001 Bitwise XOR • If you need to find a power, you should use multiplication * • For example, x*x*x is the same as 𝑥3 35
  • 36. Precedence and Associativity of C Operators Symbol Type of Operation Associativity [ ] ( ) . –> postfix ++ and postfix –– Expression Left to right prefix ++ and prefix –– sizeof & * + – ~ ! Unary Right to left typecasts Unary Right to left * / % Multiplicative Left to right + – Additive Left to right << >> Bitwise shift Left to right < > <= >= Relational Left to right == != Equality Left to right & Bitwise-AND Left to right ^ Bitwise-exclusive-OR Left to right | Bitwise-inclusive-OR Left to right && Logical-AND Left to right || Logical-OR Left to right ? : Conditional-expression Right to left = *= /= %= += –= <<= >>= &= ^= |= Simple and compound assignment Right to left , Sequential evaluation Left to right OPERATOR PRECEDENCE 36
  • 37. Some practices Compute the value of the following logical expressions? int i = 10; int j = 15; int k = 15; int m = 0; if( i < j && j < k) => if( i != j || k < j) => if( j<= k || i > k) => if( j == k && m) => if(i) => if(m || j && i ) => 37
  • 38. int i = 10; int j = 15; int k = 15; int m = 0; if( i < j && j < k) => false if( i != j || k < j) => true if( j<= k || i > k) => true if( j == k && m) => false if(i) => true if(m || j && i ) => true Answers 38

Editor's Notes

  1. 9
  2. 11
  3. 12
  4. 13
  5. 14
  6. 15
  7. 16
  8. 17
  9. 18
  10. 19
  11. 27
  12. 29