Output of C programs | Set 33 (rand() and srand())

You came across how to generate random numbers and use of two C funtion rand() and srand() from the article rand() and srand() in C\C++.

Listed below are some output related multiple choice question on random numbers.

1. Return type of rand() function is:
a) short
b) int
c) char
d) float
Answer:

b

Explanation : return type of rand() is integer.

2. The function srand(unsigned):
a) Sets the seed for rand()
b) generate random number
c) Is an error
d) generate constant.
Answer:

a

Explanation : srand() always set the seed for rand() function.

3. rand() and srand() functions are used:
a) To find sqrt
b) For and operations
c) For or operations
d) To generate random numbers
Answer:

d

4. The best way to generate numbers between 0 to 99?
a) rand()-100
b) rand()%100
c) rand(100)
d) srand(100)
Answer:

b

Explanation : rand() will generate random number from 0 to RAND_MAX, it’s modulus with 100 ensures that our result must be between 0 and 99 inclusive.

5. Random number between minimum and maximum can be generated by:
a) minimum + (rand() % (maximum – minimum));
b) minimum + (rand() % (maximum – minimum + 1));
c) minimum * (rand() % (maximum – minimum))
d) minimum – (rand() % (maximum+minimum));
Answer:

b

Explanation : (maximum – minimum + 1) is interval size of interval from minimum to maximum, hence rand() % (maximum – minimum + 1) will give us random integer between 0 to interval size which when added to minimum gives random number between minimum and maximum.

6. Which of the following snippet will effectively generate random numbers with wideest range?
a) rand();
b) rand(10);
c) rand(time(NULL));
d) All of the mentioned
Answer:

a

Explanation : rand() generate random number between the wide range of 0 to RAND_MAX.

7. For the function call time(), what type of parameter is accepted?
a) int
b) int *
c) time_t
d) time_t *
Answer:

d

Explanation : Paramater for time() is pointer to an object of type time_t, where the time value is stored.

8. What is the output of this C code?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
#include <stdlib.h>
    int main()
    {
        printf("%d\n", rand() % 1000);
        return 0;
    }

chevron_right


a) Compile time error
b) An integer between 0-1000
c) An integer between 0-999 including 0 and 999.
d) An integer between 0-1000 including 1000
Answer:

c

Explanation : rand() generate random number and (rand() % 1000) shorten it to range [0, 999].

9. In the below program every time program is run different numbers are generated. True or False?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
#include <stdlib.h>
    int main()
    {
        srand(time(NULL));
        printf("%d\n", rand());
        return 0;
    }

chevron_right


a) true
b) false
c) Depends on the platform
d) Depends on the compiler
Answer:

a

Expalanation : srand() will always set new seed for rand() on each program run.

10. What is the output of this C code?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
#include <stdlib.h>
 int main()
    {
        srand(9000);
        printf("%d\n", rand());
        return 0;
    }

chevron_right


a) Compile time error
b) An integer in the range 0 to RAND_MAX.
c) A double in the range 0 to 1
d) A float in the range 0 to 1.
Answer:

b

Explanation : rand() will generate integer in range [0, RAND_MAX].

11. What is the output of this C code?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
#include <stdlib.h>
    int main()
    {
        srand(time(NULL));
        printf("%d\n", rand());
        return 0;
    }

chevron_right


a) Compile time error
b) An integer in the range 0 to RAND_MAX.
c) A double in the range 0 to 1
d) A float in the range 0 to 1.
Answer: b
Explanation : rand() will generate interger in range [0, RAND_MAX], but on running program, every time it will generate different random number because of srand(time(NULL)).

12. What is the output of this C code?

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
#include <stdlib.h>
    int main()
    {
        printf("%d\n", srand(9000));
        return 0;
    }

chevron_right


a) Compile time error
b) An integer in the range 0 to 9000
c) A float in the range 0 to 1
d) A double in the range 0 to 9000
Answer:

a

Explanation : return type of srand() id object of type time_t.

13. In the below program everytime program is run different numbers are generated.

filter_none

edit
close

play_arrow

link
brightness_4
code

#include <stdio.h>
#include <stdlib.h>
    int main()
    {
        printf("%d\n", rand());
        return 0;
    }

chevron_right


a) true
b) false
c) Depends on the platform
d) Depends on the compiler
Answer:

b

Explanation : for that srand() must be used.

14. Which of these is a correct way to generate numbers between 0 to 1(inclusive) randomly?
a) rand() / RAND_MAX
b) rand() % 2
c) rand(0, 1)
d) None of the mentioned
Answer:

a

Explanation : generate random numbers between [0, 1].

This article is contributed by Shivam Pradhan (anuj_charm). If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.



My Personal Notes arrow_drop_up