SlideShare a Scribd company logo
1 of 50
Slide 1 of 50Ver. 1.0
Programming in C
In this session, you will learn to:
Work with operators
Use loops
Use formatted input-output functions
Objectives
Slide 2 of 50Ver. 1.0
Programming in C
Working with Operators
An operator:
Is a symbol used to command the computer to do
mathematical or logical manipulations.
Operates on data and variables.
C has a rich set of operators, which can be classified into
following various categories:
Relational operators
Logical operators
Unary operators
Binary operators
Ternary operator
Compound assignment operators
Increment/Decrement operators
Slide 3 of 50Ver. 1.0
Programming in C
Logical Operators
Notations for logical operators in C are:
Operator Notation
OR | |
AND &&
NOT !
Operator precedence:
NOT (!) is evaluated before AND (&&), which is evaluated
before OR (||). Brackets () are used to change this order.
Slide 4 of 50Ver. 1.0
Programming in C
Practice: 2.1
Write a function that accepts either y or n only as input. For
any other character input, an appropriate error message
should be displayed and the input is accepted again.
Slide 5 of 50Ver. 1.0
Programming in C
Practice: 2.1 (Contd.)
Solution:
#include<stdio.h>
main()
{ char yn;
do {
puts(“Enter y/n (Yes/No)”);
yn=getchar ();
fflush (stdin);
if(yn!=’y’ && yn!=’n’)
puts(“Invalid input”);
}
while(yn!=’y’ && yn!=’n’);
}
Slide 6 of 50Ver. 1.0
Programming in C
Unary Operators
Unary Operators:
Operates on a single operand.
Prefixed to an integer constant.
Tells the compiler to reverse the sign by subtracting the value
(or variable) from zero.
Has the same effect as the – sign, which is used to indicate a
number less than zero, for example -12.
Slide 7 of 50Ver. 1.0
Programming in C
Practice: 2.2
Which of the following are valid?
1. valuea=-12; /* valuea is int* /
2. valuea = - valueb – 12 /* valuea and valueb
both are int */
Slide 8 of 50Ver. 1.0
Programming in C
Practice: 2.2 (Contd.)
Solution:
1. Valid
2. Valid
Slide 9 of 50Ver. 1.0
Programming in C
Binary Operators
Binary Operators:
Operate on two operands.
Are as follows:
+ (add)
- (subtract)
* (multiply)
/ (divide)
% (modulo)
Slide 10 of 50Ver. 1.0
Programming in C
Practice: 2.3
In the following set of statements:
char ch;
ch=’S’;
ch=ch+’a’-‘A’; /*statement A*/
ch=ch+’A’-‘a’; /*statement B*/
What will be the value of ch after:
1. Statement A is executed?
2. Statement B is executed?
Slide 11 of 50Ver. 1.0
Programming in C
Practice: 2.3 (Contd.)
Solution:
1. ch is equal to s. Note that ‘a’-‘A’ gives 32 after statement 1 is
executed.
2. ch is back to S after statement 2 is executed.
Slide 12 of 50Ver. 1.0
Programming in C
Binary Operators (Contd.)
There are some set or rules, if followed, would prevent
unexpected results, at the time of execution of programs:
Any operand of type char is converted to int.
All floats are converted to doubles.
If either operand is double, the other is converted to a
double, giving a double result.
Slide 13 of 50Ver. 1.0
Programming in C
Practice: 2.4
1. In which of the following assignments is there no loss of
data? (i is an int, f a float, and d a double)
i=d;
d=f;
f=d;
i=f+d;
d=i+f;
1. Is type casting necessary in the following example?
int i,j;
float f;
double d;
d=f+(float) i + j;
Slide 14 of 50Ver. 1.0
Programming in C
Solution:
1. a. Loss of data. int set equal to a double.
b. No loss of data. double set equal to a float.
c. Loss of data. float set equal to a double.
d. Loss of data. Right-hand result is a double while left-hand
side is just an int.
e. No loss of data. Right-hand result is a double and
left-hand side is also a double.
2. Not necessary. The ints will automatically be converted to
doubles (following the conversion of the float to a double).
Practice: 2.4 (Contd.)
Slide 15 of 50Ver. 1.0
Programming in C
Ternary Operator
Ternary Operator:
Is a shorthand method for writing if.else conditional
construct.
Helps in reducing lines of code.
Has the following form for the expression using the ternary
operator:
(test-expression) ? T-expression : F-expression;
Slide 16 of 50Ver. 1.0
Programming in C
Ternary Operator (Contd.)
Consider the following example:
if(condition)
{ Statements if condition is true }
else
{ Statements if condition is false }
Can be rewritten using the shorthand operator as follows:
larger_of_the_two = ( x > y ) ? x : y;
Slide 17 of 50Ver. 1.0
Programming in C
Practice: 2.5
1. State whether True or False:
In the general form of an expression that uses a ternary operator,
the test expression will be checked. If it is true, the T-expression
will be evaluated, otherwise the F-expression will be evaluated.
2. What will the following statement do?
quotient = (b==0) ? 0 : (a/b); /*a, b, and
quotient are ints*/
3. Can the preceding statement be written as follows?
quotient = (b) ? (a/b) : 0;
4. What will the following statement do?
always_negative = (j>0) ? j : (-j);
Slide 18 of 50Ver. 1.0
Programming in C
Solution:
1. True.
2. If b is non-zero, it will determine the quotient of a and b. If b
equals zero, quotient is set to 0.
3. Yes. Note that if b is non-zero, the test expression (b)
evaluates to true and hence quotient is set to (a/b).
4. The variable always_negative will always take on a non-
negative value, i.e. it will be assigned the absolute value of j.
The name of the variable always_negative is just a red
herring. Remember that self-documenting variable names will
help in writing programs that are readable. Note the unary
operator (-j).
Practice: 2.5 (Contd.)
Slide 19 of 50Ver. 1.0
Programming in C
Compound Assignment Operators
Compound Assignment Operators:
Are useful especially when long variable names are used.
Has the following general form:
left-value op= right-expression;
Here op can be either + (add), - (subtract, * (multiply), /
(divide), and % (modulo).
Consider the following example:
a_very_long_identifier=a_very_long_identifier + 2;
It can be written as:
a_very_long_identifier += 2;
Slide 20 of 50Ver. 1.0
Programming in C
Increment / Decrement Operators
Increment / Decrement Operators:
Are used to increase or decrease the value of a variable by 1.
Has the following two forms:
The ++ (two plus symbols without a space), called the increment
operator while that in ++ before the variable is called the pre
increment operator and after the variable is called the post
increment operator.
The -- (two minus symbols without a space), called the decrement
operator while that in ++ before the variable is called the pre
decrement operator and after the variable is called the post
increment operator.
Slide 21 of 50Ver. 1.0
Programming in C
Increment / Decrement Operators (Contd.)
Consider the following code snippet:
total = sum++; /* statement A */
total = ++sum; /* statement B */
The first statement is equivalent to:
total = sum; sum = sum + 1;
While the second is the same as:
sum = sum + 1; total = sum;
Slide 22 of 50Ver. 1.0
Programming in C
Practice: 2.6
1. Consider the following code snippet:
int sum = 3, total = 5;
total = sum++;
total = ++sum; /*statement A */
total = sum—
total = --sum; /*statement B */
What will be the values of total and sum after:
a. statement A is executed?
b. statement B is executed?
Slide 23 of 50Ver. 1.0
Programming in C
Practice: 2.6 (Contd.)
2. State whether True or False:
The following statement:
for(i = 0; i< 100); i = i + 1)
{
Some statements
}
can be written as:
for (i = 0; i < 100; i++)
{
Some statements
}
Slide 24 of 50Ver. 1.0
Programming in C
Practice: 2.6 (Contd.)
3. State whether True or False:
The for statement in #2 can also be written as:
fori = 0; i < 100; ++i)/*Note: ++i and not i++*/
{
Some statements
}
4. Write a program, which reads in a year and reports on
whether it is a leap year or not (centuries should also be
considered).
Slide 25 of 50Ver. 1.0
Programming in C
Solution:
1. total=5, sum=5
total=3, sum=3
quite a complicated way of reducing total by 2.
2. True. i+1 is equivalent to i++.
3. True. i+1 is equivalent to 1+i.
4.
Practice: 2.6 (Contd.)
Microsoft Word
Document
Slide 26 of 50Ver. 1.0
Programming in C
Using Loops
The while and do…while looping constructs are generally
used in situations where the number of execution of the loop
is not known.
The for loop construct is used when the number of
execution of the loop is known.
Slide 27 of 50Ver. 1.0
Programming in C
The for Loop Construct
The for loop construct:
Has three components in the loop control:
Initialization
Condition
Re-initialization (increment/decrement)
Has the following sequence of execution:
Initialization
Evaluation of loop condition
Body of loop
Re-initialization
Slide 28 of 50Ver. 1.0
Programming in C
The sequence of execution of a complete for loop construct
is shown in the following figure.
TRUE
INITIALIZATION
EVALUATE
CONDITION
BODY OF LOOP
REINITIALIZATION
FALSE
The for Loop Construct (Contd.)
Slide 29 of 50Ver. 1.0
Programming in C
In a for loop construct:
Multiple initializations and/or multiple re- initializations, are
separated by commas.
Multiple conditions are specified using logical operators.
 
