C Programming - Declarations and Initializations

1.
Which of the declaration is correct?
int length;
char int;
int long;
float double;
Answer: Option
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;
Answer: Option
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
Answer: Option
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
Answer: Option
Explanation:

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


5.
Which of the structure is correct?
1 :
struct book
{
    char name[10];
    float price;
    int pages;
};
2 :
struct aa
{
    char name[10];
    float price;
    int pages;
}
3 :
struct aa
{
    char name[10];
    float price;
    int pages;
}
1
2
3
All of above
Answer: Option
Explanation:
In 2 and 3 semicolon are missing in structure element.