在英语句子中用a还是用an,一直是个容易出错的问题。
原则为:如果下一个词的发音为元音则用an,否则用a。

例:
a man
an elephant

a house
an hour

对于大写字母要注意,因为这些字母的发音有可能是元音(即使它们本身不是),典型的字母为:F, H, L, M, N, R, S, X。
例:
An FRS
An LY

注意大写字母U,其发音不是元音,要用a
例:
A US ship

注意缩写如果可读,则以读音为准判断a/an。
例:
a FEDEX employee


元音有哪些?
A, E, I, O, U

辅音有哪些?
26个字母中不是元音的都是辅音

元音是我们震动声带所发出的声音,辅音则是调整舌头、口腔控制气流发出的声音。


何为音节(syllable)?
音节是最小的声音片段,至少包含一个元音的发音(不一定有元音拼写)。
以辅音结尾的音节被称为closed syllable,以元音结尾的音节被称为open syllable。

音节示例:
Mississippi
(Four syllables: "Miss" + "iss" + "ipp" + "i")
Rugged
(Two syllables: "rugg" + "ed")

ref:
http://www.grammar-monster.com/lessons/an_or_a.htm
http://www.grammar-monster.com/glossary/vowels.htm
http://www.grammar-monster.com/glossary/syllable.htm

随机推荐

  1. 高性能JavaScript之DOM编程

    我们知道.DOM是用于操作XML和HTML文档的应用程序接口,用脚本进行DOM操作的代价非常昂贵. 有个贴切的比喻.把DOM和JavaScript(这里指ECMScript)各自想象为一个岛屿,它们之 ...

  2. 让WebService支持Get请求

    在C#中,新建一个webservice,默认是post类型的.如果需要支持Get请求,需要对web.config文件进行配置 <system.web> <compilation de ...

  3. 带参数的sigmoid

    $y=\frac{1}{1+e^{-(\alpha\times x+\beta)}}$ alpha越大,曲线越陡峭,beta控制平移 import numpy as np import pylab a ...

  4. 基于Centos搭建 Hadoop 伪分布式环境

    软硬件环境: CentOS 7.2 64 位, OpenJDK- 1.8,Hadoop- 2.7 关于本教程的说明 云实验室云主机自动使用 root 账户登录系统,因此本教程中所有的操作都是以 roo ...

  5. 【Java】数组不能通过toString方法转为字符串

    java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是从object这个类继承的.object里有一个方法就是toString(),那么所有的类创建的时候,都有一个toStrin ...

  6. Atitit 列表表格按照字段排序数据解决方案

    Atitit 列表表格按照字段排序数据解决方案 1.1. 排序ui1 1.1.1. C:\Users\Administrator\Desktop\00oa\com.attilax\ui\orderAr ...

  7. 利用linux的mtrace命令定位内存泄露(Memory Leak)

    一谈到内存泄露, 多数程序猿都闻之色变. 没错, 内存泄露非常easy引入. 但非常难定位.  以你我的手机为例(如果不常常关机). 如果每天泄露一些内存, 那么開始的一个星期, 你会发现手机好好的. ...

  8. GDB 调试器使用手冊

    使用GDB: 本文描写叙述GDB,GNU的原代码调试器. (这是4.12版1994年一月.GDB版本号4.16) * 文件夹: * 摘要: GDB的摘要 * 实例: 一个使用实例 * 入门: 进入和退 ...

  9. https://stackoverflow.com/questions/51751426/failed-to-run-the-da-platform-trial-vm

    https://stackoverflow.com/questions/51751426/failed-to-run-the-da-platform-trial-vm {  "annotat ...

  10. golang 命令行cobra妙用

    为什么使用命令行 大型项目中少不了数据升级,如果采用web服务,一来不够安全,二来数据量大的时候也会出超时的情况.这时使用命令行是比较合适的方式了. 命令行中的MVC web项目一般采用MVC模式,对 ...