The for Loop Construct (Contd.)
Slide 30 of 50Ver. 1.0
Programming in C
Practice: 2.7
1. Write a function to accept twenty characters from the
character set, and to display whether the number of lower-
case characters is greater than, less than, or equal to
number of upper-case characters. Display an error
message if the input is not an alphabet.
2. Modify the function to accept characters endlessly until the
character ! is input from keyboard.
Slide 31 of 50Ver. 1.0
Programming in C
Solution:
1.
2.
Practice: 2.7 (Contd.)
Microsoft Office
Word 97 - 2003 Document
Microsoft Office
Word 97 - 2003 Document
Slide 32 of 50Ver. 1.0
Programming in C
Controlling the Loop Execution
At times there is a need to exit from a loop before the loop
condition is re-evaluated after iteration.
To exit from loop control, break and continue statements
are used.
Slide 33 of 50Ver. 1.0
Programming in C
Practice: 2.8
Write a function, which accepts numbers until 0 is entered
or 10 numbers have been accepted. The function prints the
total number of entries, the number of positive entries, and
the sum of all the positive numbers.
Slide 34 of 50Ver. 1.0
Programming in C
Practice: 2.8 (Contd.)
Solution:
Microsoft Office
Word 97 - 2003 Document
Slide 35 of 50Ver. 1.0
Programming in C
Using Formatted Input-Output Functions
C provides the following functions for formatted input-output:
printf()
scanf()
Slide 36 of 50Ver. 1.0
Programming in C
Formatted Output
Syntax of the formatted output function printf() is:
 printf (format, data1, data 2, ….);
