SlideShare a Scribd company logo
1 of 27
Download to read offline
1
C Programming and Data Structures
BT0067 Part-2
By Milan K Antony
2
 Differentiate string type and character type constants.
Individual character constants are represented by single-
quotes, e.g. 'A', and have type int (in C++ char). The
difference is that "A" represents a pointer to the first
element of a null-terminated array, whereas 'A' directly
represents the code value (65 if ASCII is used). The same
backslash-escapes are supported as for strings, except that
(of course) " can validly be used as a character without being
escaped, whereas ' must now be escaped. A character constant
cannot be empty (i.e. '' is invalid syntax), although a string
may be (it still has the null terminating character). Multi-
character constants (e.g. 'xy') are valid, although rarely
useful — they let one store several characters in an integer
(e.g. 4 ASCII characters can fit in a 32-bit integer, 8 in a
64-bit one). Since the order in which the characters are
packed into one int is not specified, portable use of multi-
character constants is difficult.
In C, string literals (constants) are surrounded by double
quotes ("), e.g. "Hello world!" and are compiled to an array
of the specified char values with an additional null terminating
character (0-valued) code to mark the end of the
string.String literals may not contain embedded newlines; this
proscription somewhat simplifies parsing of the language. To
3
include a newline in a string, the backslash escape n may be
used, as below.
2. Write an algorithm to find the bus fare based on distance
traveled as per the following rates:
a. Rs.5.00 for first 2 kms.
b. Rs.2.50 for every additional 2 kms.
Draw a flowchart to find the fare.
3. Explain different iterative statements.
4
A C Program is made up of statements. Statement is a
part of your program that can be executed. In other words
every statement in your program alone or in combination
specifies an action to performed by your program. C provides
variety of statements to help you attain any function with
maximum flexibility and efficency. One of the reason for
popularity of C is because of the extreme power provided to
programmer in C due to it rich and diverse set of statements
define in C. For becoming a top notch programmer you must
have clear understanding of the C statments and the situations
where staments in C are applicable.
1. Types Of Statements
Staments in C are categorized into following types- 1.
Selection/Conditional Statement - They decide the flow of
statements on based on evaluation of results of conditons. if
- else and switch statements come under this category. 2.
Iteration Statements - These are used to run a particluar
block statments repeatedly or in other words form a loop.
for, while and do-while statements come under this category.
3. Jump Statements - The are used to make the flow of your
statments from one point to another. break, continue, goto
and return come under this category. 4. Label Statements -
These are used as targets/waypoints for jump and selection
statements. case (discussed with switch) and label (discussed
with goto) come under this category 5. Expression Statements
5
- Any valid expression makes an expression statement. 6. Block
Statement - A group of staments which are binded together
to form a logic are called block statemetns. Block statement
begins with a { and ends with a }. Below we discuss each types
of statements in detail with all thier variant forms.
Block Statements
2. if - else Statement if - else statement is a selection
statement. It selects one piece of code for execution among
two on basis of a outcome of a conditonal logic. The piece
of code being refer here can be a s tament, a block
statement or even a empty statement depending upon the
logic of your program.
Conditon here evaluates to true or false ie. zero or non-zero
in c respectively.It can be any valid data type which can be
interpreted by C compiler as 1 or 0. If the code evaluates to
be true the one assosiated with if is executed otherwise one
associated with else is executed. Hence the if - else statment
helps the programmer in controlling the flow of statements in
his program. The important thing to note is code of if and
else block are inversely related in logic ie. either code of if
block or code of else block will be executed never both.
Also in a professionally written code if the variable alone is
able to control the condtion using a comparison is considered
a bad style. For example say i an integer variable can attain
any value then this value can be directly interpreted as zero
6
or non-zero and is sufficient to control the loop. In this case
conditons like (i == 0) or (i != 0) are considered bad
programming style and should be avoided.
Here is a code showing the if - else statement in action –
One property of if -else statement is that they can be
nested. This means that if statement can be target of another
if statement.
C89 specifies that compiler must support 15 levels of nesting
and C -99 increase that number to 127 but in reality most
compilers allow a large number of nesting much much greater
than defined in C.
In a nested else statement is assosiate with nearest if
statement. This association can be change by used of code
block. Also you should use proper indenting in your program
to make sure you remove any visual ambiguity/
Another popular variant of if-else statement is if-else ladder
in this we create a series of generally one level deep. It has
a special property that when any one of the condition
statement is found to be true only statement associate with
the if having that condition true is executed and all other
statements in the ladder are by-passed. If none of the
conditions evaluate to be true then the final statement
associated with else is executed if present. Also it is
recommended to use standard identation pattern.
7
Another option to if-else statement is ternary operator ?
(Question Mark) discussed under Expressions.
3. switch Statement
switch is a selection statement provided by C. It has a buil in
multiple - branch structure and work similar to if else ladder
generally. The input value to to the switch statemetnt
construct is a int or char variable. Note that no float or any
other data is allowed. This input variable is compared against a
group of integer constant. All the statments in and after the
case in which thier is a match is executed until a break
statement is encountered or end of switch is reached. We are
also allowed to give a default case which will be executed if
no other statement match is found. Also use of standard
indenting is recommended.
4. for Statement
for statement is one of the iteration statement provided by
C. It is the most popular of all iteration statments because it
provides unmatched flexiblity and power to the program.
Loops generated by for statement is are also called entry
controlled or close ended because the condition for iteration
8
of loop is check at the starting of the loop and loop will not
execute even once if the conditon will to satisfy even once.
for statement declaration as shown above can be divided into
3 parts -
1. Intialization - In this we intialize the loop control value to
a starting value. Also C99 like C++ permits the declaration of
loop control variable whose scope is only the for block.
2. Condition - In this evaluate the condition for the iteration
of the loop and loop repeat only when this is true.
3. Increment - In this we determine how the value of loop
control value changes with each iteration of the loop. It can
be increment, decrement or any mathematical expression.
Also statement in above form can be a single statement, block
statement or a blank statement.
There are many variations or mutant forms of for loop which
can be created enhancing the general for loops flexibility and
power.
Multiple loop control variable - In this form more than 1 loop
control variable is used to control the execution of loop. The
multiple statements are combined together using comma
operator. The possible use is shown in the following source
9
code in which we generate numbers from 0 to 50 using two
loop control Missing Parts - In a for statement declaration
any or all of the three parts of the statement are optional
and can be replaced by blank statements. Its show in the code
be#include <stdio.h>
3.Infinite loop - In this a non - ending infinte loop is
formed by removing all three parts of the for statement. This
loop can only be stopped if a break statement is encountered
inside the body of the loop. Infinite loop find use in many
algorithms such as game programming engin#include <stdio.h>
 No Body Loop - In this variation the body of the loop
does not exist. It maybe used in special circumstances
such as in which body of loop is not needed. For example
the code below shows a loop which moves the input string
pointer to a character in the same string removing the
unwanted intial white spaces.
Many new variations can be obtained by combining variations
above. For loop is most widely use loop statement and its
should be clear now why it is so.
5. while Statement
while is an iteration statement available in C. It is used to
create loops. While produce entry controlled loops ie. loops in
which condition check is performed at starting.
10
Above condition is any valid expression which evaluates to zero
or non - zero and statement can be a single statement, block
statement or empty statement. Also if you want to run loop
forever you can write condition 1 and if you want it to never
run you can write condition 0. While like for can be made
without any bodies for specific purposes. Also unlike for the
increment has to been inside the statement block and
initalization outside the while statement block.
6. do - while Statment
do - while is also iteration statement provided by C. It is
similar to while but has many diffrent properties. It is an exit
controlled loop which means that condition for next loop
iteration is checked at bottom of the loop. This makes sure
that the do-while loop will run atleast once.Curly brackets are
not required if statment is blank or single but they are
recommended in every case to avoid confusion. Conditional as
usual is vaild expression statement which evaluates to zero or
non-zero. The loop will continue to run till the conditions
evaluates to non - zero. As in while increment part should be
contained inside loop and intialization should be outside loop.
One the most important use of do-while is menus where you
want menu to run atleast once and also until user chooses a
valid choice.
7. return Statement
11
return is a jump statement in c. It is used to return from
the executing function to the function which called this
executing function. If encounter in main the program exits
and return to the operating system or the source from which
it was called from.
Return statement also has a special property that it can return
a value with it to the calling function if the fuunction is
declared non - void. Void functions are the one which are
explicitly declared not to return a value and hence a return
statement with value when encountered in such a function leads
to an error by compiler. Also a function declared non-void
should always return a value of the respective type. Some
compiler allow a relaxation which could lead to severe
problems, they return garbage value if a return statement
containing the value is not found in the function. You should
always make sure such a situation never happens.
8. goto Statement
goto statement is a jump staments and is perhaps the most
controversial feature in C. Goto in unstructured language such
as basic was indispensable and the soul of the programming
lanugage but in a structured language they are critcized
beyond limit. The critics say that due to other jump
statements in c goto is not all required and more over it
destoys the structure of your program and make it
unreadable. But on other hand goto statement of C provides
12
some very powerfull programming options in very compicated
situation. This tutorial will take an neutral stand in such an
argument and neither recommend nor discourage use of goto.
Goto is used for jumping from one point to another point in
your function. You can not jump from one function to
another. Jump points or way points for goto are marked by
label statements. Label statement can be anywhere in the
function above or below the goto statement. Special situation
in which goto find use is deeply nested loops or if - else
ladders.
9. break Statement
break statment is a jump statment in C and is generally used
for breaking from a loop or breaking from a case as discussed
in switch stament. Break statement when encountered within a
loop immediately terminates the loop by passing condition check
and execution transfer to the first statment after the loop.
In case of switch it terminates the flow of control from one
case to another.Also one important thing to remember about
break is that it terminates only the innermost switch or loop
construct in case of nested switch and loop variations.
10. continue Statement
continue is a jump statement provided by C. It is analogus to
break statement. Unlike break which breaks the loop, continue
stament forces the next execution of loop bypassing any code
13
in between.For for staments it causes the conditional check
and increment of loop variable, for while and do-while it
passes the control to the conditon check jumping all the
statements in between. Continue plays an important role in
efficiently applying certain algorithms.
4. What is a macro? Explain with examples.
A macro is a fragment of code which has been given a
name. Whenever the name is used, it is replaced by the
contents of the macro. There are two kinds of macros. They
differ mostly in what they look like when they are used.
Object-like macros resemble data objects when used,
function-like macros resemble function calls. You may define
any valid identifier as a macro, even if it is a C keyword. The
preprocessor does not know anything about keywords. This can
be useful if you wish to hide a keyword such as const from an
older compiler that does not understand it. An object-like
macro is a simple identifier which will be replaced by a code
fragment. It is called object-like because it looks like a data
object in code that uses it. They are most commonly used to
give symbolic names to numeric constants. You create macros
with the `#define' directive. `#define' is followed by the name
of the macro and then the token sequence it should be an
abbreviation for, which is variously referred to as the macro's
body, expansion or replacement list. For example,
#define BUFFER_SIZE 1024
14
defines a macro named BUFFER_SIZE as an abbreviation for the
token 1024. If somewhere after this `#define' directive there
comes a C statement of the form
foo = (char *) malloc (BUFFER_SIZE);
then the C preprocessor will recognize and expand the macro
BUFFER_SIZE. The C compiler will see the same tokens as it
would if you had written
foo = (char *) malloc (1024);
You can also define macros whose use looks like a function
call. These are called function-like macros. To define a
function-like macro, you use the same `#define' directive, but
you put a pair of parentheses immediately after the macro
name. For example,
#define lang_init() c_init()
lang_init()
==> c_init()
A function-like macro is only expanded if its name appears
with a pair of parentheses after it. If you write just the
name, it is left alone. This can be useful when you have a
function and a macro of the same name, and you wish to use
the function sometimes.
5. What is a function? Explain with examples.
15
A function in C language is a block of code that
performs a specific task. It has a name and it is reusable i.e.
it can be executed from as many different parts in a C
Program as required. It also optionally returns a value to the
calling programEvery function has a unique name. This name is
used to call function from “main()” function. A function can
be called from within another function. A function is
independent and it can perform its task without intervention
from or interfering with other parts of the program. A
function performs a specific task. A task is a distinct job that
your program must perform as a part of its overall operation,
such as adding two or more integer, sorting an array into
numerical order, or calculating a cube root etc. A function
returns a value to the calling program. This is optional and
depends upon the task your function is going to accomplish.
Suppose you want to just show few lines through function then
it is not necessary to return a value. But if you are
calculating area of rectangle and wanted to use result
somewhere in program then you have to send back (return)
value to the calling function.
Structure of a Function
A general form of a C function looks like this:
<return type> FunctionName (Argument1, Argument2,
Argument3……)
{
Statement1;
16
Statement2;
Statement3;
}
An example of function.
int sum (int x, int y)
{
int result;
result = x + y;
return (result);
}
6. Discuss bitwise operators.
There are three major bitwise operators that can be used
to combine two numbers: AND, OR, and XOR. When I say that
an operator is bitwise, it means that the operation is actually
applied separately to each bit of the two values being
combined. For example, if x = y AND z, that means that bit 0
of x is actually bit 0 of y ANDed with bit 0 of z. Make
sense? Let's look at each operator in turn and see how they
work. Once we've been through all of that, we'll be in a
position to come up with some practical applications of each.
The AND Operator
17
There are two kinds of AND operators in the C language: the
logical AND, and the bitwise AND. The former is represented
by the && operator, and the latter uses the & operator.
You've probably seen the first one numerous times, as it's
often used in if statements. Here's an example of the logical
AND in action:
if ((x == 5) && (y == 7))
DoSomething();
In this case, you would expect that the function will only be
called if x is 5 and y is 7. The bitwise AND works very much
the same way, except that it works with two bits instead of
two expressions. The bitwise AND operation returns 1 if and
only if both of its operands are equal to 1. In other words,
we have the following truth table for the bitwise AND:
0 AND 0
= 0
0 AND 1
= 0
x AND 0
= 0
1 AND 0
= 0
x AND 1
= x
1 AND 1
= 1
The first column shows the result of a bitwise AND when
combining explicitly defined bits. But it's the second column
18
that's interesting. It says that if you AND any bit with 0, the
result is 0; and if you AND any bit with 1, the result is the
original bit. This little piece of information will be the key to
making the bitwise AND work for us later, so keep it in mind.
To finish up, let's see an example of combining two words
using the bitwise AND operator:
0110 1011 1000 0101
& 0001 1111 1011 1001
---------------------
0000 1011 1000 0001
Do you see why we get the result we do? There is a 1 in the
result only in the positions where the corresponding bits in
both operands are also equal to 1. That's all there is to the
bitwise AND operation. Let's move on.
The OR Operator
Just as with the AND operation, there are two different types
of OR in the C language. The logical OR uses the || operator,
and the bitwise OR uses the | operator. A use of the logical
OR might look something like this:
if ((x == 5) || (y == 7))
DoSomething();
In this example, the function will be called if x is 5, if y is 7,
or both. The only way the function is not called is if both of
19
the conditions are false. The bitwise OR is very similar, in that
it returns 0 if and only if both of its operands are 0. To
illustrate this, we have the following truth table:
0 OR 0
= 0
0 OR 1
= 1
x OR 0
= x
1 OR 0
= 1
x OR 1
= 1
1 OR 1 =
1
Once again, the second column is the interesting one. Note
that whenever you OR a bit with 0, the result is the original
bit, and whenever you OR a bit with 1, the result will always be
1. This will be the key to using OR effectively a little later on.
For now, let's just look at an example of using the bitwise OR
operation on two words:
0110 1011 1000 0101
| 0001 1111 1011 1001
---------------------
0111 1111 1011 1101
Here you can see that the result contains a 0 only when the
corresponding bits in both of the operands are also 0. Now
we've got just one more combinational operator to look at,
and that's XOR.
20
The XOR Operator
The XOR is a little strange because there is no logical
equivalent for it in C, even though many languages include
one. The XOR operation is symbolized by the ^ character in C.
The term XOR stands for "exclusive OR," and means "one or
the other, but not both." In other words, XOR returns 1 if
and only if exactly one of its operands is 1. If both operands
are 0, or both are 1, then XOR returns 0. To see this, take a
look at the truth table for XOR:
0 XOR 0
= 0
0 XOR 1
= 1
x XOR 0
= x
1 XOR 0
= 1
x XOR 1 =
~x
1 XOR 1
= 0
The truth table here is interesting. Note from the first column
that anything XORed with itself returns 0. This fact will lead
to an interesting application of XOR later on. In the second
column, we see that any bit XORed with 0 yields the original
bit, and any bit XORed with 1 yields the complement of the
original bit. This is something you may not have seen before:
the bitwise NOT. It is a unary operator, meaning that it only
takes one operand, like a negative sign. A bitwise NOT simply
21
inverts all the bits in its operand, meaning that all 0s are
changed to 1s, and vice versa. Now, let's take a look at an
example of using XOR on two words:
0110 1011 1000 0101
^ 0001 1111 1011 1001
---------------------
0111 0100 0011 1100
So there you have it, the last of the combinational operators,
plus the only unary bitwise operator, the NOT. Before we can
look at any applications of these, there is one other class of
bitwise operator I need to show you, called shifts. Don't
worry, this will go pretty quickly, and then we can get on to
the interesting stuff.
7. Write an algorithm to find all numbers which are divisible by
3 but not divisible by 6 and draw a flowchart.
1) Get the minimum number
2) get the maximum number
3) start at the minimum number
4) is it divisible by three but not by six?
If yes, jump to step 5
If no, increment by 1 and repeat step 4
22
5) output the current number
6) increment the number by six
7)is it greater than or equal to our maximum number?
if yes, end the program
if no, jump to step 5
8. Differentiate switch statement and nested if statement.
At the code phase, the "switch" statement is used when you
need to "select" between one or more decisions according to
a "completely defined control signal". The "If, else" statement
is much more appropriate for logic and boolean comparisons
rather than equality.
At the compilation phase, the "if" statement is converted to
some sort of "load, compare, and jump" instructions, while the
"switch" statement is converted to a hash table, thus it should
be faster than the "if, else" statement for long list of
comparisons, since it will point and jump directly to the part
of code to get executed.
Nested if-else statements are used in the program's
logic where there isn't only one condition to evaluate. A
switch statement, on the other hand, evaluates only one
variable and starts to work there. You can think of a switch
statement as a simplified (and stripped-down) version of an
23
if-else block.
switch(x) {
case 1: // do this
case 2: // do this
case 3: // do this
// etc
}
The nested if-else statement's power comes from the fact
that it is able to evaluate more than one condition at once,
and/or use lots of different conditions in one logical
structure.
if(x == 0) {
// do this
} else if(y == 1) {
// do this
} else if(x == 1 && y == 0) {
// do this
}
If you're going to evaluate only one variable in the condition
statement, you're better off going with a switch statement,
since it looks a lot neater than nested ifs. However, like in
the case above, there are times where the only structure you
24
could use is an if-else block, so you don't have much of a
choice.
9. What is an array? Explain with examples.
The C language provides a capability that enables the
user to define a set of ordered data items known as an
array.Suppose we had a set of grades that we wished to read
into the computer and suppose we wished to perform some
operations on these grades, we will quickly realize that we
cannot perform such an operation until each and every grade
has been entered since it would be quite a tedious task to
declare each and every student grade as a variable especially
since there may be a very large number.
In C we can define variable called grades, which represents
not a single value of grade but a entire set of grades. Each
element of the set can then be referenced by means of a
number called as index number or subscript.
/* Program to count the no of positive and negative
numbers*/
#include< stdio.h >
void main( )
{
int a[50],n,count_neg=0,count_pos=0,I;
printf(“Enter the size of the arrayn”);
scanf(“%d”,&n);
25
printf(“Enter the elements of the arrayn”);
for I=0;I < n;I++)
scanf(“%d”,&a[I]);
for(I=0;I < n;I++)
{
if(a[I] < 0)
count_neg++;
else
count_pos++;
}
printf(“There are %d negative numbers in the
arrayn”,count_neg);
printf(“There are %d positive numbers in the
arrayn”,count_pos);
}
10. Differentiate iteration and recursion
In Iteration, we specifically run a loop, such that, the
second run of the loop makes use of the computation/result
from the first run, the third run (or iteration) makes use of
the result from the second run and so on. Hence, in
Iteration, the n th run of the loop makes use of the result
from the n-1 th run.
Consider the following example for calculating the
summation, which we will denote as sum(n), meaning n + n-1 +
26
n-2 + n-3 + ... + 2 + 1 + 0. Hence, sum(5) = 5+4+3+2+1+0 =
15.
# When a recursive call is made, the method/process copies
or clones itself, making new copy of:
* the code
* the local variables (with their
initial values),
* the parameters
# Each copy of the code includes a marker indicating
the current position. When a recursive call is made, the marker
in the old copy of the code is just after the call; the marker
in the "cloned" copy is at the beginning of the method.
# When the method returns, that clone goes away,
but the previous ones are still there, and know what to
execute next because their current position in the code was
saved
Now this involves a great overhead in terms of space and as
well as in time also as each function call takes extra time.
2. Iteration : there is no recursive call involved that saves a
lot of time and space too as no extra space is needed to
store each copy generated in recursion.
27
Iterative codes usually refers to codes that contain explicit
iteration processes, that is, loops.
A loop must have some sort of stopping criterion. Usually it
is of one of two type:
1. predetermined number of iterations through the loop;
2. an error tolerance that is achieved.

