【正确答案】
D
【答案解析】 float a[8]={1.0,2.0};定义了一个包含8个float型元素的数组,并初始化了数组的前2项,其他项是随机数。int b[1]={0};定义了只有一个int型元素的数组,并初始化为0。char c[]={"A","B"};定义了一个char型数组,大小由初始化元素决定,但初始化值是字符串,类型不兼容,编译出错。char d=="1";定义了一个char型变量,但是初始化值是字符串,类型不兼容,编译出错。因此只有a,b定义和初始化正确。故答案为选项D。