c++ 结构体_有机化学数同分异构体(信息量有点大zz)

2023-10-21 11:30

本文主要是介绍c++ 结构体_有机化学数同分异构体(信息量有点大zz),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

886ad29235e3641ac059a5312652915e.png

知识储备:

不饱和度Ω

1.不饱和度Ω的计算:

烃类或者烃的含氧衍生物(CxHy)(CxHyOz) Ω=x+1-y/2

含N的有机物将N替换为CH (CxHyNz)→(Cx+z Hy+z)

含有卤族元素的有机物,将-X替换为H (CxHyXz)→(CxHy+z)

立体封闭有机物分子(多面体或笼状结构) 不饱和度的计算,其成环的不饱和度比面数少数1

EXERCISE:

C2H2 Ω=2+1-1=2

C5H6O Ω=5+1-3=3

C8H9N →(C9H10) Ω=9+1-5=5

C5H9Cl →(C5H10) Ω=5+1-5=1

1b918bd32fe6ef54fd8af1c14f5a46cb.png

2.不饱和度的应用

已知一个物质化学式时,推断其中可能含有的键

Ω=1 一个C=C/一个C=O/一个环

Ω=2 一个CC叁键/两个C=C/两个环/一个C=C和一个环/...................

Ω≥4时,一定要考虑苯环的存在!!!!

这个和文章好像没有联系诶... 但是做选择题很好用,比如给你一个图,问你这个物质的化学式是多少,先数一下图中的不饱和度,再算一算不饱和度,如果不一样直接排除,如果一样就先待定,看完别的再数一下。


碳链骨架与甲乙丙丁戊基+苯环

1.碳骨架(烷烃同分异构体)

