Ciao,
Allora tanto per cominciare ti consiglio vivamente di utilizzare il tag code quando inserisci un codice e soprattutto di indentare il suddetto codice, ho fatto più fatica a leggere il codice che a far altro...
in secondo luogo il primo errore grave che ho riscontrato è l'assegnamento di variabile nel primo if:
[...]
if((d<0) || (d=1)){
[...]
è errato, bisogna inserire == per comparare e non = quindi corretto è:
[...]
if((d<0) || (d==1)){
[...]
ora ti posto il tuo codice corretto, sappi che esistono modi più eleganti e molto più funzionali per convertire un numero in binario.. ma a parte questo uno dei tuoi errori è complicarti la vita, un metodo corretto per scrivere il tuo codice in modo leggibile e chiaro saprebbe questo:
#include <stdio.h>
#include <stdlib.h>
int main(){
  int n; //dati di input //contiene il numero che si inserisce
  int d; //variabili di lavoro // contiene il valore di n, su cui andremo poi a lavorare successivamente
  int r; //dati di output //contiene il numero binario corrispondente
  printf("Programma per convertire un numero da decimale a binario.\n");
  printf("Inserisci un numero senza virgola e positivo: ");
  scanf("%d",&n);
  d=n;
  if((d<0) || (d==1)){
    if(d<0)
    printf("Impossibile calcolare il numero binario.");
    else{
      r=1;
      printf("Il numero binario e\': %d",r);
    }
  }
  else
    do{
      r = d % 2;
      printf("%i ",r);
      if (r == 0)
        d /= 2;
      else
        d = (d-1)/2;
    }
    while(d>0);
    printf("\n");
  return 0;
}
inoltre non capisco perché utilizzi la variabile n, consiglio di ricevere subito il dato nella variabile d ed evitare di allocare memoria inutile.
per fare bene questo esercizio inoltre dovresti salvare r in un array e poi stamparlo rovescio perché altrimenti il numero esce completamente rovesciato..