More Related Content

What's hot

nuts and bolts of c++
nuts and bolts of c++nuts and bolts of c++
nuts and bolts of c++guestfb6ada
 
Flow of control C ++ By TANUJ
Flow of control C ++ By TANUJFlow of control C ++ By TANUJ
Flow of control C ++ By TANUJTANUJ ⠀
 
Control Structures in Visual Basic
Control Structures in  Visual BasicControl Structures in  Visual Basic
Control Structures in Visual BasicTushar Jain
 
Cprogrammingprogramcontrols
CprogrammingprogramcontrolsCprogrammingprogramcontrols
Cprogrammingprogramcontrolsteach4uin
 
10. switch case
10. switch case10. switch case
10. switch caseWay2itech
 
Looping and switch cases
Looping and switch casesLooping and switch cases
Looping and switch casesMeoRamos
 
Vb decision making statements
Vb decision making statementsVb decision making statements
Vb decision making statementspragya ratan
 
Switch Case in C Programming
Switch Case in C ProgrammingSwitch Case in C Programming
Switch Case in C ProgrammingSonya Akter Rupa
 
Ch5 Selection Statements
Ch5 Selection StatementsCh5 Selection Statements
Ch5 Selection StatementsSzeChingChen
 
C# language basics (Visual studio)
C# language basics (Visual studio)C# language basics (Visual studio)
C# language basics (Visual studio)rnkhan
 
