Programa em C que calcule, mostre resultado, senao envia mensagem de erro

Preciso fazer um programa em C que faça soma/subtraçao/multiplicaçao/divisao. Ate ai beleza. Mas preciso mostrar "Comando invalido!" caso o usuario digite qualquer caractere especial que nao seja numeros de 0 a 9. Estou fazendo assim:

#include<stdio.h>
#include<stdlib.h>
#include<locale.h>
int main(){
float a,b,r;
printf("\nDigite o primeiro valor:");
scanf("%f",&a);
printf("\nDigite o segundo valor:");
scanf("%f",&b);
if ((a!=float) || (b!=float)) {
printf("\n\n Comando invalido!");
}
else{
r=a+b;
printf("\n\n %.2f + %.2f = %.2f",a,b,r);
r=a-b;
printf("\n\n %.2f - %.2f = %.2f",a,b,r);
r=a*b;
printf("\n\n %.2f * %.2f = %.2f",a,b,r);
r=a/b;
printf("\n\n %.2f / %.2f = %.2f\n\n\n",a,b,r);
}
return 0;
}

#calculo
#Erro
#simples
#Programacao-C
Disciplina:Programação C1.519 materiais