In other languages

Help the wiki!

The Scratch Wiki is made by and for Scratchers. Do you want to contribute?

Learn more about joining as an editor!

See discussions in the Community Portal

C Block

The general shape of a C block.

A C block is a block that is shaped like a "C", so other blocks can fit inside it. These blocks perform the conditions and loops.


C blocks have a "mouth" (it looks like the letter "C", hence the name) — the blocks that will be played with the C block go in these mouths. All but one of the C blocks consist of one mouth — the other, If () Then, Else, consists of two mouths. When any of the other C blocks are dragged over a stack of blocks — if the C is empty — its mouth extends to wrap around them.

repeat (10)
repeat until <(loudness) > [30]>
glide (1) secs to x: (10) y: (0)
wait (1) secs
go to x: (0) y: (0)
play sound [meow v] until done

In 1.2.1 and earlier, C-block scripts could only be built one block at a time.


In Scratch 2.0, there are five C blocks, and they can all be found in the Control category.

The Forever If () block.

In Scratch 1.4 and earlier, there was also a Forever If () block. It was replaced with its workaround.

if <> then


As C blocks are for checks and loops, they are used almost everywhere. Some uses include:

  • Things that must go on forever
when gf clicked
turn cw (15) degrees
  • Checking a condition
when [space v] key pressed
if <(loudness) > [30]> then
stop [all v]
  • Repeating an animation a certain amount of times
when gf clicked
repeat (200)
turn ccw (36) degrees
change [color v] effect by (1)

Here is an example for both checks and looping:

when I receive [Decrease health v]
change [Health v] by (-1)
if <(health) = [0]> then
repeat (8)
change [color v] effect by (25)
  • Starting/Stopping
when gf clicked
if<key [space v] pressed?> then
stop [all v]

There is a check (the If () Then block is checking if the variable Health has a value of 0), and inside the check is a repeat loop (with the Repeat () block). Note how C blocks can be placed inside other C blocks.

  • This page was last modified on 8 October 2016, at 16:10.