Consider the following example:
 printf(“%c”, inp);
The character specified after % is called a conversion
character.
The conversion character allows one data type to be
converted to another type and printed.
Slide 37 of 50Ver. 1.0
Programming in C
Formatted Output (Contd.)
The conversion characters and their meanings are shown in
the following table.
Character Meaning
d the data is converted to decimal (integer)
c the data is taken as a character
s the data is a string and characters from
the string are printed until a NULL
character is reached
f the data is output as a double or float with
a default precision to 6
Slide 38 of 50Ver. 1.0
Programming in C
Practice: 2.9
What is the output of the statement:
printf(“Integer is: %d; Alphabet is: %cn”, 
inum, inp);
where inum contains 15 and inp contains Z.
Slide 39 of 50Ver. 1.0
Programming in C
Practice: 2.9 (Contd.)
Solution:
Integer is: 15; Alphabet is Z.
Slide 40 of 50Ver. 1.0
Programming in C
Formatted Input
The scanf() function is used for formatted input.
The syntax for the scanf() functions is as follows:
scanf (format, data1, data2……);
Here
format - The format-specification string
data1, data2 - Data names where the input data
is to be stored as per the
format-specification string
Slide 41 of 50Ver. 1.0
Programming in C
Formatted Input (Contd.)
The format-specification string in scanf() consists of:
Blanks, tabs, (also called white space characters).
New line which are ignored.
Conversion consisting of %, an optional number specification
specifying the width and a conversion character.
While accepting strings using scanf(), a space is
considered as a string terminator.
Slide 42 of 50Ver. 1.0
Programming in C
Practice: 2.10
Write a function to accept and display the element number
and the weight of a Proton. The element number is an
integer and weight is fractional.
Slide 43 of 50Ver. 1.0
Programming in C
Practice: 2.10 (Contd.)
Solution:
#include<stdio.h>
main()
{
int e_num;
float e_wt;
printf(“Enter the Element No. and Weight of a
Protonn”);
scanf(“%d %f”, &e_num, &e_wt);
fflush(stdin);
printf(“The Element No. is: “, e_num);
printf(“The weight of a Proton is: %fn“,
e_wt);
}
Slide 44 of 50Ver. 1.0
Programming in C
Practice: 2.11
Write a function to input a string of continuous characters
with no white space as part of the input. The function should
assign the input to variables of the types specified in the
following table.
The function should also print out each of the assigned data
items in separate lines.
Position of character from
start of string
Number of
characters
Type of argument to
assign
1 2 int
3 4 float
7 2 char (string)
9 3 int
Slide 45 of 50Ver. 1.0
Programming in C
Practice: 2.11
Solution:
#include<stdio.h>
main()
{
int i,j;
char str[3];
float fnum;
printf(“Enter a string of 11 chrsn”); /*why
11: because 11 is the total length of */
/*input.*/
scanf(“%2d %4f %2s %3d”,&i, &fnum, str, &j);
fflush(stdin);
printf(“%2dn %4fn %2sn %3dn”, i, fnum,
str, j);
}
Slide 46 of 50Ver. 1.0
Programming in C
Summary
In this session, you learned that:
An operator is a symbol that is used to command the computer
to do mathematical or logical manipulations.
The operators in C language are classified into the following
categories:
Logical operators
Unary operators
Binary operators
Ternary operator
Compound assignment operators
Increment/Decrement operators
Slide 47 of 50Ver. 1.0
Programming in C
Summary (Contd.)
The logical operators of C and their notations are as follows.
The unary operator prefixed to an integer constant or variable
tells the compiler to reverse the sign by subtracting the value
or variable from zero.
Binary operators in C language are + (add), - (subtract), *
(multiply), / (divide), and % (modulo).
Ternary operator offers a shorthand way of writing the
commonly used if…else construct.
Operator Notation
OR ||
AND &&
NOT !
Slide 48 of 50Ver. 1.0
Programming in C
Summary (Contd.)
The syntax for using the ternary operator is:
(test-expression) ? T-expression : F-expression;
Compound assignment operators simplify the statements.
Increment / Decrement operators are used to
increment/decrement a variable by 1.
A for loop is used when the number of execution of the loop is
known.
The components of a for loop construct are:
initialization
loop condition
reinitialization (increment/decrement)
Slide 49 of 50Ver. 1.0
Programming in C
Summary (Contd.)
The sequence of execution of a complete for loop is:
initialization
evaluation of the loop condition
the body of the loop
reinitialization
The break and continue statements are used to exit from
loop control.
The break statement is used to exit from all loop constructs
(while, do...while, and for) and switch...case
statements.
The continue statement is used to skip all subsequent
instructions and brings the control back to the loop.
The function printf() is used for formatted output to
standard output based on a format specification.
Slide 50 of 50Ver. 1.0
Programming in C
Summary (Contd.)
The syntax of the function printf() is:
printf(format, datal, data 2,,..);
The function scanf() is used for formatted input from
standard input and provides many of the conversion facilities of
the function printf().
The syntax of the function scanf() is:
scanf (format, datal, data2, ...);

More Related Content

What's hot

02 iec t1_s1_oo_ps_session_02
02 iec t1_s1_oo_ps_session_0202 iec t1_s1_oo_ps_session_02
02 iec t1_s1_oo_ps_session_02
Pooja Gupta
 
C programming session 08
C programming session 08C programming session 08
C programming session 08
Vivek Singh
 