Decision Making and Branching in C
Decision Making and Branching  in CDecision Making and Branching  in C
Decision Making and Branching in CRAJ KUMAR
 
Cpu-fundamental of C
Cpu-fundamental of CCpu-fundamental of C
Cpu-fundamental of CSuchit Patel
 
C presentation! BATRA COMPUTER CENTRE
C presentation! BATRA  COMPUTER  CENTRE C presentation! BATRA  COMPUTER  CENTRE
C presentation! BATRA COMPUTER CENTRE jatin batra
 
Control structures in Java
Control structures in JavaControl structures in Java
Control structures in JavaRavi_Kant_Sahu
 
C Control Statements.docx
C Control Statements.docxC Control Statements.docx
C Control Statements.docxJavvajiVenkat
 

What's hot (20)

Flow of Control
Flow of ControlFlow of Control
Flow of Control
 
nuts and bolts of c++
nuts and bolts of c++nuts and bolts of c++
nuts and bolts of c++
 
Flow of control C ++ By TANUJ
Flow of control C ++ By TANUJFlow of control C ++ By TANUJ
Flow of control C ++ By TANUJ
 
Control Structures in Visual Basic
Control Structures in  Visual BasicControl Structures in  Visual Basic
Control Structures in Visual Basic
 
Cprogrammingprogramcontrols
CprogrammingprogramcontrolsCprogrammingprogramcontrols
Cprogrammingprogramcontrols
 
