= 'A' && ch <= 'Z'? ch + 'a' - 'A':ch); printf(""> = 'A' && ch <= 'Z'? ch + 'a' - 'A':ch); printf("">
logo

CuriousTab

CuriousTab

Discussion


Home C Programming Expressions Comments

  • Question
  • What will be the output of the program?
    #include<stdio.h>
    int main()
    {
        char ch;
        ch = 'A';
        printf("The letter is");
        printf("%c", ch >= 'A' && ch <= 'Z'? ch + 'a' - 'A':ch);
        printf("Now the letter is");
        printf("%c\n", ch >= 'A' && ch <= 'Z'? ch : ch + 'a' - 'A');
        return 0;
    }
    


  • Options
  • A. The letter is a
    Now the letter is A
  • B. The letter is A
    Now the letter is a
  • C. Error
  • D. None of above

  • Correct Answer
  • The letter is a
    Now the letter is A 

    Explanation
    Step 1: char ch; ch = 'A'; here variable ch is declared as an character type an initialized to 'A'.

    Step 2: printf("The letter is"); It prints "The letter is".

    Step 3: printf("%c", ch >= 'A' && ch <= 'Z' ? ch + 'a' - 'A':ch);

    The ASCII value of 'A' is 65 and 'a' is 97.

    Here

    => ('A' >= 'A' && 'A' <= 'Z') ? (A + 'a' - 'A'):('A')

    => (TRUE && TRUE) ? (65 + 97 - 65) : ('A')

    => (TRUE) ? (97): ('A')

    In printf the format specifier is '%c'. Hence prints 97 as 'a'.

    Step 4: printf("Now the letter is"); It prints "Now the letter is".

    Step 5: printf("%c\n", ch >= 'A' && ch <= 'Z' ? ch : ch + 'a' - 'A');

    Here => ('A' >= 'A' && 'A' <= 'Z') ? ('A') : (A + 'a' - 'A')

    => (TRUE && TRUE) ? ('A') :(65 + 97 - 65)

    => (TRUE) ? ('A') : (97)

    It prints 'A'

    Hence the output is

    The letter is a
    Now the letter is A


    Expressions problems


    Search Results


    • 1. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i=4, j=-1, k=0, w, x, y, z;
          w = i || j || k;
          x = i && j && k;
          y = i || j &&k;
          z = i && j || k;
          printf("%d, %d, %d, %d\n", w, x, y, z);
          return 0;
      }
      

    • Options
    • A. 1, 1, 1, 1
    • B. 1, 1, 0, 1
    • C. 1, 0, 0, 1
    • D. 1, 0, 1, 1
    • Discuss
    • 2. Size of short integer and long integer can be verified using the sizeof() operator.

    • Options
    • A. True
    • B. False
    • Discuss
    • 3. A float is 4 bytes wide, whereas a double is 8 bytes wide.

    • Options
    • A. True
    • B. False
    • Discuss
    • 4. Range of double is -1.7e-38 to 1.7e+38 (in 16 bit platform - Turbo C under DOS)

    • Options
    • A. True
    • B. False
    • Discuss
    • 5. A long double can be used if range of a double is not enough to accommodate a real number.

    • Options
    • A. True
    • B. False
    • Discuss
    • 6. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int x=12, y=7, z;
          z = x!=4 || y == 2;
          printf("z=%d\n", z);
          return 0;
      }
      

    • Options
    • A. z=0
    • B. z=1
    • C. z=4
    • D. z=2
    • Discuss
    • 7. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i=-3, j=2, k=0, m;
          m = ++i && ++j || ++k;
          printf("%d, %d, %d, %d\n", i, j, k, m);
          return 0;
      }
      

    • Options
    • A. 1, 2, 0, 1
    • B. -3, 2, 0, 1
    • C. -2, 3, 0, 1
    • D. 2, 3, 1, 1
    • Discuss
    • 8. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i=2;
          int j = i + (1, 2, 3, 4, 5);
          printf("%d\n", j);
          return 0;
      }
      

    • Options
    • A. 4
    • B. 7
    • C. 6
    • D. 5
    • Discuss
    • 9. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int k, num=30;
          k = (num>5? (num <=10? 100 : 200): 500);
          printf("%d\n", num);
          return 0;
      }
      

    • Options
    • A. 200
    • B. 30
    • C. 100
    • D. 500
    • Discuss
    • 10. What will be the output of the program?
      #include<stdio.h>
      int main()
      {
          int i=-3, j=2, k=0, m;
          m = ++i || ++j && ++k;
          printf("%d, %d, %d, %d\n", i, j, k, m);
          return 0;
      }
      

    • Options
    • A. 2, 2, 0, 1
    • B. 1, 2, 1, 0
    • C. -2, 2, 0, 0
    • D. -2, 2, 0, 1
    • Discuss


    Comments

    There are no comments.

Enter a new Comment