DZN VANILLA++ 11 серверов, минимум модов, стандартная экономика, расширенное строительство, строй лут в подарок!
 Играй

C Essentials Part 1 Module 3 Test [NEW]

Elena stared at the blinking cursor on her vintage terminal. She was one step away from passing Module 3 of her C programming certification. The test simulation presented a problem: "Write a program that reads two integers. If their sum is greater than 100, print 'HIGH'. If the sum is between 50 and 100 inclusive, print 'MEDIUM'. Otherwise, print 'LOW'." She smirked. Simple. She quickly typed:

Then she remembered — Module 3’s hidden trap: 50 <= sum <= 100 is parsed as (50 <= sum) <= 100 . (50 <= 60) is 1 , then 1 <= 100 is always true. So the second if always runs, and if the first if fails, the else prints too.

She stared. Why both "MEDIUM" and "LOW"? c essentials part 1 module 3 test

#include <stdio.h> int main() { int a, b, sum; scanf("%d %d", &a, &b); sum = a + b; if (sum > 100) printf("HIGH"); if (50 <= sum <= 100) printf("MEDIUM"); else printf("LOW"); return 0; }

The terminal glowed green: .

One last question: "Which statement correctly reads a single character and ignores whitespace?" She chose: scanf(" %c", &ch); — the space before %c consumes newline or space.

But the final test question was trickier: "What is the output of this code?" int x = 5; int y = 2; float z = x / y; printf("%f", z); She almost answered 2.5 , but caught herself. Integer division truncates. x / y = 2 , then stored as 2.000000 . The correct output: 2.000000 . Elena stared at the blinking cursor on her vintage terminal

She corrected it:

if (sum > 100) printf("HIGH"); else if (sum >= 50 && sum <= 100) printf("MEDIUM"); else printf("LOW"); Run again. 20 40 → LOW . 45 30 → MEDIUM . 80 30 → HIGH . Perfect. If their sum is greater than 100, print 'HIGH'

She hit . Input: 75 30 → Sum = 105. Output: HIGH . Good. Input: 20 40 → Sum = 60. Output: MEDIUMLOW — Error!