C doesn't have rotate-left and rotate-right for binary. You can code rotate left and rotate-right functions yourself. But as per standards: nope.
Simple rotate-left :
int rotate_left(int num, int bits)
{
return ((num << bits) | (num >> (32 -bits)));
}
int rotate_right(int num, int bits)
{
return ((num >> bits) | (num << (32 -bits)));
}
The above functions will work with 32 bit integers only :)
Now for the philosophy: C was meant to be portable as much as possible. That's what the standards team want it to be "a portable assembler". There is no guarantee that rol and ror is present on architectures of the future. Or might behave differently. Hence it was kept away from standards.