skip to main
|
skip to sidebar
C Programming
Pages
Home
Programs
Pointer
Projects
Solution
Data type questions in c language | CTechnotips
Data types interview questions and answers
It is frequently asked technical objective types multiple choice questions of placement in c programming language
1.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
printf(
"%d\t"
,
sizeof
(6.5));
printf(
"%d\t"
,
sizeof
(90000));
printf(
"%d"
,
sizeof
(
'A'
));
return
0;
}
Choose all that apply:
(A)
4 2 1
(B)
8 2 1
(C)
4 4 1
(D)
8 4 1
(E)
8 4 2
Output : (E)
Explanation:
Turbo C++ 3.0:
8 4 2
Turbo C ++4.5:
8 4 2
Linux GCC: 8 4 4
Visual C++: 8 4 4
By default data type of numeric constants is:
6.5 : double
90000: long int
‘A’: char
In C size of data type varies from compiler to compiler.
In TURBO C 3.0 (16 bit compilers) size of:
double is 8 byte
Long int is 4 byte
Character constant is 2 byte (size of char data type is one byte)
In TURBO C 4.5 or Linux GCC compilers (32 bit compilers) size of:
double is 8 byte
long int is 8 byte
Character constant is 2 byte
2.
Consider on following declaring of enum.
(i)
enum
cricket {Gambhir,Smith,Sehwag}c;
(ii)
enum
cricket {Gambhir,Smith,Sehwag};
(iii)
enum
{Gambhir,Smith=-5,Sehwag}c;
(iv)
enum
c {Gambhir,Smith,Sehwag};
Choose correct one:
(A)
Only (i) is correct declaration
(B)
Only (i) and (ii) is correct declaration
(C)
Only (i) and (iii) are correct declaration
(D)
Only (i),(ii) and are correct declaration
(E)
All four are correct declaration
Output : (E)
Explanation:
Syntax of enum data type is:
enum [<tag_name>]{
<enum_constanat_name> [=<integer_ value>],
…
} [<var_name>,…]
Note:
[] : Represents optional .
<>: Represents any valid c identifier
3.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
signed
x;
unsigned
y;
x = 10 +- 10u + 10u +- 10;
y = x;
if
(x==y)
printf(
"%d %d"
,x,y);
else
if
(x!=y)
printf(
"%u %u"
,x,y);
return
0;
}
Choose all that apply:
(A)
0 0
(B)
65536 -10
(C)
0 65536
(D)
65536 0
(E)
Compilation error
Output : (A)
Explanation:
Turbo C++ 3.0: 0 0
Turbo C ++4.5: 0 0
Linux GCC: 0 0
Visual C++: 0 0
Consider on the expression:
x = 10 +- 10u + 10u +- 10;
10: It is signed integer constant.
10u: It is unsigned integer constant.
X: It is signed integer variable.
In any binary operation of dissimilar data type for example: a + b
Lower data type operand always automatically type casted into the operand of higher data type before performing the operation and result will be higher data type.
As we know operators enjoy higher precedence than binary operators. So our expression is:
x = 10 + (-10u) + 10u + (-10);
= 10 + -10 + 10 + (-10);
= 0
Note: Signed is higher data type than unsigned int.
So, Corresponding signed value of unsigned 10u is +10
4.
Which of the following is not modifier of data type in c?
(A)
extern
(B)
interrupt
(C)
huge
(D)
register
(E)
All of these are modifiers of data type
Output : (E)
Explanation:
To know more about these go to following link:
5.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
double
num=5.2;
int
var=5;
printf(
"%d\t"
,
sizeof
(!num));
printf(
"%d\t"
,
sizeof
(var=15/2));
printf(
"%d"
,var);
return
0;
}
Choose all that apply:
(A)
4 2 7
(B)
4 4 5
(C)
2 2 5
(D)
2 4 7
(E)
8 2 7
Output : (C)
Explanation:
Turbo C++ 3.0: 2 2 5
Turbo C ++4.5: 2 2 5
Linux GCC: 4 4 5
Visual C++: 4 4 5
sizeof(Expr) operator always returns the an integer value which represents the size of the final value of the expression expr.
Consider on the following expression:
!num
=!5.2
=0
0 is int type integer constant and it size is 2 by in TURBO C 3.0 compiler and 4 in the TURBO C 4.5 and Linux GCC compilers.
Consider on the following expression:
var = 15/2
=> var = 7
=> 7
7 is int type integer constant.
Any expression which is evaluated inside the sizeof operator its scope always will be within the sizeof operator. So value of variable var will remain 5 in the printf statement.
6.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
const
int
*p;
int
a=10;
p=&a;
printf(
"%d"
,*p);
return
0;
}
Choose all that apply:
(A)
0
(B)
10
(C)
Garbage value
(D)
Any memory address
(E)
Error:
Cannot modify const object
Output : (B)
Explanation:
Turbo C++ 3.0: 10
Turbo C ++4.5: 10
Linux GCC: 10
Visual C++: 10
In the following declaration
const
int
*p;
p can keep address of constant integer.
7.
Consider on following declaration:
(i)
short
i=10;
(ii)
static
i=10;
(iii)
unsigned
i=10;
(iv)
const
i=10;
Choose correct one:
(A)
Only (iv) is incorrect
(B)
Only (ii) and (iv) are incorrect
(C)
Only (ii),(iii) and (iv) are correct
(D)
Only (iii) is correct
(E)
All are correct declaration
Output : (E)
Explanation:
Default data type of above all declaration is int.
8.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
int
a=
sizeof
(
signed
) +
sizeof
(
unsigned
);
int
b=
sizeof
(
const
)+
sizeof
(
volatile
);
printf(
"%d"
,a+++b);
return
0;
}
Choose all that apply:
(A)
10
(B)
9
(C)
8
(D)
Error: Cannot find size of modifiers
(E)
Error: Undefined operator +++
Output : (C)
Explanation:
Turbo C++ 3.0: 8
Turbo C ++4.5: 8
Linux GCC: 16
Visual C++: 16
Default data type of signed, unsigned, const and volatile is int. In turbo c 3.0 size of int is two byte.
So, a = 4 and b =4
Now,
a+++b
= a++ + b
= 4 + 4 //due to post increment operator.
=8
Note: In turbo c 4.5 and Linux gcc compiler size of int is 4 byte so your out will be 16
9.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
signed
x,a;
unsigned
y,b;
a=(
signed
)10u;
b=(
unsigned
)-10;
y = (
signed
)10u + (
unsigned
)-10;
x = y;
printf(
"%d %u\t"
,a,b);
if
(x==y)
printf(
"%d %d"
,x,y);
else
if
(x!=y)
printf(
"%u %u"
,x,y);
return
0;
}
Choose all that apply:
(A)
10 -10 0 0
(B)
10 -10 65516 -10
(C)
10 -10 10 -10
(D)
10 65526 0 0
(E)
Compilation error
Output : (D)
Explanation:
Turbo C++ 3.0: 10 65526 0 0
Turbo C ++4.5: 10 65526 0 0
Linux GCC:
10 4294967286 0 0
Visual C++:
10 4294967286 0 0
a=(
signed
)10u;
signed value of 10u is +10
so, a=10
b=(
unsigned
)-10;
unsigned value of -10 is :
MAX_VALUE_OF_UNSIGNED_INT – 10 + 1
In turbo c 3.0 complier max value of unsigned int is 65535
So, b = 65526
y = (
signed
)10u + (
unsigned
)-10;
= 10 + 65526 = 65536 = 0 (Since 65536 is beyond the range of unsigned int. zero is its corresponding cyclic vlaue)
X = y = 0
10.
Which of the following is integral data type?
(A)
void
(B)
char
(C)
float
(D)
double
(E)
None of these
Output : (B)
Explanation:
In c char is integral data type. It stores the ASCII value of any character constant.
11.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
volatile
int
a=11;
printf(
"%d"
,a);
return
0;
}
Choose all that apply:
(A)
11
(B)
Garbage
(C)
-2
(D)
We cannot predict
(E)
Compilation error
Output : (D)
Explanation
:
Turbo C++ 3.0: We cannot predict
Turbo C ++4.5: We cannot predict
Linux GCC: We cannot predict
Visual C++:
We cannot predict
We cannot predict the value of volatile variable because its value can be changed by any microprocessor interrupt.
12.
What is the range of signed int data type in that compiler in which size of int is two byte?
(A)
-255 to 255
(B)
-32767 to 32767
(C)
-32768 to 32768
(D)
-32767 to 32768
(E)
-32768 to 32767
Output : (E)
Explanation:
Note: Size of int is always equal to word length of micro preprocessor in which your compiler has based.
13.
What will be output when you will execute following c code?
#include
<stdio.h>
const
enum
Alpha{
X
,
Y
=5,
Z
}p=10;
int
main(){
enum
Alpha a,b;
a=
X
;
b=
Z
;
printf(
"%d"
,a+b-p);
return
0;
}
Choose all that apply:
(A)
-4
(B)
-5
(C)
10
(D)
11
(E)
Error: Cannot modify constant object
Output : (A)
Explanation:
Turbo C++ 3.0: -4
Turbo C ++4.5: -4
Linux GCC: -4
Visual C++: -4
Default value of enum constant X is zero and
Z = Y + 1 = 5 + 1 = 6
So, a + b – p
=0 + 6 -10 = -4
14.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
char
a=250;
int
expr;
expr= a+ !a + ~a + ++a;
printf(
"%d"
,expr);
return
0;
}
Choose all that apply:
(A)
249
(B)
250
(C)
0
(D)
-6
(E)
Compilation error
Output : (D)
Explanation:
Turbo C++ 3.0: -6
Turbo C ++4.5: -6
Linux GCC: -6
Visual C++: -6
char
a = 250;
250 is beyond the range of signed char. Its corresponding cyclic value is: -6
So, a = -6
Consider on the expression:
expr= a+ !a + ~a + ++a;
Operator! , ~ and ++ have equal precedence. And it associative is right to left.
So, First ++ operator will perform the operation. So value a will -5
Now,
Expr = -5 + !-5 + ~-5 + -5
= -5 + !-5 + 4 - 5
= -5 + 0 + 4 -5
= -6
15.
Consider on order of modifiers in following declaration:
(i)
char
volatile
register
unsigned
c;
(ii)
volatile
register
unsigned
char
c;
(iii)
register
volatile
unsigned
char
c;
(iv)
unsigned
char
volatile
register
c;
(A)
Only (ii) is correct declaration
(B)
Only (i) is correction declaration
(C)
All are incorrect
(D)
All are correct but they are different
(E)
All are correct and same
Output : (E)
Explanation:
Order of modifier of variable in c has not any significant.
Choose correct one:
16.
What will be output when you will execute following c code?
#include
<stdio.h>
int
main(){
int
a=-5;
unsigned
int
b=-5u;
if
(a==b)
printf(
"Avatar"
);
else
printf(
"Alien"
);
return
0;
}
Choose all that apply:
(A)
Avatar
(B)
Alien
(C)
Run time error
(D)
Error: Illegal assignment
(E)
Error: Don’t compare signed no. with unsigned no.
Output : (A)
Explanation:
Turbo C++ 3.0: Avatar
Turbo C ++4.5: Avatar
Linux GCC: Avatar
Visual C++:
Avatar
int
a=-5
;
Here variable a is by default signed int.
unsigned
int
b=-5u;
Constant -5u will convert into unsigned int. Its corresponding unsigned int value will be :
65536 – 5 + 1= 65532
So, b = 65532
In any binary operation of dissimilar data type for example: a == b
Lower data type operand always automatically type casted into the operand of higher data type before performing the operation and result will be higher data type.
In c signed int is higher data type than unsigned int. So variable b will automatically type casted into signed int.
So corresponding signed value of 65532 is -5
Hence, a==b
17.
What will be output when you will execute following c code?
#include
<stdio.h>
extern
enum
cricket x;
int
main(){
printf(
"%d"
,x);
return
0;
}
const
enum
cricket{
Taylor
,
Kallis
=17,
Chanderpaul
}x=
Taylor
|
Kallis
&
Chanderpaul
;
Choose all that apply:
(A)
0
(B)
15
(C)
16
(D)
17
(E)
Compilation error
Output : (C)
Explanation:
Turbo C++ 3.0: 16
Turbo C ++4.5: Compilation error
Linux GCC: Compilation error
Visual C++: 16
x=
Taylor
|
Kallis
&
Chanderpaul
= 0 | 17 & 18
= 0 |(17 & 18)
//& operator enjoy higher precedence than |
=0 |16
=16
18.
Which of the following is not derived data type in c?
(A)
Function
(B)
Pointer
(C)
Enumeration
(D)
Array
(E)
All are derived data type
Output : (C)
Explanation
:
Enum is primitive data type.
19.
What will be output when you will execute following c code?
#include
<stdio.h>
enum
A{
x
,
y
=5,
enum
B{
p=10,q
}varp;
}varx;
int
main(){
printf(
"%d %d"
,x,varp.q);
return
0;
}
Choose all that apply:
(A)
0 11
(B)
5 10
(C)
4 11
(D)
0 10
(E)
Compilation error
Output : (E)
Explanation:
Turbo C++ 3.0: Compilation error
Turbo C ++4.5: Compilation error
Linux GCC: Compilation error
Visual C++:
Compilation error
Nesting of enum constant is not possible in c.
20.
Consider on following declaration in c:
(i)
short
const
register
i=10;
(ii)
static
volatile
const
int
i=10;
(iii)
unsigned
auto
long
register
i=10;
(iv)
signed
extern
float
i=10.0;
Choose correct one:
(A)
Only (iv)is correct
(B)
Only (ii) and (iv) is correct
(C)
Only (i) and (ii) is correct
(D)
Only (iii) correct
(E)
All are correct declaration
Output : (C)
Explanation:
Option (III) is in correct due to we cannot specify two storage class auto and register in the declaration of any variable.
Option (iv) is in correct due to we cannot use signed or unsigned modifiers with float data type. In c float data type by default signed and it cannot be unsigned.
0 comments:
Post a Comment
Newer Post
Older Post
Home
Category
Concepts
(16)
Graphics Program
(3)
Hardware interaction through C
(9)
Pointers Tutorial
(29)
Problem
(1)
Program
(196)
Projects
(3)
Puzzles Program
(7)
Question and Answer
(15)
Solution
(4)
System Program
(9)
Virus Program
(2)
Powered by
Blogger
.
Popular Posts
Find G.C.D of two numbers using c language | CTechnotips
Definition of HCF ( Highest common facto r ): HFC is called Greatest Common Divisor (GCD) . HCF of Two Numbers is a Largest Posit...
sorting of array using pointer in c language | | CTechnotips
Write a c program for sorting of array using pointer. int main(){ int i,j,temp1,temp2; int arr[8]={5,3,0,2,12,1...
check given number is prime number or not using c program | CTechnotips
Definition of prime number: A natural number greater than one has not any other divisors except 1 and itself. In other word we can say...
A Car Racing Game ( Mini Project ) in c language | CTechnotips
/* Language: C\C++ (To convert to C, just change cout to printf and cin to scanf and change the library files) Category: Games\Graphics...
check the given number is palindrome number or not using c program | CTechnotips
Definition of Palindrome number or What is palindrome number? A number is called palindrome number if it is remain same when its ...
10 Challenging star pattern programs in C
Computer languages are not as easy as human languages, they need you to become a computer yourself, think like a computer and write an al...
write a c program to find out sum of digit of given number | CTechnotips
Code 1: 1. C program to add digits of a number 2. C program for sum of digits of a number 3. C program to calculate sum of d...
Split number into digits in c programming | CTechnotips
Extract digits from integer in c language #include <stdio.h> int main(){ int num,temp,factor=1; printf( "...
Find out the perfect number using c program | CTechnotips
Definition of perfect number or What is perfect number? Perfect number is a positive number which sum of all positive divisors ...
c program for odd or even number | CTechnotips
Algorithm: Number is called even number if it is divisible by two otherwise odd. Example of even numbers: 0,2,4,8,9,10 etc. Exam...
0 comments:
Post a Comment