# C Programming - Declarations and Initializations

Exercise : Declarations and Initializations - Point Out Correct Statements
1.
Which of the declaration is correct?
int length;
char int;
int long;
float double;
Explanation:

int length; denotes that variable length is int(integer) data type.

char int; here int is a keyword cannot be used a variable name.

int long; here long is a keyword cannot be used a variable name.

float double; here double is a keyword cannot be used a variable name.

So, the answer is int length;(Option A).

2.
Which of the following operations are INCORRECT?
``int i = 35; i = i%5;``
``short int j = 255; j = j;``
``long int k = 365L; k = k;``
``float a = 3.14; a = a%3;``
Explanation:

float a = 3.14; a = a%3; gives "Illegal use of floating point" error.

The modulus (%) operator can only be used on integer types. We have to use fmod() function in math.h for float values.

3.
Which of the following correctly represents a long double constant?
6.68
6.68L
6.68f
6.68LF
Explanation:

6.68 is double.
6.68L is long double constant.
6.68f is float constant.
6.68LF is not allowed in c.

4.
Which of the structure is incorrcet?
 1 : ``````struct aa { int a; float b; };`````` 2 : ``````struct aa { int a; float b; struct aa var; };`````` 3 : ``````struct aa { int a; float b; struct aa *var; };``````
1
2
3
1, 2, 3
Explanation:

Option B gives "Undefined structure in 'aa'" error.

5.
Which of the structure is correct?
 1 : ``````struct book { char name; float price; int pages; };`````` 2 : ``````struct aa { char name; float price; int pages; }`````` 3 : ``````struct aa { char name; float price; int pages; }``````
1
2
3
All of above