ayuda operación con pulsadores

la idea es que cada vez que oprima s7 el valor de b sea constante y al presionar v7 o c8 se sume o se reste este valor con 12 osea z=12 si a=39

Sigues sin explicarte muy bien: ¿Qué tiene que ver a con b? ¿Cuánto vale b al inicio? ¿Cómo cambia a? ¿Y z, vale 12 sólo cuando a vale 39? ¿Se suma/resta una vez o cada vez que se acciona un pulsador? ¿Y los otros puntos que te he planteado antes?

Lo mejor es que, como han comentado en un post hoy, plantees un diagrama de flujo (un pequeño esquema) de lo que quieres hacer. Eso te ayudará a hacerlo y a los demás nos aclarará como ayudarte:

http://arduino.cc/forum/index.php/topic,105259.0.html

Te dejo un código que hace lo que yo creo que has dicho, pero que seguro que no es lo que quieres:

#define VALOR_B_CONSTANTE 39

// Pines de los pulsadores
int pul1 = 2;   // Pulsador 1
int pul2 = 8;   // Pulsador 2
int pul3 = 3;   // Pulsador 3

int b = VALOR_B_CONSTANTE;
int s7;   
int v7;    
int c8;

void setup() 
{
  // Entradas
  pinMode(pul1, INPUT);
  pinMode(pul2, INPUT);
  pinMode(pul3, INPUT);

  // Puerto serie
  Serial.begin(9600);
}

void loop() 
{
  // Leemos los pulsadores
  c8 = digitalRead(pul1);
  v7 = digitalRead(pul2);
  s7 = digitalRead(pul3);

  if(s7 == HIGH)  // Si pulsamos Pulsador 3 (s7)
  {
    b = VALOR_B_CONSTANTE;
    delay(200);   // Para evitar rebotes
  }
  else
  {
    if(v7 == HIGH)  // Si pulsamos Pulsador 2 (v7)
    {
      b = VALOR_B_CONSTANTE + 12;      // Suma 12 al valor constante
      delay(200);   // Para evitar rebotes
    }
    else if(c8 == HIGH) // Si pulsamos Pulsador 1 (c8)
    {
      b = VALOR_B_CONSTANTE - 12;      // Resta 12 al valor constante
      delay(200);   // Para evitar rebotes
    }
  }
}

PD: Utiliza la etiqueta de código para insertarlo (botón # en la barra superior) cuando escribes un post, eso ayuda a que se pueda ver y entender mejor.