求大神帮我解释一下我代码中注释的那部分。怎么看都看不懂,感激不尽!

#include <stdio.h>
main()
{
	int x,y,flag;
	printf("please input a num x:\n ");
	scanf("%d",&x);
	flag=x<0?-1:(x<10?1:2);/*求解释*/
	switch(flag)
	{
	case -1:y=x;break;/*求解释case是什么意思*/
	case 1:y=2*x-1;break;
	case 2:3*x-1;
	}
	printf("y=%d\n",y);
}