某化合物A的分子式為C5H8,在液氮中與NaNH2作用后,再與1-溴丙烷作用,生成分子式為C8H14的化合物B,用KMnO4氧化B得分子式為C4H8O2的兩種不同的酸C和D。A和稀H2SO4/HgSO4水溶液作用,可生成酮E(C5H10O)。試寫(xiě)出A~E的構(gòu)造式。
相關(guān)標(biāo)簽: 分子式 化合物
相關(guān)問(wèn)題推薦
-
甲苯的分子式是什么?
-
某羧酸酯的分子式為1mol該酯完全水解可得到1mol羧酸和2mol乙醇,該羧酸的分子式為(?。?p>A.
B.
C.
D.
-
閱讀下列程序說(shuō)明和C代碼,將應(yīng)填人(n)處的字句寫(xiě)在對(duì)應(yīng)欄內(nèi)。
[程序5說(shuō)明]
下列文法可用來(lái)描述化學(xué)分子式的書(shū)寫(xiě)規(guī)則(例如,A12(CO3)3”Cu(OH)2):
λ→β\βλ
β→δ\δn
δ→ξ\ξθ\(λ)
其中:λ是—個(gè)分子式;δ或是一個(gè)元素,或是一個(gè)帶括號(hào)的(子)分子式,元素或是一個(gè)大寫(xiě)字母(記為ξ),或是一個(gè)大寫(xiě)字母和一個(gè)小寫(xiě)字母(記為ξθ)β或是一個(gè)δ,或是在δ之后接上一個(gè)整數(shù)n,δn表示β有n個(gè)δ的元素或(子)分子式。—個(gè)完整的分子式由若干個(gè)β組成。
當(dāng)然一個(gè)正確的分子式除符合上述文法規(guī)則外,還應(yīng)滿(mǎn)足分子式本身的語(yǔ)義要求。
下面的程序輸入分子式,按上述文法分析分子式,并計(jì)算出該分子式的分子量。例如:元素H的原子量是1,元素O的原子量是16。輸入分子式H2O,程序計(jì)算出它的分子量為18 (1×2+16)。程序中各元素的名及它的原子量從文件atom.dat中讀入。
[程序5]
include < stdio. h >
include < string. h >
define MAXN 300
define GMLEN 30
struct elem { char name[ ]; /* 元素名*/
double v;/*原子量*/
} nTbl [MAXN];
char cmStr [GMLEN], * pos;
int c;FILE * fp;
double factor( );
double atom( ) /* 處理文法符號(hào)δ*/
{char w [3];int i; double num;
while((c = * pos++) =='||c =='\t'); /*略過(guò)空白字符*/
if(c == '\n') return 0.0;
if(c>='A' && C <='Z') {/*將元素名存入W */
w[i =0]=c;c= * pos ++
if(c >='a'&& c <='z')w[ ++i] =c;else pos--;
w[ ++i] ='\0',
for(i =0;nTbl [i]. v >0.0;i ++)
if(strcmp (w,nTbl[i]. name) ==0) return nTbl [i]. v;
printf (" \n元素表中沒(méi)有所輸入的無(wú)素: \t%s\n',w); retur n - 1.0;
} elseif (c = ='(') {
if((num=(1)) <0.0)return -l.0; /*包括可能為空的情況*/
if( * pos ++ ! = ')') { printf (" 分子式中括號(hào)不匹配!/n") ;return - 1.0; }
return num;
}
printf ("分子式中存在非法字符:\t%c\n" ,c);
return - 1.0;
}
double mAtom( ) /* 處理文法符號(hào)β*/
{ double num ;int n = ];
if((num=(2)) <0.0)return-l.0;
c= *pos++;
if(c >='O'&&c <='9') {
n = 0; while(c > = 0&&c < ='9')
{n=(3);
c= *poss ++;
}
}
pos --;
return num * n;
}
double factor( ) /*處理文法符號(hào)λ*/
{ double num =0.0,d;
if(( hum = mAtom ( )) < 0.0) return - 1.0;
while( * pos >= 'A'&& * pos <= 'Z'||* pos == '(') {
if((d=(4)) <0.0)return-1.0;
(5);
} return num;
void main( )
{ char fname[ ] ="atom. dst"; /*元素名及其原子量文件*/
int i;double num;
if((fp=fopon(fname,"r" )) == NULL) { /*以讀方式打開(kāi)正文文件*/
prinff("Can net open%s file. \n' ,fname) ;return /*程序非正常結(jié)束 */
i=0;
while(i < MAXN&&fscanf (fp," %s%lf,bTbl[i]. name,&nTbl[i]. v) ==2)
i++;
fclose(fp) ;nTbl[i]. v =-1.0;
while(1) [/*輸入分子式和計(jì)算分子量循環(huán),直至輸入空行結(jié)束*/
printf(" \n 輸入分子式! (空行結(jié)束) \n" ) ;gets(cmStr);
pos = cmStr;
if(cmStr[0] == '\0') break;
if( (num = later( ) ) > 0.0)
if( * pos! = '\0')printf("分子式不完整! \n" );
else printf("分子式的分子量為%f\n",num);
}
-
1mol某有機(jī)物充分燃燒,只生成88g二氧化碳?xì)怏w和54g水,下列結(jié)論正確的是
[??]
A.該有機(jī)物的分子式為CH4B.該有機(jī)物的分子式一定為C2H6C.該有機(jī)物的分子式一定為C2H6OD.該有機(jī)物的分子中碳原子和氫原子的個(gè)數(shù)比為1∶3,可能含有氧原子
-
葡萄糖的分子式為C6H12O6。10分子葡萄糖縮合反應(yīng)連接而成的多聚體,其分子式應(yīng)是:()
A、C60H120O60
B、C6H12O6
C、C60H102O51
D、C60H100O50
E、C60H112O51