ALLInterview.com :: Home Page            
 Advertise your Business Here     
Browse  |   Placement Papers  |   Company  |   Code Snippets  |   Certifications  |   Visa Questions
Post Question  |   Post Answer  |   My Panel  |   Search  |   Articles  |   Topics  |   ERRORS new
   Refer this Site  Refer This Site to Your Friends  Site Map  Bookmark this Site  Set it as your HomePage  Contact Us     Login  |  Sign Up                      
Google
   
 
Categories >> Software >> Programming Languages >> C
 
 


 

 
 C interview questions  C Interview Questions (2253)
 C++ interview questions  C++ Interview Questions (1111)
 VC++ interview questions  VC++ Interview Questions (342)
 Delphi interview questions  Delphi Interview Questions (510)
 Programming Languages AllOther interview questions  Programming Languages AllOther Interview Questions (646)
Question
what is the different between if-else and switch statment
(other than syntax)
 Question Submitted By :: C
I also faced this Question!!     Answer Posted By  
 
Answer
# 1
Simply saying, IF-ELSE can have values based on constraints
where SWITCH can have values based on user choice.
 
Is This Answer Correct ?    144 Yes 30 No
Thiyagu.p
 
Answer
# 2
The main difference between switch - case and if - else is
we can't compare variables.

in the if - else, first the condition is verified,then it
comes to else whereas in the switch - case first it checks
the cases and then it switches to that particular case.
 
Is This Answer Correct ?    127 Yes 27 No
Fazlur Rahaman Naik
 
 
 
Answer
# 3
actually if else is a cndition checking system but the
switch is a selection of user typed type......
& secondly switch does not check all cases but jump directly
on the user interested case but if checkes all.............
 
Is This Answer Correct ?    40 Yes 13 No
Kuldeep Sadhu
 
Answer
# 4
I would like to answer this question from a compiler
perspective. When we have if else or if else tree, we have
many compare instructions ( assembly generated by compiler)
where as switch has only one compare and jump instruction.
If the idea is to does something after comparing the values,
it is always better to go with the switch case than if else
tree.

I would appreciate analyzing the assembly code, with the
same source, with if else tree and switch case statements.
 
Is This Answer Correct ?    49 Yes 28 No
Sujith
 
Answer
# 5
switch has its own pros and cons,

Favours coding style.
From performance point, switch case creates table. It
directly jumps to the required location based on table
contents.

If-else is hard for code-walk
Optimised (please check).
 
Is This Answer Correct ?    33 Yes 16 No
Ananth Kumar
 
Answer
# 6
expressions cannot be used as arguments in switsh, but in
if else any kind of exp can be used...
in the case of checkin a single variable for several values
SWITCH is the BEST.
in all other cases if else holds gud.
 
Is This Answer Correct ?    30 Yes 18 No
Vikky
 
Answer
# 7
The switch branches on one value only, whereas the if-else
tests multiple logical expressions.

So you could say that the switch is a subset of if-else.

The potential difference if that switch is conceptually an
N-way branch point, whereas the if-else is always a
(repeated) binary branch.

However, if you are checking, say, a return code, against a
varied list of possibilities, then the switch can give
greater clarity to source code - and allow simpler addition
of new cases, making it easier for maintenance, as well as
allowing the compiler to generate simpler code.

Simpler code is possible because it can generate a jump
table to perform the multiple comparisons, i.e. in pseudo-code:

_jump_table:
DEFW case1_address
DEFW case1_value
...
DEFW caseN_address
DEFW caseN_value
DEFW NULL /* terminator */

- search _jump_table for case_value
- branch to corresponding case_address, or take default
action if NULL terminator found instead.

In the special case that case1 ... caseN values are
sequential numbers (maybe with a few gaps) then the table
and code can be further simplified as a simple indexed branch:

_jump_table:
DEFW case1_address
...
DEFW default_address /* fill in any holes !*/
...
DEFW caseN_address

- check value is between case1_value and caseN_value
- subtract case1_value
- load branch address word from _jump_table word-indexed on
previous result
 
Is This Answer Correct ?    21 Yes 11 No
Mikew
 
Answer
# 8
If-else
we depand the condition
if condition true then true block will be excuted
else
false block will be excuted
switch have number of choice we can excute any choice
 
Is This Answer Correct ?    13 Yes 5 No
Sanjay Parmar Sirsa
 
Answer
# 9
There are some things that you simply cannot do with a
switch. These are:
A float expression cannot be tested using a switch
Cases can never have variable expressions (for example it is
wrong to say case a +3 : )
Multiple cases cannot use same expressions.
 
Is This Answer Correct ?    11 Yes 3 No
Sherin
 
Answer
# 10
we can use all varriables within if else.but we can't use
all verriables within switch case.example :-float and
String we can't use within switch case.
 
Is This Answer Correct ?    12 Yes 4 No
Sujoy Dutta
 

 
 
 
Other C Interview Questions
 
  Question Asked @ Answers
 
How to find the usage of memory in a c program Infosys 1
out put of printf(%d,printf(ram));   5
Write a programme to find even numbers without using any conditional statement? Infosys 3
2. Counting in Lojban, an artificial language developed over the last fourty years, is easier than in most languages The numbers from zero to nine are: 0 no 1 pa 2 re 3 ci 4 vo 5 mk 6 xa 7 ze 8 bi 9 so Larger numbers are created by gluing the digit togather. For Examle 123 is pareci Write a program that reads in a lojban string(representing a no less than or equal to 1,000,000) and output it in numbers. Nagarro 3
#include<stdio.h> int fun(); int i; int main() { while(i) { fun(); main(); } printf("hello \n"); return 0; } int fun() { printf("hi"); } answer is hello.how??wat is tat while(i) mean? Intel 7
what is difference b/w extern & volatile variable?? Teleca 6
how to find the size of the data type like int,float without using the sizeof operator?   13
Study the Following Points: a.One Cannot Take the address of a Bit Field b.bit fields cannot be arrayed c.Bit-Fields are machine Dependant d.Bit-fields cannot be declared as static 1. Which of the Following Statements are true w.r.t Bit- Fields A)a,b&c B)Only a & b C)Only c D)All Accenture 3
What is a symbolic constant?   1
post new interiew question and aptitude test papers   1
What is the purpose of the code, and is there any problem with it? unsigned int f( unsigned n ) { return n & 7; } google 1
main() { int x=2, y=4 if ((x==2||y==4) x++ y++ if (y==4+1) { x=x+y; } y++; printf("The values of x and y are %d and %d."x,y); } What is the output? TCS 5
 
For more C Interview Questions Click Here 
 
 
 
 
 


   
Copyright Policy  |  Terms of Service  |  Articles  |  Site Map  |  RSS Site Map  |  Contact Us
   
Copyright 2013  ALLInterview.com.  All Rights Reserved.

ALLInterview.com   ::  KalAajKal.com