Mid term sem 2 1415 sol
Mid term sem 2 1415 solMid term sem 2 1415 sol
Mid term sem 2 1415 sol
IIUM
 

What's hot (19)

UNIT-II CP DOC.docx
UNIT-II CP DOC.docxUNIT-II CP DOC.docx
UNIT-II CP DOC.docx
 
Labsheet1stud
Labsheet1studLabsheet1stud
Labsheet1stud
 
Labsheet2
Labsheet2Labsheet2
Labsheet2
 
Unit i intro-operators
Unit   i intro-operatorsUnit   i intro-operators
Unit i intro-operators
 
C programming part4
C programming part4C programming part4
C programming part4
 
02 iec t1_s1_oo_ps_session_02
02 iec t1_s1_oo_ps_session_0202 iec t1_s1_oo_ps_session_02
02 iec t1_s1_oo_ps_session_02
 
C# operators
C# operatorsC# operators
C# operators
 
C Programming
C ProgrammingC Programming
C Programming
 
C programming(Part 1)
C programming(Part 1)C programming(Part 1)
C programming(Part 1)
 
Ocs752 unit 2
Ocs752   unit 2Ocs752   unit 2
Ocs752 unit 2
 
Session 5-exersice
Session 5-exersiceSession 5-exersice
Session 5-exersice
 
C programming session 08
C programming session 08C programming session 08
C programming session 08
 
C sharp chap3
C sharp chap3C sharp chap3
C sharp chap3
 
Ocs752 unit 1
Ocs752   unit 1Ocs752   unit 1
Ocs752 unit 1
 
keyword
keywordkeyword
keyword
 
Important C program of Balagurusamy Book
Important C program of Balagurusamy BookImportant C program of Balagurusamy Book
Important C program of Balagurusamy Book
 
Few Operator used in c++
Few Operator used in c++Few Operator used in c++
Few Operator used in c++
 
Learning the C Language
Learning the C LanguageLearning the C Language
Learning the C Language
 
Mid term sem 2 1415 sol
Mid term sem 2 1415 solMid term sem 2 1415 sol
Mid term sem 2 1415 sol
 

Viewers also liked

C programming session 16
C programming session 16C programming session 16
C programming session 16
Vivek Singh
 
C programming session 01
C programming session 01C programming session 01
C programming session 01
Vivek Singh
 
C programming session 04
C programming session 04C programming session 04
C programming session 04
Vivek Singh
 
C programming session 05
C programming session 05C programming session 05
C programming session 05
Vivek Singh
 
C programming session 10
C programming session 10C programming session 10
C programming session 10
Vivek Singh
 
Sql create table statement
Sql create table statementSql create table statement
Sql create table statement
Vivek Singh
 

Viewers also liked (6)

C programming session 16
C programming session 16C programming session 16
C programming session 16
 
C programming session 01
C programming session 01C programming session 01
C programming session 01
 
C programming session 04
C programming session 04C programming session 04
C programming session 04
 
C programming session 05
C programming session 05C programming session 05
C programming session 05
 
C programming session 10
C programming session 10C programming session 10
C programming session 10
 
Sql create table statement
Sql create table statementSql create table statement
Sql create table statement
 

Similar to C programming session 02

C programming session 02
C programming session 02C programming session 02
C programming session 02
AjayBahoriya
 
C programming session 02
C programming session 02C programming session 02
C programming session 02
Dushmanta Nath
 
2.overview of c#
2.overview of c#2.overview of c#
2.overview of c#
Raghu nath
 
Ch2 introduction to c
Ch2 introduction to cCh2 introduction to c
Ch2 introduction to c
Hattori Sidek
 

Similar to C programming session 02 (20)

C programming session 02
C programming session 02C programming session 02
C programming session 02
 
C programming session 02
C programming session 02C programming session 02
C programming session 02
 
2621008 - C++ 2
2621008 -  C++ 22621008 -  C++ 2
2621008 - C++ 2
 
2.overview of c#
2.overview of c#2.overview of c#
2.overview of c#
 
Python Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and FunctionsPython Unit 3 - Control Flow and Functions
Python Unit 3 - Control Flow and Functions
 
Programming C Part 02
Programming C Part 02Programming C Part 02
Programming C Part 02
 
Operators
OperatorsOperators
Operators
 
additional.pptx
additional.pptxadditional.pptx
additional.pptx
 
Chp4_C++_Control Structures-Part2_Iteration.pptx
Chp4_C++_Control Structures-Part2_Iteration.pptxChp4_C++_Control Structures-Part2_Iteration.pptx
Chp4_C++_Control Structures-Part2_Iteration.pptx
 
Technical aptitude Test 1 CSE
Technical aptitude Test 1 CSETechnical aptitude Test 1 CSE
Technical aptitude Test 1 CSE
 
C++ chapter 2
C++ chapter 2C++ chapter 2
C++ chapter 2
 
C operators
C operatorsC operators
C operators
 
Operators-computer programming and utilzation
Operators-computer programming and utilzationOperators-computer programming and utilzation
Operators-computer programming and utilzation
 
Java Quiz
Java QuizJava Quiz
Java Quiz
 
Ch2 introduction to c
Ch2 introduction to cCh2 introduction to c
Ch2 introduction to c
 
Programming Fundamentals lecture 7
Programming Fundamentals lecture 7Programming Fundamentals lecture 7
Programming Fundamentals lecture 7
 
C Operators and Control Structures.pdf
C Operators and Control Structures.pdfC Operators and Control Structures.pdf
C Operators and Control Structures.pdf
 
