Na应该先和HCl反应的,因为Na与水反应的原理其实是和水电离出的氢离子反应,但由于是盐酸溶液,HCl是强电解质,水是弱电解质,HCl电离的H+远多余水电离的,并且会抑制水的电离,因此,虽然Na和水或盐酸反应的本质都是与H+反应,但在盐酸溶液中,Na会先和HCl放映,后和水反应.
从另一个角度也可以解释,假设Na先和水反应生成NaOH,而生成的NaOH还会和HCl反应生成NaCl和水,因此,反应其实就是和HCl反应了.
本题由于Na过量,因此只有Na与盐酸溶液反应,Zn不反应:2Na+2(H+)=2(Na+)+H2↑
2Na————2H+————H2
1 ———— 1 ————0.5
所以只能生成0.5mol氢气.
(另外,我觉得你的题目说得不太明白,我是按溶液里含有0.1mol的HCl算的.如果是溶液一共有0.1mol,那就只能电离0.1mol的H+,则只能生成0.05mol的H2了,总之,HCl肯定是不够的,因此Zn肯定是不反应的)