C Programming Multiple Choice Question - Array And String

This section focuses on the "Array And String" of the C programming. These Multiple Choice Questions (mcq) should be practiced to improve the C programming skills required for various interviews (campus interview, walk-in interview, company interview), placement, entrance exam and other competitive examinations.

1. What is the maximun number of dimensions an array in C may have?

A. Two
B. eight
C. sixteen
D. Theoratically no limit. The only practical limits are memory size and compilers

View Answer


2. A one dimensional array A has indices 1....75. Each element is a string and takes up three memory words. The array is stored at location 1120 decimal. The starting address of A[49] is

A. 1264
B. 1164
C. 1167
D. 1267

View Answer


3. What will be the address of the arr[2][3] if arr is a 2-D long array of 4 rows and 5 columns and starting address of the array is 2000?

A. 2048
B. 2056
C. 2052
D. 2042

View Answer


4. Array can be considered as set of elements stored in consecutive memory locations but having __________.

A. Same data type
B. Different data type
C. Same scope
D. None of these

View Answer


5. Array is an example of _______ type memory allocation.

A. Compile time
B. Run time
C. Both A and B
D. None of the above

View Answer


6. Size of the array need not be specified, when

A. Initialization is a part of definition
B. It is a formal parameter
C. It is a declaratrion
D. All of the above

View Answer


7. The information about an array used in program will be stored in

A. Symbol Table
B. Activation Record
C. Dope Vector
D. Both A and B

View Answer


8. The parameter passing mechanism for an array is

A. call by value
B. call by reference
C. call by value-result
D. None of the above

View Answer


9. A string that is a formal parameter can be declared

A. An array with empty braces
B. A pointer to character
C. Both A and B
D. None of the above

View Answer


10. Which of the following function is more appropriate for reading in a multi-word string?

A. scanf()
B. printf()
C. gets()
D. puts()

View Answer


11. Length of the string "letsfindcourse" is

A. 13
B. 14
C. 15
D. 12

View Answer


12. How will you print on the screen?

A. printf(" ");
B. printf(' ');
C. printf("\n");
D. printf("" ")

View Answer


13. If the two strings are identical, then strcmp() function returns

A. -1
B. 1
C. 0
D. None

View Answer


14. Which of the following statements are correct ?
1: A string is a collection of characters terminated by '.
2: The format specifier %s is used to print a string.
3: The length of the string can be obtained by strlen().
4: The pointer CANNOT work on string.

A. 1,2,3
B. 1,2
C. 2,4
D. 3,4

View Answer


15. Let x be an array.Which of the following operations is illegal?
i) ++x.
ii) x+1.
iii) x++.
iv) x*2.

A. I and II
B. I, III and IV
C. III and IV
D. II and III

View Answer


16. Strcat function adds null character

A. Only if there is space
B. Always
C. Depends on the standard
D. epends on the compiler

View Answer


17. Which of the following function sets first n characters of a string to a given character?

A. strset()
B. strnset()
C. strcset()
D. strinit()

View Answer


18. The library function used to find the last occurrence of a character in a string is

A. strnstr()
B. laststr()
C. strrchr()
D. strstr()

View Answer


19. Which of the following gives the memory address of the first element in array foo, an array with 10 elements?

A. foo
B. &foo
C. foo[0]
D. &foo[0]

View Answer


20. What will happen if in a C program you assign a value to an array element whose subscript exceeds the size of array?

A. The element will be set to 0.
B. The compiler would report an error.
C. The program may crash
D. None of the above

View Answer


21. An array elements are always stored in ________ memory locations.?

A. Sequential
B. Random
C. Sequential and Random
D. None of the above

View Answer


22. Let x be an array. Which of the following operations are illegal?
I. ++x
II. x+1
III. x++
IV. x*2

A. I and II
B. I, II and III
C. II and III
D. I, III and IV

View Answer


23. What is the output of this program?

void main()
{
      int a[8] = {1,2,3,4,5};
      printf("%d", a[5]);
}

A. 5
B. 6
C. 0
D. Garbage Value

View Answer


24. What is the output of this program?

void main()
{
      int arr[10];
      printf("%d %d", arr[-2], arr[11]);
}

A. 0 0
B. Garbage value 0
C. Garbage value Garbage value
D. Compilation Error

View Answer


25. What will be the output of the program if the array begins at 1000 and each integer occupies 2 bytes?

void main()
{
    int arr[2][2] = { 1, 2, 3, 4 };
    printf("%u, %u", arr+1, &arr+1);
}

