logo

CuriousTab

CuriousTab

Discussion


Home C Programming Declarations and Initializations See What Others Are Saying!
  • Question
  • By default a real number is treated as a


  • Options
  • A. float
  • B. double
  • C. long double
  • D. far double

  • Correct Answer
  • double 

    Explanation
    In computing, 'real number' often refers to non-complex floating-point numbers. It include both rational numbers, such as 42 and 3/4, and irrational numbers such as pi = 3.14159265...

    When the accuracy of the floating point number is insufficient, we can use the double to define the number. The double is same as float but with longer precision and takes double space (8 bytes) than float.

    To extend the precision further we can use long double which occupies 10 bytes of memory space.


    More questions

    • 1. Point out the error in the following program.
      #include<stdio.h>
      #include<stdarg.h>
      void varfun(int n, ...);
      
      int main()
      {
          varfun(3, 7, -11.2, 0.66);
          return 0;
      }
      void varfun(int n, ...)
      {
          float *ptr;
          int num;
          va_start(ptr, n);
          num = va_arg(ptr, int);
          printf("%d", num);
      }
      

    • Options
    • A. Error: too many parameters
    • B. Error: invalid access to list member
    • C. Error: ptr must be type of va_list
    • D. No error
    • Discuss
    • 2. Macros with arguments are allowed

    • Options
    • A. True
    • B. False
    • Discuss
    • 3. What will be the output of the program (in Turbo C)?
      #include<stdio.h>
      
      int fun(int *f)
      {
          *f = 10;
          return 0;
      }
      int main()
      {
          const int arr[5] = {1, 2, 3, 4, 5};
          printf("Before modification arr[3] = %d", arr[3]);
          fun(&arr[3]);
          printf("\nAfter modification arr[3] = %d", arr[3]);
          return 0;
      }
      

    • Options
    • A. Before modification arr[3] = 4
      After modification arr[3] = 10
    • B. Error: cannot convert parameter 1 from const int * to int *
    • C. Error: Invalid parameter
    • D. Before modification arr[3] = 4
      After modification arr[3] = 4
    • Discuss
    • 4. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          const int x=5;
          const int *ptrx;
          ptrx = &x;
          *ptrx = 10;
          printf("%d\n", x);
          return 0;
      }
      

    • Options
    • A. 5
    • B. 10
    • C. Error
    • D. Garbage value
    • Discuss
    • 5. What will be the output of the program?
      #include<stdio.h>
      int fun(int **ptr);
      
      int main()
      {
          int i=10;
          const int *ptr = &i;
          fun(&ptr);
          return 0;
      }
      int fun(int **ptr)
      {
          int j = 223;
          int *temp = &j;
          printf("Before changing ptr = %5x\n", *ptr);
          const *ptr = temp;
          printf("After changing ptr = %5x\n", *ptr);
          return 0;
      }
      

    • Options
    • A. Address of i
      Address of j
    • B. 10
      223
    • C. Error: cannot convert parameter 1 from 'const int **' to 'int **'
    • D. Garbage value
    • Discuss
    • 6. Point out the error in the program.
      #include<stdio.h>
      
      int main()
      {
          const int x;
          x=128;
          printf("%d\n", x);
          return 0;
      }
      

    • Options
    • A. Error: unknown data type const int
    • B. Error: const variable have been initialised when declared.
    • C. Error: stack overflow in x
    • D. No error
    • Discuss
    • 7. Point out the error in the program (in Turbo-C).
      #include<stdio.h>
      #define MAX 128
      
      int main()
      {
          const int max=128;
          char array[max];
          char string[MAX];
          array[0] = string[0] = 'A';
          printf("%c %c\n", array[0], string[0]);
          return 0;
      }
      

    • Options
    • A. Error: unknown max in declaration/Constant expression required
    • B. Error: invalid array string
    • C. None of above
    • D. No error. It prints A A
    • Discuss
    • 8. What will be the output of the program in TurboC?
      #include<stdio.h>
      int fun(int **ptr);
      
      int main()
      {
          int i=10, j=20;
          const int *ptr = &i;
          printf(" i = %5X", ptr);
          printf(" ptr = %d", *ptr);
          ptr = &j;
          printf(" j = %5X", ptr);
          printf(" ptr = %d", *ptr);
          return 0;
      }
      

    • Options
    • A. i= FFE2 ptr=12 j=FFE4 ptr=24
    • B. i= FFE4 ptr=10 j=FFE2 ptr=20
    • C. i= FFE0 ptr=20 j=FFE1 ptr=30
    • D. Garbage value
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      
      int main()
      {
          const int i=0;
          printf("%d\n", i++);
          return 0;
      }
      

    • Options
    • A. 10
    • B. 11
    • C. No output
    • D. Error: ++needs a value
    • Discuss
    • 10. Point out the error in the program.
      #include<stdio.h>
      #include<stdlib.h>
      
      union employee
      {
          char name[15];
          int age;
          float salary;
      };
      const union employee e1;
      
      int main()
      {
          strcpy(e1.name, "K");
          printf("%s", e1.name);    
          e1.age=85;
          printf("%d", e1.age);
          printf("%f", e1.salary);
          return 0;
      }
      

    • Options
    • A. Error: RValue required
    • B. Error: cannot modify const object
    • C. Error: LValue required in strcpy
    • D. No error
    • Discuss


    Comments

    There are no comments.

Enter a new Comment