Theory3
Theory3Theory3
Theory3
 
Report on c
Report on cReport on c
Report on c
 
Programming in C
Programming in CProgramming in C
Programming in C
 

More from Vivek Singh

C programming session 14
C programming session 14C programming session 14
C programming session 14
Vivek Singh
 
C programming session 13
C programming session 13C programming session 13
C programming session 13
Vivek Singh
 
C programming session 11
C programming session 11C programming session 11
C programming session 11
Vivek Singh
 
C programming session 07
C programming session 07C programming session 07
C programming session 07
Vivek Singh
 
Niit aptitude question paper
Niit aptitude question paperNiit aptitude question paper
Niit aptitude question paper
Vivek Singh
 
Excel shortcut and tips
Excel shortcut and tipsExcel shortcut and tips
Excel shortcut and tips
Vivek Singh
 
Sql where clause
Sql where clauseSql where clause
Sql where clause
Vivek Singh
 
Sql update statement
Sql update statementSql update statement
Sql update statement
Vivek Singh
 
Sql tutorial, tutorials sql
Sql tutorial, tutorials sqlSql tutorial, tutorials sql
Sql tutorial, tutorials sql
Vivek Singh
 
Sql select statement
Sql select statementSql select statement
Sql select statement
Vivek Singh
 
Sql query tuning or query optimization
Sql query tuning or query optimizationSql query tuning or query optimization
Sql query tuning or query optimization
Vivek Singh
 
Sql query tips or query optimization
Sql query tips or query optimizationSql query tips or query optimization
Sql query tips or query optimization
Vivek Singh
 
Sql order by clause
Sql order by clauseSql order by clause
Sql order by clause
Vivek Singh
 
Sql operators comparision & logical operators
Sql operators   comparision & logical operatorsSql operators   comparision & logical operators
Sql operators comparision & logical operators
Vivek Singh
 
Sql logical operators
Sql logical operatorsSql logical operators
Sql logical operators
Vivek Singh
 
Sql integrity constraints
Sql integrity constraintsSql integrity constraints
Sql integrity constraints
Vivek Singh
 
Sql insert statement
Sql insert statementSql insert statement
Sql insert statement
Vivek Singh
 

More from Vivek Singh (20)

C programming session 14
C programming session 14C programming session 14
C programming session 14
 
C programming session 13
C programming session 13C programming session 13
C programming session 13
 
C programming session 11
C programming session 11C programming session 11
C programming session 11
 
C programming session 07
C programming session 07C programming session 07
C programming session 07
 
Niit aptitude question paper
Niit aptitude question paperNiit aptitude question paper
Niit aptitude question paper
 
Excel shortcut and tips
Excel shortcut and tipsExcel shortcut and tips
Excel shortcut and tips
 
Sql where clause
Sql where clauseSql where clause
Sql where clause
 
Sql update statement
Sql update statementSql update statement
Sql update statement
 
Sql tutorial, tutorials sql
Sql tutorial, tutorials sqlSql tutorial, tutorials sql
Sql tutorial, tutorials sql
 
Sql subquery
Sql subquerySql subquery
Sql subquery
 
Sql select statement
Sql select statementSql select statement
Sql select statement
 
Sql rename
Sql renameSql rename
Sql rename
 
Sql query tuning or query optimization
Sql query tuning or query optimizationSql query tuning or query optimization
Sql query tuning or query optimization
 
Sql query tips or query optimization
Sql query tips or query optimizationSql query tips or query optimization
Sql query tips or query optimization
 
Sql order by clause
Sql order by clauseSql order by clause
Sql order by clause
 
Sql operators comparision & logical operators
Sql operators   comparision & logical operatorsSql operators   comparision & logical operators
Sql operators comparision & logical operators
 
Sql logical operators
Sql logical operatorsSql logical operators
Sql logical operators
 
Sql joins
Sql joinsSql joins
Sql joins
 
Sql integrity constraints
Sql integrity constraintsSql integrity constraints
Sql integrity constraints
 
Sql insert statement
Sql insert statementSql insert statement
Sql insert statement
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Recently uploaded (20)

Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdfUnit 3 Emotional Intelligence and Spiritual Intelligence.pdf
Unit 3 Emotional Intelligence and Spiritual Intelligence.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 