A. 1004 1008
B. 1002 1008
C. 1002 1002
D. 1008 1002

View Answer


26. What is the output of this program?

#include <stdio.h>
int main()
{
    int arr[5] = {1,2,3,4,5};
    int p, q, r;
    p = ++arr[1];
    q = arr[1]++;
    r = arr[p++];
    printf("%d, %d, %d", p, q, r);
    return 0;
}

A. 3 4 5
B. 3 4 4
C. 4 3 4
D. 4 4 5

View Answer


27. What is the output of this program?

#include <stdio.h>
int main()
{
    int a[1]={100};
    printf("%d", 0[a]);
    return 0;
}

A. 100
B. 0
C. Garbage Value
D. Compilation Error

View Answer


28. What is the output of this program? (Assume that base address of a is 1000 and size of integer is 32 bit)

int main()
{
    int a[10];
    a++;
    printf("%u", a);
    return 0;
}

A. 1004
B. 1002
C. 1008
D. Lvalue Required

View Answer


29. Which of the following will print the value 2 for the above code?

#include <stdio.h>
int main()
{
    int arr[10][20][30] = {0};
    arr[3][2][1] = 2;
    return 0;
}

A. printf("%d",*(((a+3)+2)+1));
B. printf("%d",***((a+3)+2)+1);
C. printf("%d",*(*(*(a+3)+2)+1));
D. None of the above

View Answer


30. Which is true about the given statment ?

int arr[10] = {0,1,2,[7]=7,8,9};

A. Compipation Error
B. Run-time Error
C. This is allowed in C
D. None of the above

View Answer


31. What is the output of this program?

#include <stdio.h>
void main(){
char c[] = "GATE2011"; 
char *p =c; 
printf("%s", p + p[3] - p[1]);
}

A. GATE2011
B. E2011
C. 2011
D. 11

View Answer


32. What is the output of this program?

#include <stdio.h>
#include<string.h>
void main()
{
    char s1[20] = "Hello", s2[10] = " World";
    printf("%s", strcpy(s2, strcat(s1, s2)));
}

A. Hello World
B. HelloWorld
C. Hello
D. World

View Answer


33. How many times the loop will execute ?

#include <stdio.h>
int main()
{
    char str[10] = "98765", *p;
    p = str + 1;
    *p = '0' ;
    printf ("%s", str);
}

A. 98
B. 0
C. 98766
D. 90765

View Answer


34. What is the output of this program?

#include <stdio.h>
void main()
{
    char s[] = "Letsfindcourse";
    printf("%s", str);
}

A. Letsfindcourse
B. Letsfind
C. course
D. Compilation Error

View Answer


35. What is the output of this program?

#include 
int main()
{
    char str[14] = "Letsfindcourse";
    printf("%s", str);
    return 0;
}

A. Letsfindcours
B. Letsfindcourse
C. Run Time Error
D. Compilation Error

View Answer


36. What is the output of the given code ?

#include <stdio.h>
int main()
{
    int i;
    char str[] = "";
    if(printf("%s", str))
        printf("Empty String");
    else
        printf("String is not empty");
    return 0;
}

A. Empty String
B. String is not empty
C. 0
D. None of the above

View Answer


37. What is the output of this program?

#include <stdio.h>
int main()
{
    char str = "Hello";
    printf("%s", str);
    return 0;
}

A. Hello
B. Base address of str
C. Segmentation Fault
D. None of the above

View Answer


38. What is the output of this program?

#include <stdio.h>
int main()
{
    char s1[] = "Hello";
    char s2[] = "Hello";
    if(s1 == s2)
        printf("Same");
    else
        printf("Not Same");
    return 0;
}

A. Not Same
B. Same
C. Compilation Error
D. None of the above

View Answer


39. What will be the output of the program ?

#include <stdio.h>
int main(void)
{
    char p;
	char buf[10]={1,2,3,4,5,6,9,8};
    p=(buf+1)[5];
        printf("%d",p);
   
    return 0;
}

A. 5
B. 6
C. 9
D. None of the above

View Answer


40. What will be the output of the program ?

#include <stdio.h>
int main()
{
    
	int a[5]={5,1,15,20,25};
    int i,j,m;
    i = ++a[1];
	j = a[1]++; 
    m = a[i++];
	printf("%d, %d, %d", i, j, m);
   
    return 0;
}

A. 3,2,15
B. 2,3,20
C. 2,1,15
D. 1.2.5

View Answer







Also check :


Discussion



* You must be logged in to add comment.