Arrange the following data types available in C language according to their size (smallest to largest):
A. signed long int
B. long double
C. unsigned char
D. unsigned int
Choose the correct answer from the options given below:
Step 1: Determine C data type sizes.
Data type sizes in C are system-dependent. Common sizes are:
- unsigned char: Smallest, typically 1 byte.
- unsigned int: Typically 4 bytes.
- signed long int: Typically 4 bytes, sometimes 8 bytes.
- long double: Largest, often 8 or 10 bytes.
Step 2: Order the data types by size.
- C (unsigned char): Smallest (1 byte). Placed first.
- D (unsigned int): Next smallest (4 bytes).
- A (signed long int): Larger (4 or 8 bytes).
- B (long double): Largest (8 or 10 bytes).
Step 3: Final order.
The order from smallest to largest is: C, D, A, B.
Suppose in a multiprogramming environment, the following C program segment is executed. A process goes into the I/O queue whenever an I/O related operation is performed. Assume that there will always be a context switch whenever a process requests an I/O, and also whenever the process returns from an I/O. The number of times the process will enter the ready queue during its lifetime (not counting the time the process enters the ready queue when it is run initially) is _________ (Answer in integer).

What is printed by the following ANSI C program?
#include<stdio.h>
int main(int argc, char argv[])
{
int a[3][3][3] = {
{1, 2, 3, 4, 5, 6, 7, 8, 9},
{10, 11, 12, 13, 14, 15, 16, 17, 18},
{19, 20, 21, 22, 23, 24, 25, 26, 27}};
int i = 0, j = 0, k = 0;
for( i = 0; i < 3; i++){
for(k = 0; k < 3; k++)
printf("%d ", a[i][j][k]);
printf("\n");
}
return 0;
}
What is printed by the following ANSI C program?
#include<stdio.h>
int main(int argc, char argv[])
{
char a = 'P';
char b = 'x';
char c = (a & b) + '';
char d = (a | b) - '-';
char e = (a ^ b) + '+';
printf("%c %c %c\n", c, d, e);
return 0;
}
ASCII encoding for relevant characters is given below