【C123只有一种】C4 →2 C5 →3 C6 →5 C7 →9(爱上我舅

0864ad81427c60f2143f6125379ad4d9.png

2.碳基团

甲基→1 乙基→1 丙基→2 丁基→4 戊基→8(11248顺口溜

10700acbc04c42885ecdea3d4fe0b68d.png

3.苯环上基团(实在懒得画了)

2个(XX,XY)→3

3个 xxx→3 xxy→6 xyz→10

6c9285de4e19f11fa052366a6fefd4ad.png

557ca2438e69875206f9b936e4f56f30.png

题目里的特殊条件:


数同分异构体:

1.换主元

1.Eg: C5H11Cl有几种同分异构体?

一般想法:先画出C5的骨架,将Cl插入骨架中

简便想法:将Cl看做主元,将-C5H11插入Cl中,(见上甲乙丙丁基)

5ad4d778d8a5c659947183779ef89aef.png
2.Eg: C5H12O能氧化为醛的醇有多少种

1.此物必须含-CH2O

2.将-C4H10插入-CH2O

3ef8e372f5df51aba7c2ed9792b68003.png
3.Eg:C9H18O2水解后生成的两种物质式量相同,这样的酯有多少个

1.含有酯基

2.由于羧酸比醇多一个氧,故醇比羧酸多一个碳即可使二者式量相等

(解释一下2:多一个C相当于 多一个-CH2
O的相对原子质量为16 CH2也为14+2=16)

ff682e1be25f78ed9c6fdb9ef544ea01.png
4.Eg:C8H12O2酯水解为A,B,A能氧化为B,这样的酯有多少种?

1.生成醇需要含CH2OH

2.A,B含C数目原子相同

3.AB C骨架必须相同

(容易跳的坑:酯基水解后,酯基的C归羧酸,故羧酸只需3个C原子即可)

a589bedf02a8ca86556ad42587168f4a.png

2.α&β分步傻瓜法(用于两种或以上取代基)真的很蠢╰(*´︶`*)╯但是很多步骤在脑子里想,不写出来会比较简单点

1.画出碳骨架,寻找等效氢,并给位置不同等效氢标注α1 α2 等等,不是等效氢换一个字母标注

2.利用α+α , α+β ,β+β等分步来求出同分异构体(有些等效氢只有一个,此时不能β+β)

(字母相同考虑两种情况:在同一碳原子上+在不同碳原子上
字母不同也考虑两种情况:相邻的+不相邻的)

3.将多种c骨架算出来的加在一起

C4H8Cl2的同分异构体有多少种?

81c977d9a8bd414e9b2a8aa264105316.png
C4H8ClBr同分异构体多少种?(两种不同取代基方法一样,但是找完α+β之后要*2)

4bb95e867c5ef7053d1eab9886809d4d.png
萘的二氯代物同分异构体多少种?

5277a72e084722414d4130e379c12fd2.png

插空法(个人认为这是最amazing的一个方法!!)

一般用于CxHyOz属于酯酮醛醚酸的同分异构体有多少种

在介绍之前,

将醚和醇归为一类(都含有C-O)

将醛和酮归为一类(其中都含有C=O)

羧酸和酯归为一类(都含有O-C=O)


醚&醇,分别向C-C C-H 中插入-O

7d6b613621258d6b0e16f7c776d28a40.png

醛&酮可理解为在C-H键中插入C=O即为醛,在C-C键中插入C=O即为酮

9cd69fff2247c3a1a0401d076b103f8a.png

羧酸&酯同理,但有一点,O-C=O这个键可以正插反插,两种结果得到的物质不相同

e7d1756f2b3d1fb5869f9c757a2e4953.png
从总C数中减去一个C,再画出C骨架 (若求C-H,相当于插空法,可以直接凭借记忆11248,不需数了 ) 若求C-C键,最好画出C骨架,画好对称轴,数出几种C-C键)
例题:C5H10O属于醛,酮的同分异构体多少种

af92c4ecf5d7213789b92c44a615cbe2.png
例题:C5H10O2的酯同分异构体多少?

ddbedd74d4043b3b9dbb3f1258d2a9e3.png

你是这样做的吗?如果这样做,就恭喜你... 错啦!

db33ca013d5e48515a3441c8ae0c27be.png

在这种c链中正反插时,由于两边是对称的,所以得到的酯只有一种。即共有6-1=5种,且甲酸酯也是酯而不是羧酸,再加上4

答案即为6-1+4=9种

怎么判断是否两边对称呢?看对称轴是否垂直过c-c!

02357114b3c7ade805d3f66673f54ad2.png

4.. 苯环上的... 我好懒,不写了。

大致思路是先分类再分步


鄙人完全在消磨时光,第二种方法如果有更简单的请告诉我!!如果你看不懂的话我也无能为力了wwww ord

这篇关于c++ 结构体_有机化学数同分异构体(信息量有点大zz)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/254096

相关文章

【C++ Primer Plus习题】13.4

大家好,这里是国中之林! ❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看← 问题: 解答: main.cpp #include <iostream>#include "port.h"int main() {Port p1;Port p2("Abc", "Bcc", 30);std::cout <<

C++包装器

包装器 在 C++ 中,“包装器”通常指的是一种设计模式或编程技巧,用于封装其他代码或对象,使其更易于使用、管理或扩展。包装器的概念在编程中非常普遍,可以用于函数、类、库等多个方面。下面是几个常见的 “包装器” 类型: 1. 函数包装器 函数包装器用于封装一个或多个函数,使其接口更统一或更便于调用。例如,std::function 是一个通用的函数包装器,它可以存储任意可调用对象(函数、函数

C++11第三弹:lambda表达式 | 新的类功能 | 模板的可变参数

🌈个人主页: 南桥几晴秋 🌈C++专栏: 南桥谈C++ 🌈C语言专栏: C语言学习系列 🌈Linux学习专栏: 南桥谈Linux 🌈数据结构学习专栏: 数据结构杂谈 🌈数据库学习专栏: 南桥谈MySQL 🌈Qt学习专栏: 南桥谈Qt 🌈菜鸡代码练习: 练习随想记录 🌈git学习: 南桥谈Git 🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈🌈�

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

06 C++Lambda表达式

lambda表达式的定义 没有显式模版形参的lambda表达式 [捕获] 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 有显式模版形参的lambda表达式 [捕获] <模版形参> 模版约束 前属性 (形参列表) 说明符 异常 后属性 尾随类型 约束 {函数体} 含义 捕获:包含零个或者多个捕获符的逗号分隔列表 模板形参:用于泛型lambda提供个模板形参的名

usaco 1.3 Mixing Milk (结构体排序 qsort) and hdu 2020(sort)

到了这题学会了结构体排序 于是回去修改了 1.2 milking cows 的算法~ 结构体排序核心: 1.结构体定义 struct Milk{int price;int milks;}milk[5000]; 2.自定义的比较函数,若返回值为正,qsort 函数判定a>b ;为负,a<b;为0,a==b; int milkcmp(const void *va,c

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

C++——stack、queue的实现及deque的介绍

目录 1.stack与queue的实现 1.1stack的实现  1.2 queue的实现 2.重温vector、list、stack、queue的介绍 2.1 STL标准库中stack和queue的底层结构  3.deque的简单介绍 3.1为什么选择deque作为stack和queue的底层默认容器  3.2 STL中对stack与queue的模拟实现 ①stack模拟实现

自定义类型:结构体(续)

目录 一. 结构体的内存对齐 1.1 为什么存在内存对齐? 1.2 修改默认对齐数 二. 结构体传参 三. 结构体实现位段 一. 结构体的内存对齐 在前面的文章里我们已经讲过一部分的内存对齐的知识,并举出了两个例子,我们再举出两个例子继续说明: struct S3{double a;int b;char c;};int mian(){printf("%zd\n",s