C programming session 02

  • 1. Slide 1 of 50Ver. 1.0 Programming in C In this session, you will learn to: Work with operators Use loops Use formatted input-output functions Objectives
  • 2. Slide 2 of 50Ver. 1.0 Programming in C Working with Operators An operator: Is a symbol used to command the computer to do mathematical or logical manipulations. Operates on data and variables. C has a rich set of operators, which can be classified into following various categories: Relational operators Logical operators Unary operators Binary operators Ternary operator Compound assignment operators Increment/Decrement operators
  • 3. Slide 3 of 50Ver. 1.0 Programming in C Logical Operators Notations for logical operators in C are: Operator Notation OR | | AND && NOT ! Operator precedence: NOT (!) is evaluated before AND (&&), which is evaluated before OR (||). Brackets () are used to change this order.
  • 4. Slide 4 of 50Ver. 1.0 Programming in C Practice: 2.1 Write a function that accepts either y or n only as input. For any other character input, an appropriate error message should be displayed and the input is accepted again.
  • 5. Slide 5 of 50Ver. 1.0 Programming in C Practice: 2.1 (Contd.) Solution: #include<stdio.h> main() { char yn; do { puts(“Enter y/n (Yes/No)”); yn=getchar (); fflush (stdin); if(yn!=’y’ && yn!=’n’) puts(“Invalid input”); } while(yn!=’y’ && yn!=’n’); }
  • 6. Slide 6 of 50Ver. 1.0 Programming in C Unary Operators Unary Operators: Operates on a single operand. Prefixed to an integer constant. Tells the compiler to reverse the sign by subtracting the value (or variable) from zero. Has the same effect as the – sign, which is used to indicate a number less than zero, for example -12.
  • 7. Slide 7 of 50Ver. 1.0 Programming in C Practice: 2.2 Which of the following are valid? 1. valuea=-12; /* valuea is int* / 2. valuea = - valueb – 12 /* valuea and valueb both are int */
  • 8. Slide 8 of 50Ver. 1.0 Programming in C Practice: 2.2 (Contd.) Solution: 1. Valid 2. Valid
  • 9. Slide 9 of 50Ver. 1.0 Programming in C Binary Operators Binary Operators: Operate on two operands. Are as follows: + (add) - (subtract) * (multiply) / (divide) % (modulo)
  • 10. Slide 10 of 50Ver. 1.0 Programming in C Practice: 2.3 In the following set of statements: char ch; ch=’S’; ch=ch+’a’-‘A’; /*statement A*/ ch=ch+’A’-‘a’; /*statement B*/ What will be the value of ch after: 1. Statement A is executed? 2. Statement B is executed?
  • 11. Slide 11 of 50Ver. 1.0 Programming in C Practice: 2.3 (Contd.) Solution: 1. ch is equal to s. Note that ‘a’-‘A’ gives 32 after statement 1 is executed. 2. ch is back to S after statement 2 is executed.
  • 12. Slide 12 of 50Ver. 1.0 Programming in C Binary Operators (Contd.) There are some set or rules, if followed, would prevent unexpected results, at the time of execution of programs: Any operand of type char is converted to int. All floats are converted to doubles. If either operand is double, the other is converted to a double, giving a double result.
  • 13. Slide 13 of 50Ver. 1.0 Programming in C Practice: 2.4 1. In which of the following assignments is there no loss of data? (i is an int, f a float, and d a double) i=d; d=f; f=d; i=f+d; d=i+f; 1. Is type casting necessary in the following example? int i,j; float f; double d; d=f+(float) i + j;
  • 14. Slide 14 of 50Ver. 1.0 Programming in C Solution: 1. a. Loss of data. int set equal to a double. b. No loss of data. double set equal to a float. c. Loss of data. float set equal to a double. d. Loss of data. Right-hand result is a double while left-hand side is just an int. e. No loss of data. Right-hand result is a double and left-hand side is also a double. 2. Not necessary. The ints will automatically be converted to doubles (following the conversion of the float to a double). Practice: 2.4 (Contd.)
  • 15. Slide 15 of 50Ver. 1.0 Programming in C Ternary Operator Ternary Operator: Is a shorthand method for writing if.else conditional construct. Helps in reducing lines of code. Has the following form for the expression using the ternary operator: (test-expression) ? T-expression : F-expression;
  • 16. Slide 16 of 50Ver. 1.0 Programming in C Ternary Operator (Contd.) Consider the following example: if(condition) { Statements if condition is true } else { Statements if condition is false } Can be rewritten using the shorthand operator as follows: larger_of_the_two = ( x > y ) ? x : y;
  • 17. Slide 17 of 50Ver. 1.0 Programming in C Practice: 2.5 1. State whether True or False: In the general form of an expression that uses a ternary operator, the test expression will be checked. If it is true, the T-expression will be evaluated, otherwise the F-expression will be evaluated. 2. What will the following statement do? quotient = (b==0) ? 0 : (a/b); /*a, b, and quotient are ints*/ 3. Can the preceding statement be written as follows? quotient = (b) ? (a/b) : 0; 4. What will the following statement do? always_negative = (j>0) ? j : (-j);
  • 18. Slide 18 of 50Ver. 1.0 Programming in C Solution: 1. True. 2. If b is non-zero, it will determine the quotient of a and b. If b equals zero, quotient is set to 0. 3. Yes. Note that if b is non-zero, the test expression (b) evaluates to true and hence quotient is set to (a/b). 4. The variable always_negative will always take on a non- negative value, i.e. it will be assigned the absolute value of j. The name of the variable always_negative is just a red herring. Remember that self-documenting variable names will help in writing programs that are readable. Note the unary operator (-j). Practice: 2.5 (Contd.)
  • 19. Slide 19 of 50Ver. 1.0 Programming in C Compound Assignment Operators Compound Assignment Operators: Are useful especially when long variable names are used. Has the following general form: left-value op= right-expression; Here op can be either + (add), - (subtract, * (multiply), / (divide), and % (modulo). Consider the following example: a_very_long_identifier=a_very_long_identifier + 2; It can be written as: a_very_long_identifier += 2;
  • 20. Slide 20 of 50Ver. 1.0 Programming in C Increment / Decrement Operators Increment / Decrement Operators: Are used to increase or decrease the value of a variable by 1. Has the following two forms: The ++ (two plus symbols without a space), called the increment operator while that in ++ before the variable is called the pre increment operator and after the variable is called the post increment operator. The -- (two minus symbols without a space), called the decrement operator while that in ++ before the variable is called the pre decrement operator and after the variable is called the post increment operator.
  • 21. Slide 21 of 50Ver. 1.0 Programming in C Increment / Decrement Operators (Contd.) Consider the following code snippet: total = sum++; /* statement A */ total = ++sum; /* statement B */ The first statement is equivalent to: total = sum; sum = sum + 1; While the second is the same as: sum = sum + 1; total = sum;
  • 22. Slide 22 of 50Ver. 1.0 Programming in C Practice: 2.6 1. Consider the following code snippet: int sum = 3, total = 5; total = sum++; total = ++sum; /*statement A */ total = sum— total = --sum; /*statement B */ What will be the values of total and sum after: a. statement A is executed? b. statement B is executed?
  • 23. Slide 23 of 50Ver. 1.0 Programming in C Practice: 2.6 (Contd.) 2. State whether True or False: The following statement: for(i = 0; i< 100); i = i + 1) { Some statements } can be written as: for (i = 0; i < 100; i++) { Some statements }
  • 24. Slide 24 of 50Ver. 1.0 Programming in C Practice: 2.6 (Contd.) 3. State whether True or False: The for statement in #2 can also be written as: fori = 0; i < 100; ++i)/*Note: ++i and not i++*/ { Some statements } 4. Write a program, which reads in a year and reports on whether it is a leap year or not (centuries should also be considered).
  • 25. Slide 25 of 50Ver. 1.0 Programming in C Solution: 1. total=5, sum=5 total=3, sum=3 quite a complicated way of reducing total by 2. 2. True. i+1 is equivalent to i++. 3. True. i+1 is equivalent to 1+i. 4. Practice: 2.6 (Contd.) Microsoft Word Document
  • 26. Slide 26 of 50Ver. 1.0 Programming in C Using Loops The while and do…while looping constructs are generally used in situations where the number of execution of the loop is not known. The for loop construct is used when the number of execution of the loop is known.
  • 27. Slide 27 of 50Ver. 1.0 Programming in C The for Loop Construct The for loop construct: Has three components in the loop control: Initialization Condition Re-initialization (increment/decrement) Has the following sequence of execution: Initialization Evaluation of loop condition Body of loop Re-initialization
  • 28. Slide 28 of 50Ver. 1.0 Programming in C The sequence of execution of a complete for loop construct is shown in the following figure. TRUE INITIALIZATION EVALUATE CONDITION BODY OF LOOP REINITIALIZATION FALSE The for Loop Construct (Contd.)
  • 29. Slide 29 of 50Ver. 1.0 Programming in C In a for loop construct: Multiple initializations and/or multiple re- initializations, are separated by commas. Multiple conditions are specified using logical operators.   The for Loop Construct (Contd.)
  • 30. Slide 30 of 50Ver. 1.0 Programming in C Practice: 2.7 1. Write a function to accept twenty characters from the character set, and to display whether the number of lower- case characters is greater than, less than, or equal to number of upper-case characters. Display an error message if the input is not an alphabet. 2. Modify the function to accept characters endlessly until the character ! is input from keyboard.
  • 31. Slide 31 of 50Ver. 1.0 Programming in C Solution: 1. 2. Practice: 2.7 (Contd.) Microsoft Office Word 97 - 2003 Document Microsoft Office Word 97 - 2003 Document
  • 32. Slide 32 of 50Ver. 1.0 Programming in C Controlling the Loop Execution At times there is a need to exit from a loop before the loop condition is re-evaluated after iteration. To exit from loop control, break and continue statements are used.
  • 33. Slide 33 of 50Ver. 1.0 Programming in C Practice: 2.8 Write a function, which accepts numbers until 0 is entered or 10 numbers have been accepted. The function prints the total number of entries, the number of positive entries, and the sum of all the positive numbers.
  • 34. Slide 34 of 50Ver. 1.0 Programming in C Practice: 2.8 (Contd.) Solution: Microsoft Office Word 97 - 2003 Document
  • 35. Slide 35 of 50Ver. 1.0 Programming in C Using Formatted Input-Output Functions C provides the following functions for formatted input-output: printf() scanf()
  • 36. Slide 36 of 50Ver. 1.0 Programming in C Formatted Output Syntax of the formatted output function printf() is:  printf (format, data1, data 2, ….); Consider the following example:  printf(“%c”, inp); The character specified after % is called a conversion character. The conversion character allows one data type to be converted to another type and printed.
  • 37. Slide 37 of 50Ver. 1.0 Programming in C Formatted Output (Contd.) The conversion characters and their meanings are shown in the following table. Character Meaning d the data is converted to decimal (integer) c the data is taken as a character s the data is a string and characters from the string are printed until a NULL character is reached f the data is output as a double or float with a default precision to 6
  • 38. Slide 38 of 50Ver. 1.0 Programming in C Practice: 2.9 What is the output of the statement: printf(“Integer is: %d; Alphabet is: %cn”,  inum, inp); where inum contains 15 and inp contains Z.
  • 39. Slide 39 of 50Ver. 1.0 Programming in C Practice: 2.9 (Contd.) Solution: Integer is: 15; Alphabet is Z.
  • 40. Slide 40 of 50Ver. 1.0 Programming in C Formatted Input The scanf() function is used for formatted input. The syntax for the scanf() functions is as follows: scanf (format, data1, data2……); Here format - The format-specification string data1, data2 - Data names where the input data is to be stored as per the format-specification string
  • 41. Slide 41 of 50Ver. 1.0 Programming in C Formatted Input (Contd.) The format-specification string in scanf() consists of: Blanks, tabs, (also called white space characters). New line which are ignored. Conversion consisting of %, an optional number specification specifying the width and a conversion character. While accepting strings using scanf(), a space is considered as a string terminator.
  • 42. Slide 42 of 50Ver. 1.0 Programming in C Practice: 2.10 Write a function to accept and display the element number and the weight of a Proton. The element number is an integer and weight is fractional.
  • 43. Slide 43 of 50Ver. 1.0 Programming in C Practice: 2.10 (Contd.) Solution: #include<stdio.h> main() { int e_num; float e_wt; printf(“Enter the Element No. and Weight of a Protonn”); scanf(“%d %f”, &e_num, &e_wt); fflush(stdin); printf(“The Element No. is: “, e_num); printf(“The weight of a Proton is: %fn“, e_wt); }
  • 44. Slide 44 of 50Ver. 1.0 Programming in C Practice: 2.11 Write a function to input a string of continuous characters with no white space as part of the input. The function should assign the input to variables of the types specified in the following table. The function should also print out each of the assigned data items in separate lines. Position of character from start of string Number of characters Type of argument to assign 1 2 int 3 4 float 7 2 char (string) 9 3 int
  • 45. Slide 45 of 50Ver. 1.0 Programming in C Practice: 2.11 Solution: #include<stdio.h> main() { int i,j; char str[3]; float fnum; printf(“Enter a string of 11 chrsn”); /*why 11: because 11 is the total length of */ /*input.*/ scanf(“%2d %4f %2s %3d”,&i, &fnum, str, &j); fflush(stdin); printf(“%2dn %4fn %2sn %3dn”, i, fnum, str, j); }
  • 46. Slide 46 of 50Ver. 1.0 Programming in C Summary In this session, you learned that: An operator is a symbol that is used to command the computer to do mathematical or logical manipulations. The operators in C language are classified into the following categories: Logical operators Unary operators Binary operators Ternary operator Compound assignment operators Increment/Decrement operators
  • 47. Slide 47 of 50Ver. 1.0 Programming in C Summary (Contd.) The logical operators of C and their notations are as follows. The unary operator prefixed to an integer constant or variable tells the compiler to reverse the sign by subtracting the value or variable from zero. Binary operators in C language are + (add), - (subtract), * (multiply), / (divide), and % (modulo). Ternary operator offers a shorthand way of writing the commonly used if…else construct. Operator Notation OR || AND && NOT !
  • 48. Slide 48 of 50Ver. 1.0 Programming in C Summary (Contd.) The syntax for using the ternary operator is: (test-expression) ? T-expression : F-expression; Compound assignment operators simplify the statements. Increment / Decrement operators are used to increment/decrement a variable by 1. A for loop is used when the number of execution of the loop is known. The components of a for loop construct are: initialization loop condition reinitialization (increment/decrement)
  • 49. Slide 49 of 50Ver. 1.0 Programming in C Summary (Contd.) The sequence of execution of a complete for loop is: initialization evaluation of the loop condition the body of the loop reinitialization The break and continue statements are used to exit from loop control. The break statement is used to exit from all loop constructs (while, do...while, and for) and switch...case statements. The continue statement is used to skip all subsequent instructions and brings the control back to the loop. The function printf() is used for formatted output to standard output based on a format specification.
  • 50. Slide 50 of 50Ver. 1.0 Programming in C Summary (Contd.) The syntax of the function printf() is: printf(format, datal, data 2,,..); The function scanf() is used for formatted input from standard input and provides many of the conversion facilities of the function printf(). The syntax of the function scanf() is: scanf (format, datal, data2, ...);

