> Write a C program which prints Hello World! without using a semicolon
Here's one way, cheating a bit by abusing the definition of "a C program which prints":
/tmp$ gcc hw.c
hw.c:1:2: warning: #warning Hello world! [-Wcpp]
#warning Hello world!
A more serious solution, though: /tmp$ cat hw.c
#include <stdio.h>
void main(void)
{
if (puts("Hello world!")) {}
}
/tmp$ gcc hw.c
/tmp$ ./a.out
Hello world!