Upwork/oDesk C Programming Test
·
1. What does the argv[0] represent?
Answers:
• The first
command line parameter has been passed to the program
• The program name
• The number of
command line arguments
• None of the
above
2. Read the following two declaration
statements.
1. #include <stdio.h>
2. #include "stdio.h"
Which of the following statements
pertaining to the above two statements are correct?
Answers:
• For statement
1, the header file will be searched first in the local directory and then in
the standard system directories such as "/usr/include"
• For statement
1, the header file will be searched in the standard system directories such as
"/usr/include"
• For statement 2, the
header file will be searched first in the local directory and then in the
standard system directories such as "/usr/include"
• For statement
2, the header file will be searched in the standard system directories such as
"/usr/include"
• None of the above
3. Is the following statement correct?
If not, why not? If yes, what is the size of the array?
int array[][3] = { {1,2}, {2,3},
{3,4,2} };
Answers:
• Yes, the size
is three columns by two rows
• Yes, the size
is two columns by two rows
• No, the first
dimension is omitted
• No, one of the
three initializer sets contains too many numbers
• Yes, the size is three
columns by three rows
4. What will be printed on the
standard output as a result of the following code snippet?
void func()
{
static int i = 1;
int j = 1;
i++;
j++;
printf("%d %d
",i,j);
}
void main()
{
func();
func();
func();
}
Answers:
• 2 2 2 2 2 2
• 2 2 3 2 4 2
• 2 2 2 3 2 4
• 2 2 3 3 4 4
• None of these
5. Which standard function is used to
clear memory allocated by the malloc() function?
Answers:
• free
• calloc
• delete
• elease
• destroy
6. What is the function to concatenate
two strings?
Answers:
• strcmp()
• strcpy()
• strcat()
• strlen()
• catstr()
7. Which of the following is not a
valid mode for opening a file?
Answers:
• r
• w
• a
• +
• i
8. What will be printed on the
standard output as a result of the following code snippet?
void main()
{
int num1 = 30, num2 = 4;
float result;
result = (float)(num1/num2);
printf("%.2f", result);
return 0;
}
Answers:
• 7
• 7.00
• 7.000000
• 7.5
• 7.50
9. Study the following code:
int n = 2;
int a[n];
What is the error in the above code?
Answers:
• There is no
error
• The minimum
limit of an array is 5
• The second
statement should be placed before the first
• A constant value has to be
given in place of a variable for array declaration
10. What is the output of the
following program ?
main()
{
int u = 1, v = 3;
printf("%d %d",u,v);
funct1(&u,&v);
printf(" %d %d\n",u,v);
}
void funct1(int *pu, int *pv)
{
*pu=0;
*pv=0;
return;
}
Answers:
• 1 3 1 3
• 1 3 1 1
• 1 3 0 0
• 1 1 1 1
• 3 1 3 1
11. What is wrong with the following
statement?
int func();
Answers:
• The function
definition {...} is missing
• While calling a function,
the type int is not needed
• No parameter
has been passed
• The semicolon
should not be there
• There is
nothing wrong with the statement
12. Suppose there is a file a.dat
which has to be opened in the read mode using the FILE pointer ptr1, what will
be the correct syntax?
Answers:
• ptr1 =
open("a.dat");
• ptr1 =
fileopen("a.dat");
• ptr1 =
fopen("a.dat","r");
• ptr1 =
open("a.dat","r");
• ptr1 =
fileopen("a.dat","r");
13. Study the following code where num
is an integer array and n is the length of the array:
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(num[i]
> num[j])
{
var=num[i];
num[i]=num[j];
num[j]=var;
}
}
}
What does the above code do?
Answers:
• It prints the
elements of the array in the ascending orde
• It calculates
the sum of the elements of the array
• It sorts the array in the
ascending orde
• It sorts the
array in the descending orde
• It calculates
the average of the elements of the array
14. What will be printed on the
standard output as a result of the following code snippet?
void main()
{
char arr[] = {'R','A','M'};
printf("%d",strlen(arr));
}
Answers:
• 1
• 3
• 4
• Cannot be determined
15. What will be printed on the
standard output as a result of the following code snippet?
void main()
{
int i,j,k;
i=4;
j=30;
k=0;
k=j++/i++;
++k;
printf("%d %d
%d",i,j,k);
}
Answers:
• 5 31 8
• 5 31 7
• 5 31 6
• 4 30 7
16. Identify the incorrect statement.
Answers:
• Records can be
defined in C by using structures
• Structure
members can be of the same/different data types
• Memory is reserved when a
structure label is defined
• A pointer to a structure
can be used to pass a structure to a function
• Arrays of
structures can be defined and initialized
17. Given the following array:
int a[8] = {1,2,3,4,5,6,7,0};
what would be the output of
printf("%d",a[4]);
?
Answers:
• 3
• 4
• 5
• 6
• 7
18. Which function will convert a
string into an integer?
Answers:
• int()
• number()
• atoi()
• val()
• tonum()
19. From which of the following loop
or conditional constructs, is "break" used for an early exit?
Answers:
• switch
• fo
• while
• do-while
• All of the above
20. What would be printed on the
standard output as a result of the following code snippet?
char i = 'A';
char *j;
j = & i;
*j = *j + 32;
printf("%c",i);
Answers:
• An error will
occur
• a
• A
•
• c
21. What would be printed on the
standard output as a result of the following code snippet?
#define func(t, a, b) { t temp;
temp=a; a=b; b=temp; }
main()
{
int a=3, b=4;
float c=4.5, d = 5.99;
func(int, a, b);
func(float, c, d);
printf("%d %d ", a, b);
printf("%.2f %.2f\n", c, d);
}
Answers:
• Results in
Compilation Error
• 3 4 5.99 4.50
• 3 4 4.50 5.99
• 4 3 5.99 4.50
• None of the
above
22. Given the following array:
char books[][40]={
"The
Little World of Don Camillo",
"To
Kill a Mockingbird",
"My
Family and Other Animals",
"Birds,
Beasts and Relatives"
};
what would be the output of
printf("%c",books[2][5]);?
Answers:
• m
• M
• F
• i
• L
23. Given the following array
declaration:
int a[2][3][4]
what would be the number of elements
in array a?
Answers:
• 24
• 22
• 20
• 12
• 36
24. Which function will convert a
string into a double precision quantity?
Answers:
• atoi()
• atof()
• atol()
• atan()
• acos()
25. What will be the output of
following code?
int main()
{
int i;
i = 0;
for (i
= 1; i <2; i++)
{
i++;
printf( "%d", i );
continue;
printf( "%d", i );
}
return
0;
}
Answers:
• 22
• 2,2
• 2
• none of the
above
26. What would be printed on the
standard output as a result of the following code snippet?
main()
{
int u = 1, v = 3;
printf("%d %d",u,v);
funct1(&u,&v);
printf("%d %d\n",u,v);
}
void funct1(int *pu, int *pv)
{
*pu=0;
*pv=0;
return;
}
Answers:
• 1 31 3
• 1 3 1 1
• 1 30 0
• 1 1 1 1
• 3 1 3 1
27. Which of the following is not a
file related function?
Answers:
• fgetc()
• puts()
• fputc()
• fscanf()
• fprintf()
28. What would be printed on the
standard output as a result of the following code snippet?
#include<stdio.h>
main()
{
unsigned char a=255;
a = a+1;
printf("%d",a);
return 0;
}
Answers:
• Undefined value
• 256
• 1
• -1
29. What would be printed on the
standard output as a result of the following code snippet?
main()
{
char *pmessage = "asdfgh";
*pmessage++;
printf("%s", pmessage);
return 0;
}
Answers:
• Will result in
Compilation Error
• Undefined
string
• sdfgh
• asdfgh
30. What would be printed on the
standard output as a result of the following code snippet?
#define max(a, b) ((a) >
(b)?(a):(b))
main()
{
int a=4;
float b=4.5;
printf("%.2f\n",max(a, b));
}
Answers:
• Results in
Compilation Error
• Undefined value
• 4.50
• 4.0
• None of the
above
31. What will be the output of the
following program?
#include <assert.h>
main()
{
int n = 5;
assert(n > 3); //statement 1
n = n+2;
assert(n > 7);//statement 2
return 0;
}
Answers:
• Assertion 'n
> 3' failed; Program aborts at statement 1
• Assertion 'n > 7'
failed; Program aborts at statement 2
• Program returns
0 with the value of n as 7
• Compilation
Error
32. What would be printed on the
standard output as a result of the following code snippet?
main()
{
enum {red, green, blue = 6, white};
printf("%d %d %d %d", red,
green, blue, white);
return 0;
}
Answers:
• 0 1 6 2
• 0 1 6 7
• Will result in
Compilation Error
• None of the
above
33. Which file header is to be
included for file handling in a C program?
Answers:
• string.h
• file.h
• stdio.h
• stdlib.h
• ctype.h
34. Which function will you use to
write a formatted output to the file?
Answers:
• fputc()
• fputs()
• fprintf()
• fseek()
• ftell()
35. Which function returns the current
pointer position within a file?
Answers:
• ftell()
• fseek()
• fgetc()
• fread()
• fscanf()
36. Which of the following is not a
string function?
Answers:
• strlen()
• strcmp()
• strcpy()
• strrev()
• strcomp()
37. Which of the following
declarations of structures is/are valid?
1)
struct
node {
int count;
char *word;
struct node next;
}Node;
2)
struct node {
int count;
char *word;
struct node *next;
}Node;
3)
struct node {
int count;
char *word;
union u1 {
int n1;
float f1;
}U;
}Node;
Answers:
• 123
• 12
• 23
• 2
• None of the
above
38. What would be printed on the
standard output as a result of the following code snippet?
main()
{
int arr[10];
int a = sizeof(arr);
printf("%d\n",a);
return 0;
}
Answers:
• Compilation
Error
• 10
• 4
• 40
39. Which of the following is a function
for formatting data in memory?
Answers:
• sprintf()
• printf()
• scanf()
• free()
• atol()
40. Which function allocates memory
and initializes elements to 0?
Answers:
• assign()
• calloc()
• malloc()
• swab()
• allocate()
41. Given the operators:
1) *
2) /
3) %
What would be the order of precedence?
Answers:
• 1,2,3
• 1,3,2
• 3,2,1
• All have the same
precedence
• 1 and 2 have
the same precedence, 3 is of lower precedence
42. Which of the following sets of
conversion statements may result in the loss of data?
Answers:
• int i; char c;
i=c; c=i;
• int i; char c;
c=i; i=c;
• int i; float f;
i=f; f=i;
• None of the
above
43. Which of the following standard
functions is used to close a file?
Answers:
• fileclose()
• closefile()
• fclose()
• Any of the
above