10. switch case
10. switch case10. switch case
10. switch case
 
Looping and switch cases
Looping and switch casesLooping and switch cases
Looping and switch cases
 
Vb decision making statements
Vb decision making statementsVb decision making statements
Vb decision making statements
 
Switch Case in C Programming
Switch Case in C ProgrammingSwitch Case in C Programming
Switch Case in C Programming
 
Ch5 Selection Statements
Ch5 Selection StatementsCh5 Selection Statements
Ch5 Selection Statements
 
C# language basics (Visual studio)
C# language basics (Visual studio)C# language basics (Visual studio)
C# language basics (Visual studio)
 
Final requirement
Final requirementFinal requirement
Final requirement
 
Decision Making and Branching in C
Decision Making and Branching  in CDecision Making and Branching  in C
Decision Making and Branching in C
 
Cpu-fundamental of C
Cpu-fundamental of CCpu-fundamental of C
Cpu-fundamental of C
 
C presentation! BATRA COMPUTER CENTRE
C presentation! BATRA  COMPUTER  CENTRE C presentation! BATRA  COMPUTER  CENTRE
C presentation! BATRA COMPUTER CENTRE
 
Decisions
DecisionsDecisions
Decisions
 
Control structures in Java
Control structures in JavaControl structures in Java
Control structures in Java
 
C Control Statements.docx
C Control Statements.docxC Control Statements.docx
C Control Statements.docx
 
Declaration of variables
Declaration of variablesDeclaration of variables
Declaration of variables
 
Control Structures: Part 1
Control Structures: Part 1Control Structures: Part 1
Control Structures: Part 1
 

Viewers also liked

6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loops6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loopsCtOlaf
 
Bca ii dfs u-4 sorting and searching structure
Bca ii dfs u-4 sorting and searching structureBca ii dfs u-4 sorting and searching structure
Bca ii dfs u-4 sorting and searching structureRai University
 
Data Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithmsData Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithmsAbdullah Al-hazmy
 
