Intendevi questo?
int main()
{
    int mat[MATRICE][MATRICE];
    //azzero;
    int x,y,xy;
    for (y = 0;y < MATRICE ;y++)
        for (x = 0;x < MATRICE ;x++)
            mat[y][x] = 0;
    //diagonale
    for (xy = 0;xy < MATRICE ;xy++)
        mat[xy][xy] = 1;
    //sopradiagonale y - n
    int n = 1;
    for (x = 0,y = 0 - n; x < MATRICE ; x++,y++)
    {
        if ( y >= 0)
            mat[y][x] = 2;
    }
    //sopradiagonale x + n
    n = 2;
    for (x = 0 + n,y = 0; x < MATRICE ; x++,y++)
    {
        if ( x >= 0)
            mat[y][x] = 3;
    }
    for (y = 0;y < MATRICE ;y++)
    {
        for (x = 0;x < MATRICE ;x++)
        {
            printf("%d\t",mat[y][x]);
        }
        printf("\n");
    }
    return 0;
}