QBasic je variantou programovacího jazyka BASIC (název je odvozen z produktu QuickBASIC, BASIC je zkratkou pro Beginner's All-purpose Symbolic Instruction Code). Nedovede kompilovat do samostatně spustitelných souborů, zdrojový kód je překládán za běhu (je tzv. interpretován).
QBasic měl sloužit jako náhrada za GW-BASIC a byl dodáván společně s MS-DOSem od verze 5.0, včetně Windows 95. Vycházel z dřívějšího produktu QuickBASIC 4.5, nicméně neobsahoval kompilátor ani linker.
Microsoft přestal dodávat QBasic s pozdějšími verzemi Windows. Uživatelé Windows 98 jej nicméně mohli najít na instalačním CD-ROM v adresáři \TOOLS\OLDMSDOS; na instalačním CD Windows 95 se nacházel v adresáři \OTHER\OLDMSDOS. Nyní je dostupný jen pro licencované uživatele MS-DOS na webových stránkách Microsoftu. QBasic obsahoval už více než před deseti lety vyspělé vývojové prostředí, včetně debuggeru s vlastnostmi, jako je vyhodnocování výrazů a úprava kódu za běhu programu, což bylo relativně neobvyklé i v roce 2003.
QBasic byl také předmětem mnoha programátorských učebnic pro začátečníky.
S použitím emulátoru DOSBox je možné jej spustit na většině platforem, jako je Windows XP, Linux, FreeBSD atd.
QBasic byl dodáván s dvojicí ukázkových her: Nibbles (varianta klasické hry Snake, česky Had) a Gorilla (hra, v níž po sobě gorily vrhaly výbušné banány) a programem RemLine, jenž odebíral ze zdrojového kódu pro GW-BASIC čísla řádků.
Stejně jako QuickBASIC (a na rozdíl od dřívějších verzí Microsoft BASICu) byl QBasic strukturovaným programovacím jazykem, podporujícím věci jako pojmenované podprogramy (subroutines) a cykly while. Čísla řádků, koncept často spojovaný s BASICem, byly podporovány jen z důvodů kompatibility, nicméně nebyly nezbytné ani vhodné. QBasic měl omezenou podporu pro uživatelsky definované datové typy (struktury) a několik datových typů pro uchovávání řetězcových, textových či numerických dat.
Následující program vypíše „Hello, World“ a vydává podivné zvuky:
PRINT "Hello, World"
FOR Note = 450 TO 750 STEP 20
SOUND Note, 1
SOUND 800 - Note, 1
NEXT Note
FOR Note = 750 TO 450 STEP -20
SOUND Note, 1
SOUND 750 + Note, 1
NEXT Note
FOR Note = 100 TO 1000 STEP 20
SOUND Note, 1
SOUND 750 + Note, 1
NEXT Note
END
Tento program nakreslí čtverec na obrazovku:
SCREEN 12 'Definuje grafické rozlišení VGA 640 x 480'
LINE (0,0)-(100,0),15 'Definuje čáru z bodu (X1,Y1) do bodu (X2,Y2)při barvě číslo 15 - bílá'
LINE (0,0)-(0,100),15
LINE (0,100)-(100,100),15
LINE (100,0)-(100,100),15
nebo
SCREEN 12
LINE (0,0) - (100,0), 15
LINE - (100,100), 15 'Navazuje na poslední předchozí hodnotu'
LINE - (0,100), 15
LINE - (0,0), 15
nebo
SCREEN 12
LINE (0,0) - (100,100), 15, B 'Nakreslí čtverec, díky parametru "B" (box)