(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sortingFadhil Ismail
 
9. Searching & Sorting - Data Structures using C++ by Varsha Patil
9. Searching & Sorting - Data Structures using C++ by Varsha Patil9. Searching & Sorting - Data Structures using C++ by Varsha Patil
9. Searching & Sorting - Data Structures using C++ by Varsha Patilwidespreadpromotion
 

Viewers also liked (6)

6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loops6. using control structures, conditional statements and loops
6. using control structures, conditional statements and loops
 
Bca ii dfs u-4 sorting and searching structure
Bca ii dfs u-4 sorting and searching structureBca ii dfs u-4 sorting and searching structure
Bca ii dfs u-4 sorting and searching structure
 
Data Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithmsData Structures- Part4 basic sorting algorithms
Data Structures- Part4 basic sorting algorithms
 
Computer Programming_Unit 1
Computer Programming_Unit 1Computer Programming_Unit 1
Computer Programming_Unit 1
 
(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting
 
9. Searching & Sorting - Data Structures using C++ by Varsha Patil
9. Searching & Sorting - Data Structures using C++ by Varsha Patil9. Searching & Sorting - Data Structures using C++ by Varsha Patil
9. Searching & Sorting - Data Structures using C++ by Varsha Patil
 

Similar to Bt0067 c programming and data structures 1

Cse lecture-6-c control statement
Cse lecture-6-c control statementCse lecture-6-c control statement
Cse lecture-6-c control statementFarshidKhan
 
Decision statements in c language
Decision statements in c languageDecision statements in c language
Decision statements in c languagetanmaymodi4
 
Decision statements in c laguage
Decision statements in c laguageDecision statements in c laguage
Decision statements in c laguageTanmay Modi
 
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDYC UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDYRajeshkumar Reddy
 
Android Application Development - Level 3
Android Application Development - Level 3Android Application Development - Level 3
Android Application Development - Level 3Isham Rashik
 
C# language basics (Visual Studio)
C# language basics (Visual Studio) C# language basics (Visual Studio)
C# language basics (Visual Studio) rnkhan
 
[C++][a] tutorial 2
[C++][a] tutorial 2[C++][a] tutorial 2
[C++][a] tutorial 2yasir_cesc
 
Library management system
Library management systemLibrary management system
Library management systemSHARDA SHARAN
 
Password protected diary
Password protected diaryPassword protected diary
Password protected diarySHARDA SHARAN
 
LOOPING IN C- PROGRAMMING.pptx
LOOPING IN C- PROGRAMMING.pptxLOOPING IN C- PROGRAMMING.pptx
LOOPING IN C- PROGRAMMING.pptxAFANJIPHILL
 
Jumping statements
Jumping statementsJumping statements
Jumping statementsSuneel Dogra
 

Similar to Bt0067 c programming and data structures 1 (20)

Programming in Arduino (Part 2)
Programming in Arduino  (Part 2)Programming in Arduino  (Part 2)
Programming in Arduino (Part 2)
 
Cse lecture-6-c control statement
Cse lecture-6-c control statementCse lecture-6-c control statement
Cse lecture-6-c control statement
 
Decision statements in c language
Decision statements in c languageDecision statements in c language
Decision statements in c language
 
Decision statements in c laguage
Decision statements in c laguageDecision statements in c laguage
Decision statements in c laguage
 
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDYC UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
C UNIT-2 PREPARED Y M V BRAHMANANDA REDDY
 
Android Application Development - Level 3
Android Application Development - Level 3Android Application Development - Level 3
Android Application Development - Level 3
 
C# language basics (Visual Studio)
C# language basics (Visual Studio) C# language basics (Visual Studio)
C# language basics (Visual Studio)
 
C programming session3
C programming  session3C programming  session3
C programming session3
 
C programming session3
C programming  session3C programming  session3
C programming session3
 
C Programming Unit-2
C Programming Unit-2C Programming Unit-2
C Programming Unit-2
 
[C++][a] tutorial 2
[C++][a] tutorial 2[C++][a] tutorial 2
[C++][a] tutorial 2
 
Lecture 2
Lecture 2Lecture 2
Lecture 2
 
C Language Presentation.pptx
C Language Presentation.pptxC Language Presentation.pptx
C Language Presentation.pptx
 
Unit 1
Unit 1Unit 1
Unit 1
 
Library management system
Library management systemLibrary management system
Library management system
 
Password protected diary
Password protected diaryPassword protected diary
Password protected diary
 
LOOPING IN C- PROGRAMMING.pptx
LOOPING IN C- PROGRAMMING.pptxLOOPING IN C- PROGRAMMING.pptx
LOOPING IN C- PROGRAMMING.pptx
 
Jumping statements
Jumping statementsJumping statements
Jumping statements
 
Final requirement
Final requirementFinal requirement
Final requirement
 
C# AND F#
C# AND F#C# AND F#
C# AND F#
 

More from Techglyphs

Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2Techglyphs
 
Bt9002 grid computing 1
Bt9002 grid computing 1Bt9002 grid computing 1
Bt9002 grid computing 1Techglyphs
 
Bt8901 objective oriented systems2
Bt8901 objective oriented systems2Bt8901 objective oriented systems2
Bt8901 objective oriented systems2Techglyphs
 
Bt0062 fundamentals of it(1)
Bt0062 fundamentals of it(1)Bt0062 fundamentals of it(1)
Bt0062 fundamentals of it(1)Techglyphs
 
Bt0062 fundamentals of it(2)
Bt0062 fundamentals of it(2)Bt0062 fundamentals of it(2)
Bt0062 fundamentals of it(2)Techglyphs
 
Bt0064 logic design1
Bt0064 logic design1Bt0064 logic design1
Bt0064 logic design1Techglyphs
 
Bt0064 logic design2
Bt0064 logic design2Bt0064 logic design2
Bt0064 logic design2Techglyphs
 
Bt0066 database management system1
Bt0066 database management system1Bt0066 database management system1
Bt0066 database management system1Techglyphs
 
Bt0066 database management system2
Bt0066 database management system2Bt0066 database management system2
Bt0066 database management system2Techglyphs
 
Bt0067 c programming and data structures2
Bt0067 c programming and data structures2Bt0067 c programming and data structures2
Bt0067 c programming and data structures2Techglyphs
 
Bt0068 computer organization and architecture
Bt0068 computer organization and architecture Bt0068 computer organization and architecture
Bt0068 computer organization and architecture Techglyphs
 
Bt0068 computer organization and architecture 2
Bt0068 computer organization and architecture 2Bt0068 computer organization and architecture 2
Bt0068 computer organization and architecture 2Techglyphs
 
Bt0070 operating systems 1
Bt0070 operating systems  1Bt0070 operating systems  1
Bt0070 operating systems 1Techglyphs
 
Bt0070 operating systems 2
Bt0070 operating systems  2Bt0070 operating systems  2
Bt0070 operating systems 2Techglyphs
 
Bt0072 computer networks 1
Bt0072 computer networks  1Bt0072 computer networks  1
Bt0072 computer networks 1Techglyphs
 
Bt0072 computer networks 2
Bt0072 computer networks  2Bt0072 computer networks  2
Bt0072 computer networks 2Techglyphs
 
Bt0074 oops with java2
Bt0074 oops with java2Bt0074 oops with java2
Bt0074 oops with java2Techglyphs
 
Bt0074 oops with java
Bt0074 oops with javaBt0074 oops with java
Bt0074 oops with javaTechglyphs
 
Bt0075 rdbms with mysql 1
Bt0075 rdbms with mysql 1Bt0075 rdbms with mysql 1
Bt0075 rdbms with mysql 1Techglyphs
 
Bt0075 rdbms with mysql 2
Bt0075 rdbms with mysql 2Bt0075 rdbms with mysql 2
Bt0075 rdbms with mysql 2Techglyphs
 

More from Techglyphs (20)

Bt9002 Grid computing 2
Bt9002 Grid computing 2Bt9002 Grid computing 2
Bt9002 Grid computing 2
 
Bt9002 grid computing 1
Bt9002 grid computing 1Bt9002 grid computing 1
Bt9002 grid computing 1
 
Bt8901 objective oriented systems2
Bt8901 objective oriented systems2Bt8901 objective oriented systems2
Bt8901 objective oriented systems2
 
Bt0062 fundamentals of it(1)
Bt0062 fundamentals of it(1)Bt0062 fundamentals of it(1)
Bt0062 fundamentals of it(1)
 
Bt0062 fundamentals of it(2)
Bt0062 fundamentals of it(2)Bt0062 fundamentals of it(2)
Bt0062 fundamentals of it(2)
 
Bt0064 logic design1
Bt0064 logic design1Bt0064 logic design1
Bt0064 logic design1
 
Bt0064 logic design2
Bt0064 logic design2Bt0064 logic design2
Bt0064 logic design2
 
Bt0066 database management system1
Bt0066 database management system1Bt0066 database management system1
Bt0066 database management system1
 
Bt0066 database management system2
Bt0066 database management system2Bt0066 database management system2
Bt0066 database management system2
 
Bt0067 c programming and data structures2
Bt0067 c programming and data structures2Bt0067 c programming and data structures2
Bt0067 c programming and data structures2
 
Bt0068 computer organization and architecture
Bt0068 computer organization and architecture Bt0068 computer organization and architecture
Bt0068 computer organization and architecture
 
Bt0068 computer organization and architecture 2
Bt0068 computer organization and architecture 2Bt0068 computer organization and architecture 2
Bt0068 computer organization and architecture 2
 
Bt0070 operating systems 1
Bt0070 operating systems  1Bt0070 operating systems  1
Bt0070 operating systems 1
 
Bt0070 operating systems 2
Bt0070 operating systems  2Bt0070 operating systems  2
Bt0070 operating systems 2
 
Bt0072 computer networks 1
Bt0072 computer networks  1Bt0072 computer networks  1
Bt0072 computer networks 1
 
Bt0072 computer networks 2
Bt0072 computer networks  2Bt0072 computer networks  2
Bt0072 computer networks 2
 
Bt0074 oops with java2
Bt0074 oops with java2Bt0074 oops with java2
Bt0074 oops with java2
 
Bt0074 oops with java
Bt0074 oops with javaBt0074 oops with java
Bt0074 oops with java
 
Bt0075 rdbms with mysql 1
Bt0075 rdbms with mysql 1Bt0075 rdbms with mysql 1
Bt0075 rdbms with mysql 1
 
Bt0075 rdbms with mysql 2
Bt0075 rdbms with mysql 2Bt0075 rdbms with mysql 2
Bt0075 rdbms with mysql 2
 

Recently uploaded

ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 

Recently uploaded (20)

ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 

Bt0067 c programming and data structures 1

  • 1. 1 C Programming and Data Structures BT0067 Part-2 By Milan K Antony
  • 2. 2  Differentiate string type and character type constants. Individual character constants are represented by single- quotes, e.g. 'A', and have type int (in C++ char). The difference is that "A" represents a pointer to the first element of a null-terminated array, whereas 'A' directly represents the code value (65 if ASCII is used). The same backslash-escapes are supported as for strings, except that (of course) " can validly be used as a character without being escaped, whereas ' must now be escaped. A character constant cannot be empty (i.e. '' is invalid syntax), although a string may be (it still has the null terminating character). Multi- character constants (e.g. 'xy') are valid, although rarely useful — they let one store several characters in an integer (e.g. 4 ASCII characters can fit in a 32-bit integer, 8 in a 64-bit one). Since the order in which the characters are packed into one int is not specified, portable use of multi- character constants is difficult. In C, string literals (constants) are surrounded by double quotes ("), e.g. "Hello world!" and are compiled to an array of the specified char values with an additional null terminating character (0-valued) code to mark the end of the string.String literals may not contain embedded newlines; this proscription somewhat simplifies parsing of the language. To
  • 3. 3 include a newline in a string, the backslash escape n may be used, as below. 2. Write an algorithm to find the bus fare based on distance traveled as per the following rates: a. Rs.5.00 for first 2 kms. b. Rs.2.50 for every additional 2 kms. Draw a flowchart to find the fare. 3. Explain different iterative statements.
  • 4. 4 A C Program is made up of statements. Statement is a part of your program that can be executed. In other words every statement in your program alone or in combination specifies an action to performed by your program. C provides variety of statements to help you attain any function with maximum flexibility and efficency. One of the reason for popularity of C is because of the extreme power provided to programmer in C due to it rich and diverse set of statements define in C. For becoming a top notch programmer you must have clear understanding of the C statments and the situations where staments in C are applicable. 1. Types Of Statements Staments in C are categorized into following types- 1. Selection/Conditional Statement - They decide the flow of statements on based on evaluation of results of conditons. if - else and switch statements come under this category. 2. Iteration Statements - These are used to run a particluar block statments repeatedly or in other words form a loop. for, while and do-while statements come under this category. 3. Jump Statements - The are used to make the flow of your statments from one point to another. break, continue, goto and return come under this category. 4. Label Statements - These are used as targets/waypoints for jump and selection statements. case (discussed with switch) and label (discussed with goto) come under this category 5. Expression Statements
  • 5. 5 - Any valid expression makes an expression statement. 6. Block Statement - A group of staments which are binded together to form a logic are called block statemetns. Block statement begins with a { and ends with a }. Below we discuss each types of statements in detail with all thier variant forms. Block Statements 2. if - else Statement if - else statement is a selection statement. It selects one piece of code for execution among two on basis of a outcome of a conditonal logic. The piece of code being refer here can be a s tament, a block statement or even a empty statement depending upon the logic of your program. Conditon here evaluates to true or false ie. zero or non-zero in c respectively.It can be any valid data type which can be interpreted by C compiler as 1 or 0. If the code evaluates to be true the one assosiated with if is executed otherwise one associated with else is executed. Hence the if - else statment helps the programmer in controlling the flow of statements in his program. The important thing to note is code of if and else block are inversely related in logic ie. either code of if block or code of else block will be executed never both. Also in a professionally written code if the variable alone is able to control the condtion using a comparison is considered a bad style. For example say i an integer variable can attain any value then this value can be directly interpreted as zero
  • 6. 6 or non-zero and is sufficient to control the loop. In this case conditons like (i == 0) or (i != 0) are considered bad programming style and should be avoided. Here is a code showing the if - else statement in action – One property of if -else statement is that they can be nested. This means that if statement can be target of another if statement. C89 specifies that compiler must support 15 levels of nesting and C -99 increase that number to 127 but in reality most compilers allow a large number of nesting much much greater than defined in C. In a nested else statement is assosiate with nearest if statement. This association can be change by used of code block. Also you should use proper indenting in your program to make sure you remove any visual ambiguity/ Another popular variant of if-else statement is if-else ladder in this we create a series of generally one level deep. It has a special property that when any one of the condition statement is found to be true only statement associate with the if having that condition true is executed and all other statements in the ladder are by-passed. If none of the conditions evaluate to be true then the final statement associated with else is executed if present. Also it is recommended to use standard identation pattern.
  • 7. 7 Another option to if-else statement is ternary operator ? (Question Mark) discussed under Expressions. 3. switch Statement switch is a selection statement provided by C. It has a buil in multiple - branch structure and work similar to if else ladder generally. The input value to to the switch statemetnt construct is a int or char variable. Note that no float or any other data is allowed. This input variable is compared against a group of integer constant. All the statments in and after the case in which thier is a match is executed until a break statement is encountered or end of switch is reached. We are also allowed to give a default case which will be executed if no other statement match is found. Also use of standard indenting is recommended. 4. for Statement for statement is one of the iteration statement provided by C. It is the most popular of all iteration statments because it provides unmatched flexiblity and power to the program. Loops generated by for statement is are also called entry controlled or close ended because the condition for iteration
  • 8. 8 of loop is check at the starting of the loop and loop will not execute even once if the conditon will to satisfy even once. for statement declaration as shown above can be divided into 3 parts - 1. Intialization - In this we intialize the loop control value to a starting value. Also C99 like C++ permits the declaration of loop control variable whose scope is only the for block. 2. Condition - In this evaluate the condition for the iteration of the loop and loop repeat only when this is true. 3. Increment - In this we determine how the value of loop control value changes with each iteration of the loop. It can be increment, decrement or any mathematical expression. Also statement in above form can be a single statement, block statement or a blank statement. There are many variations or mutant forms of for loop which can be created enhancing the general for loops flexibility and power. Multiple loop control variable - In this form more than 1 loop control variable is used to control the execution of loop. The multiple statements are combined together using comma operator. The possible use is shown in the following source
  • 9. 9 code in which we generate numbers from 0 to 50 using two loop control Missing Parts - In a for statement declaration any or all of the three parts of the statement are optional and can be replaced by blank statements. Its show in the code be#include <stdio.h> 3.Infinite loop - In this a non - ending infinte loop is formed by removing all three parts of the for statement. This loop can only be stopped if a break statement is encountered inside the body of the loop. Infinite loop find use in many algorithms such as game programming engin#include <stdio.h>  No Body Loop - In this variation the body of the loop does not exist. It maybe used in special circumstances such as in which body of loop is not needed. For example the code below shows a loop which moves the input string pointer to a character in the same string removing the unwanted intial white spaces. Many new variations can be obtained by combining variations above. For loop is most widely use loop statement and its should be clear now why it is so. 5. while Statement while is an iteration statement available in C. It is used to create loops. While produce entry controlled loops ie. loops in which condition check is performed at starting.
  • 10. 10 Above condition is any valid expression which evaluates to zero or non - zero and statement can be a single statement, block statement or empty statement. Also if you want to run loop forever you can write condition 1 and if you want it to never run you can write condition 0. While like for can be made without any bodies for specific purposes. Also unlike for the increment has to been inside the statement block and initalization outside the while statement block. 6. do - while Statment do - while is also iteration statement provided by C. It is similar to while but has many diffrent properties. It is an exit controlled loop which means that condition for next loop iteration is checked at bottom of the loop. This makes sure that the do-while loop will run atleast once.Curly brackets are not required if statment is blank or single but they are recommended in every case to avoid confusion. Conditional as usual is vaild expression statement which evaluates to zero or non-zero. The loop will continue to run till the conditions evaluates to non - zero. As in while increment part should be contained inside loop and intialization should be outside loop. One the most important use of do-while is menus where you want menu to run atleast once and also until user chooses a valid choice. 7. return Statement
  • 11. 11 return is a jump statement in c. It is used to return from the executing function to the function which called this executing function. If encounter in main the program exits and return to the operating system or the source from which it was called from. Return statement also has a special property that it can return a value with it to the calling function if the fuunction is declared non - void. Void functions are the one which are explicitly declared not to return a value and hence a return statement with value when encountered in such a function leads to an error by compiler. Also a function declared non-void should always return a value of the respective type. Some compiler allow a relaxation which could lead to severe problems, they return garbage value if a return statement containing the value is not found in the function. You should always make sure such a situation never happens. 8. goto Statement goto statement is a jump staments and is perhaps the most controversial feature in C. Goto in unstructured language such as basic was indispensable and the soul of the programming lanugage but in a structured language they are critcized beyond limit. The critics say that due to other jump statements in c goto is not all required and more over it destoys the structure of your program and make it unreadable. But on other hand goto statement of C provides
  • 12. 12 some very powerfull programming options in very compicated situation. This tutorial will take an neutral stand in such an argument and neither recommend nor discourage use of goto. Goto is used for jumping from one point to another point in your function. You can not jump from one function to another. Jump points or way points for goto are marked by label statements. Label statement can be anywhere in the function above or below the goto statement. Special situation in which goto find use is deeply nested loops or if - else ladders. 9. break Statement break statment is a jump statment in C and is generally used for breaking from a loop or breaking from a case as discussed in switch stament. Break statement when encountered within a loop immediately terminates the loop by passing condition check and execution transfer to the first statment after the loop. In case of switch it terminates the flow of control from one case to another.Also one important thing to remember about break is that it terminates only the innermost switch or loop construct in case of nested switch and loop variations. 10. continue Statement continue is a jump statement provided by C. It is analogus to break statement. Unlike break which breaks the loop, continue stament forces the next execution of loop bypassing any code
  • 13. 13 in between.For for staments it causes the conditional check and increment of loop variable, for while and do-while it passes the control to the conditon check jumping all the statements in between. Continue plays an important role in efficiently applying certain algorithms. 4. What is a macro? Explain with examples. A macro is a fragment of code which has been given a name. Whenever the name is used, it is replaced by the contents of the macro. There are two kinds of macros. They differ mostly in what they look like when they are used. Object-like macros resemble data objects when used, function-like macros resemble function calls. You may define any valid identifier as a macro, even if it is a C keyword. The preprocessor does not know anything about keywords. This can be useful if you wish to hide a keyword such as const from an older compiler that does not understand it. An object-like macro is a simple identifier which will be replaced by a code fragment. It is called object-like because it looks like a data object in code that uses it. They are most commonly used to give symbolic names to numeric constants. You create macros with the `#define' directive. `#define' is followed by the name of the macro and then the token sequence it should be an abbreviation for, which is variously referred to as the macro's body, expansion or replacement list. For example, #define BUFFER_SIZE 1024
  • 14. 14 defines a macro named BUFFER_SIZE as an abbreviation for the token 1024. If somewhere after this `#define' directive there comes a C statement of the form foo = (char *) malloc (BUFFER_SIZE); then the C preprocessor will recognize and expand the macro BUFFER_SIZE. The C compiler will see the same tokens as it would if you had written foo = (char *) malloc (1024); You can also define macros whose use looks like a function call. These are called function-like macros. To define a function-like macro, you use the same `#define' directive, but you put a pair of parentheses immediately after the macro name. For example, #define lang_init() c_init() lang_init() ==> c_init() A function-like macro is only expanded if its name appears with a pair of parentheses after it. If you write just the name, it is left alone. This can be useful when you have a function and a macro of the same name, and you wish to use the function sometimes. 5. What is a function? Explain with examples.
  • 15. 15 A function in C language is a block of code that performs a specific task. It has a name and it is reusable i.e. it can be executed from as many different parts in a C Program as required. It also optionally returns a value to the calling programEvery function has a unique name. This name is used to call function from “main()” function. A function can be called from within another function. A function is independent and it can perform its task without intervention from or interfering with other parts of the program. A function performs a specific task. A task is a distinct job that your program must perform as a part of its overall operation, such as adding two or more integer, sorting an array into numerical order, or calculating a cube root etc. A function returns a value to the calling program. This is optional and depends upon the task your function is going to accomplish. Suppose you want to just show few lines through function then it is not necessary to return a value. But if you are calculating area of rectangle and wanted to use result somewhere in program then you have to send back (return) value to the calling function. Structure of a Function A general form of a C function looks like this: <return type> FunctionName (Argument1, Argument2, Argument3……) { Statement1;
  • 16. 16 Statement2; Statement3; } An example of function. int sum (int x, int y) { int result; result = x + y; return (result); } 6. Discuss bitwise operators. There are three major bitwise operators that can be used to combine two numbers: AND, OR, and XOR. When I say that an operator is bitwise, it means that the operation is actually applied separately to each bit of the two values being combined. For example, if x = y AND z, that means that bit 0 of x is actually bit 0 of y ANDed with bit 0 of z. Make sense? Let's look at each operator in turn and see how they work. Once we've been through all of that, we'll be in a position to come up with some practical applications of each. The AND Operator
  • 17. 17 There are two kinds of AND operators in the C language: the logical AND, and the bitwise AND. The former is represented by the && operator, and the latter uses the & operator. You've probably seen the first one numerous times, as it's often used in if statements. Here's an example of the logical AND in action: if ((x == 5) && (y == 7)) DoSomething(); In this case, you would expect that the function will only be called if x is 5 and y is 7. The bitwise AND works very much the same way, except that it works with two bits instead of two expressions. The bitwise AND operation returns 1 if and only if both of its operands are equal to 1. In other words, we have the following truth table for the bitwise AND: 0 AND 0 = 0 0 AND 1 = 0 x AND 0 = 0 1 AND 0 = 0 x AND 1 = x 1 AND 1 = 1 The first column shows the result of a bitwise AND when combining explicitly defined bits. But it's the second column
  • 18. 18 that's interesting. It says that if you AND any bit with 0, the result is 0; and if you AND any bit with 1, the result is the original bit. This little piece of information will be the key to making the bitwise AND work for us later, so keep it in mind. To finish up, let's see an example of combining two words using the bitwise AND operator: 0110 1011 1000 0101 & 0001 1111 1011 1001 --------------------- 0000 1011 1000 0001 Do you see why we get the result we do? There is a 1 in the result only in the positions where the corresponding bits in both operands are also equal to 1. That's all there is to the bitwise AND operation. Let's move on. The OR Operator Just as with the AND operation, there are two different types of OR in the C language. The logical OR uses the || operator, and the bitwise OR uses the | operator. A use of the logical OR might look something like this: if ((x == 5) || (y == 7)) DoSomething(); In this example, the function will be called if x is 5, if y is 7, or both. The only way the function is not called is if both of
  • 19. 19 the conditions are false. The bitwise OR is very similar, in that it returns 0 if and only if both of its operands are 0. To illustrate this, we have the following truth table: 0 OR 0 = 0 0 OR 1 = 1 x OR 0 = x 1 OR 0 = 1 x OR 1 = 1 1 OR 1 = 1 Once again, the second column is the interesting one. Note that whenever you OR a bit with 0, the result is the original bit, and whenever you OR a bit with 1, the result will always be 1. This will be the key to using OR effectively a little later on. For now, let's just look at an example of using the bitwise OR operation on two words: 0110 1011 1000 0101 | 0001 1111 1011 1001 --------------------- 0111 1111 1011 1101 Here you can see that the result contains a 0 only when the corresponding bits in both of the operands are also 0. Now we've got just one more combinational operator to look at, and that's XOR.
  • 20. 20 The XOR Operator The XOR is a little strange because there is no logical equivalent for it in C, even though many languages include one. The XOR operation is symbolized by the ^ character in C. The term XOR stands for "exclusive OR," and means "one or the other, but not both." In other words, XOR returns 1 if and only if exactly one of its operands is 1. If both operands are 0, or both are 1, then XOR returns 0. To see this, take a look at the truth table for XOR: 0 XOR 0 = 0 0 XOR 1 = 1 x XOR 0 = x 1 XOR 0 = 1 x XOR 1 = ~x 1 XOR 1 = 0 The truth table here is interesting. Note from the first column that anything XORed with itself returns 0. This fact will lead to an interesting application of XOR later on. In the second column, we see that any bit XORed with 0 yields the original bit, and any bit XORed with 1 yields the complement of the original bit. This is something you may not have seen before: the bitwise NOT. It is a unary operator, meaning that it only takes one operand, like a negative sign. A bitwise NOT simply
  • 21. 21 inverts all the bits in its operand, meaning that all 0s are changed to 1s, and vice versa. Now, let's take a look at an example of using XOR on two words: 0110 1011 1000 0101 ^ 0001 1111 1011 1001 --------------------- 0111 0100 0011 1100 So there you have it, the last of the combinational operators, plus the only unary bitwise operator, the NOT. Before we can look at any applications of these, there is one other class of bitwise operator I need to show you, called shifts. Don't worry, this will go pretty quickly, and then we can get on to the interesting stuff. 7. Write an algorithm to find all numbers which are divisible by 3 but not divisible by 6 and draw a flowchart. 1) Get the minimum number 2) get the maximum number 3) start at the minimum number 4) is it divisible by three but not by six? If yes, jump to step 5 If no, increment by 1 and repeat step 4
  • 22. 22 5) output the current number 6) increment the number by six 7)is it greater than or equal to our maximum number? if yes, end the program if no, jump to step 5 8. Differentiate switch statement and nested if statement. At the code phase, the "switch" statement is used when you need to "select" between one or more decisions according to a "completely defined control signal". The "If, else" statement is much more appropriate for logic and boolean comparisons rather than equality. At the compilation phase, the "if" statement is converted to some sort of "load, compare, and jump" instructions, while the "switch" statement is converted to a hash table, thus it should be faster than the "if, else" statement for long list of comparisons, since it will point and jump directly to the part of code to get executed. Nested if-else statements are used in the program's logic where there isn't only one condition to evaluate. A switch statement, on the other hand, evaluates only one variable and starts to work there. You can think of a switch statement as a simplified (and stripped-down) version of an
  • 23. 23 if-else block. switch(x) { case 1: // do this case 2: // do this case 3: // do this // etc } The nested if-else statement's power comes from the fact that it is able to evaluate more than one condition at once, and/or use lots of different conditions in one logical structure. if(x == 0) { // do this } else if(y == 1) { // do this } else if(x == 1 && y == 0) { // do this } If you're going to evaluate only one variable in the condition statement, you're better off going with a switch statement, since it looks a lot neater than nested ifs. However, like in the case above, there are times where the only structure you
  • 24. 24 could use is an if-else block, so you don't have much of a choice. 9. What is an array? Explain with examples. The C language provides a capability that enables the user to define a set of ordered data items known as an array.Suppose we had a set of grades that we wished to read into the computer and suppose we wished to perform some operations on these grades, we will quickly realize that we cannot perform such an operation until each and every grade has been entered since it would be quite a tedious task to declare each and every student grade as a variable especially since there may be a very large number. In C we can define variable called grades, which represents not a single value of grade but a entire set of grades. Each element of the set can then be referenced by means of a number called as index number or subscript. /* Program to count the no of positive and negative numbers*/ #include< stdio.h > void main( ) { int a[50],n,count_neg=0,count_pos=0,I; printf(“Enter the size of the arrayn”); scanf(“%d”,&n);
  • 25. 25 printf(“Enter the elements of the arrayn”); for I=0;I < n;I++) scanf(“%d”,&a[I]); for(I=0;I < n;I++) { if(a[I] < 0) count_neg++; else count_pos++; } printf(“There are %d negative numbers in the arrayn”,count_neg); printf(“There are %d positive numbers in the arrayn”,count_pos); } 10. Differentiate iteration and recursion In Iteration, we specifically run a loop, such that, the second run of the loop makes use of the computation/result from the first run, the third run (or iteration) makes use of the result from the second run and so on. Hence, in Iteration, the n th run of the loop makes use of the result from the n-1 th run. Consider the following example for calculating the summation, which we will denote as sum(n), meaning n + n-1 +
  • 26. 26 n-2 + n-3 + ... + 2 + 1 + 0. Hence, sum(5) = 5+4+3+2+1+0 = 15. # When a recursive call is made, the method/process copies or clones itself, making new copy of: * the code * the local variables (with their initial values), * the parameters # Each copy of the code includes a marker indicating the current position. When a recursive call is made, the marker in the old copy of the code is just after the call; the marker in the "cloned" copy is at the beginning of the method. # When the method returns, that clone goes away, but the previous ones are still there, and know what to execute next because their current position in the code was saved Now this involves a great overhead in terms of space and as well as in time also as each function call takes extra time. 2. Iteration : there is no recursive call involved that saves a lot of time and space too as no extra space is needed to store each copy generated in recursion.
  • 27. 27 Iterative codes usually refers to codes that contain explicit iteration processes, that is, loops. A loop must have some sort of stopping criterion. Usually it is of one of two type: 1. predetermined number of iterations through the loop; 2. an error tolerance that is achieved.