问题 实验题

超氧化钾(KO2)是一种黄色固体,它能与二氧化碳反应生成氧气,在潜水艇中用它做制氧剂,供人们呼吸用。它与二氧化碳反应的化学方程式为:4KO2 + 2CO2 = 2K2CO3 + 3O2 。请你与小刚同学一起探究:

(1)如何在实验室验证这一反应。

(2)设计实验方案:小刚以大理石、足量的盐酸和超氧化钾为原料制取氧气,设计如左下图所示的实验装置

    

(3)进行实验:A是制取二氧化碳的装置,你认为小刚应从图1,图2,图3中选择                  。 B装置的功用是吸收A装置中产生的盐酸酸雾,C装置内可能出现的现象是                 。检验E中收集到的气体的方法:                    。

(4)实验结论:二氧化碳与过氧化钾反应有                  气体生成。

(5)交流反思:

①实验过程中发现E中的石灰水出现少量的白色沉淀,请解释原因:____________________ 。

②能表明D中的超氧化钾样品接近反应完毕时的现象                     

答案

(3)图2;变蓝;取出集气瓶,用带火星的木条伸入集气瓶内,木条复燃;

(4)O2

(5)D中有少量CO2未参加反应并随气体进入E中生成CaCO3

         E中浑浊明显增加

选择题
问答题

已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中,金额=单价X数量计算。函数ReadDat()读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求如下:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。
注意:部分源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<mem.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define MAX 100
typedef struct

char dm[5];/*产品代码*/
char mc[11];/*产品名称*/
int dj;/*单价*/
int sl;/*数量*/
long je;/*金额*/

PRO;
PRO sell[MAX];
void ReadDat();
void WriteDat();
void SortDat()


void main()

memset(sell,0,sizeof(sell));
ReadDat();
SortDat();
WriteDat();

void ReadDat()

FILE*fp;
char str[80],ch[11];
int i;
fp=fopen("IN.DAT","r");
for(i=0;i<100;i++)

fgets(str,80,fp);
memcpy(sell[i].dm,str,4);
memcpy(sell[i].me,str+4,10);
memcpy(ch,str+14,4);ch[4]=0;
sell[i].dj=atoi(ch);
memcpy(ch,str+18,5);ch[5]=0;
sell[i].sl=atoi(ch);
sell[i].je=(long)sell[i].dj*sell[i].sl;

fclose(fp);

void WriteDat()

FILE*fp;
int i;
fp=fopen("OUT5.DAT","w");
for(i=0;i<100;i++)

printf("%s%s%4d%5d%5d\n",sell[i].dm,sell
[i].mc,sell[i].dj,sell[i].sl,sell[i].je);
fprintf(fp,"%s%s%4d%5d%5d\n",sell[i].dm,
sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je);

fclose(fp);