The program counter is a CPU register that holds the address of the next instruction to be executed. It ensures instructions are executed in the correct sequence unless altered by jumps or interrupts. The program counter is updated automatically during execution. Example: After executing an instruction, the program counter advances to the next address.