Editor's Notes

  1. Begin the session by explaining the objectives of the session.
  2. Tell the students that they cannot create a useful programs without using the operators. A simple program such as adding two variables and showing the result needs the use of variables.
  3. Operator precedence is very important in a program. If the operator precedence is not considered then the program might produce an unexpected result. Give an example, which produces a result different from the expected result because of incorrect operator precedence.
  4. Use Slide 4 to test the student’s understanding on logical operators.
  5. Use Slide 7 to test the student’s understanding on unary operators.
  6. Use Slide 10 to test the student’s understanding on binary operators.
  7. Use this slide to test the student’s understanding on binary operators.
  8. Use this slide to test the student’s understanding on ternary operators.
  9. Use this slide to test the student’s understanding on increment/decrement operators.
  10. Explain definite and indefinite loops. Give some examples, which distinguish between definite and indefinite loops.
  11. The for loop consists of three parts : Initialization Condition Re-initialization (increment/decrement) In a for loop, after initialization, the condition is first checked. If the condition is valid, the body of the for loop is executed. For each iteration, re-initialization is done before the condition is checked again. Any or all of these parts may be left out of the construct. For example : for ( ; ; ) { } is an infinite loop (as there is no condition).
  12. Use this slide to test the student’s understanding on loops.
  13. Use this slide to test the student’s understanding on controlling the loop execution.
  14. When used with strings, the format string could be quite confusing. The statement: printf ( “%15.5s”, string) prints the first 5 characters of the string right-justified in 15 spaces. When used with floats, it represents the precision required.
  15. Use this slide to test the student’s understanding on formatted output.
  16. Use this slide to test the student’s understanding on formatted input.
  17. Use this slide to test the student’s understanding on formatted input-output.
  18. The output buffer is flushed only if it is full, or if the string to be printed contains a newline character at the end or if it is explicitly flushed using fflush () . The last option is used if the string does not contain a new line character. The string might not be displayed at the right place at the right time otherwise.
  19. Use this and the next 4 slides to summarize this session.