news 2026/3/15 1:43:18

计算机等级考试—软考文法题

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机等级考试—软考文法题

全程不讲废话,先把文法的符号、规则掰碎成 “拼音识字级”,再教你唯一解题方法(推导法),套上就能解软考所有文法选择题,一步一步来,保证你能跟着走通!

第一步:先认文法的「4 个核心符号」—— 就 4 个,记死!

软考里的文法固定格式是G=(Vₙ, Vₜ, P, S),这四个部分没有任何模糊的地方,长得就是字母 + 符号的组合,先把每个部分的含义、长什么样、作用记牢:

符号中文名长什么样(软考真题版)核心作用通俗类比
Vₙ非终结符{S,A,B,E}(大写字母)可以继续拆分的 “概念”语文里的 “句子、主语、谓语”
Vₜ终结符{a,b,0,1,+,-}(小写 / 数字 / 运算符)不能拆分的基本符号,是推导的 “最终结果”语文里的 “字、词”,编程里的 “变量、符号”
P产生式S→aSb、A→ab(箭头式)文法的核心规则:规定 “非终结符怎么拆成其他符号”拼音的 “拼写规则”(如:妈→m+a)
S开始符号单个大写字母(如 S)推导的唯一起点,所有合法串都从它开始拆拼单词的 “首字母”

硬规矩记死

  1. 非终结符只有大写字母,终结符只有小写 / 数字 / 运算符,软考里绝对不会混;
  2. 产生式的箭头左边只能是 1 个非终结符,右边可以是 “非终结符 + 终结符” 的任意组合;
  3. 推导的目标:把开始符号 S,通过产生式一步步拆,直到右边全是终结符(没有任何大写字母),拆出来的这个串,就是该文法的合法句子

第二步:教你「唯一解题方法 —— 正向推导法」

软考文法题 99% 是选择题:给文法,问哪个选项的串是合法的。不用学复杂方法,就用正向推导(从 S 开始拆,凑选项),3 步就能解,慢动作教你,全程只套规则,不用动脑子!

解题 3 步固定流程:
  1. 定起点:从开始符号S出发;
  2. 套规则:每次选一个产生式,把当前的非终结符替换成箭头右边的内容;
  3. 终目标:拆到没有任何大写字母(全是终结符),得到的串就是合法串,去选项里找匹配的即可。

第三步:拿软考真题原型题,慢动作走一遍(全程不跳步)

真题原型:

给定文法 G=(Vₙ, Vₜ, P, S),其中Vₙ={S},Vₜ={a,b},P={①S→aSb,②S→ab},问:下列哪个串是该文法的合法句子?A. aabb B. aaabbb C. abab D. abba

慢动作推导(跟着走,绝对能懂):

起点:从唯一的非终结符S开始(Vₙ只有 S,没其他大写字母)

第一次推导:试产生式② S→ab

S → ab → 右边全是 a、b(终结符),推导结束→ 合法串:ab(如果选项有 ab,直接选)。

第二次推导:试产生式① S→aSb(想凑更长的串,软考常考长串)

S → aSb → 此时右边有S(大写,非终结符),必须继续拆这个 S!

  • 对这个 S再用产生式② S→ab:aSb → aabb → aabb → 右边全是终结符,推导结束→ 合法串:aabb(对应选项 A,这就是答案)。
拓展推导(凑更长的串,理解规律):

如果想拆出 aaabbb,就多来一次:S→aSb → a (aSb) b → aaabbb → aaabbb(也是合法串,若选项有也对)。

为什么其他选项错?
  • B.aaabbb:本题如果只推 2 次是 aabb,推 3 次才是 aaabbb,若题目没要求,A 是最直接答案;
  • C.abab、D.abba:用 S 的两个产生式,怎么拆都拆不出这两个串,因为产生式只有 S→aSb 和 S→ab,拆出来的串一定是a 在前、b 在后,且 a 和 b 数量相等,直接排除。

第四步:再练一道「带 2 个非终结符」的真题(进阶版,软考高频)

真题原型:

文法 G=(Vₙ, Vₜ, P, S),Vₙ={S,A},Vₜ={a},P={①S→A,②A→aA,③A→a},问合法串是?A. a B. aa C. aaa D. 以上都是

慢动作推导:

起点:S

  1. S→A(用规则①),现在要拆 A;
  2. 拆 A:用规则③ A→a → 得到a(选项 A 合法);
  3. 拆 A:用规则② A→aA,再拆新的 A→a → aa=aa(选项 B 合法);
  4. 拆 A:用规则② A→aA,再拆 A→aA,再拆 A→a → aaa=aaa(选项 C 合法);→ 答案:D。

第五步:软考文法题「避坑 + 秒杀技巧」

  1. 一眼排除法:选项里如果出现大写字母,直接排除(合法串必须全是终结符,无大写);
  2. 数量规律法:像第一题 S→aSb、S→ab,拆出来的串a 和 b 数量一定相等,选项里 a、b 数量不一样的直接排除;
  3. 只推选项:不用把所有合法串都推出来,看选项的串,反向凑推导步骤(比如选项是 aabb,就想怎么从 S 拆出 aabb),节省时间;
  4. 产生式只能套箭头左边:比如产生式是 A→a,就只能替换 A,不能替换 S,软考不会考不规则产生式。

总结

文法在软考里没有模糊考点,所有题都是套推导规则,核心就两点:

  1. 认死4 个核心符号的样子和规则,大写 = 非终结符、小写 / 数字 = 终结符;
  2. 正向推导法,从 S 开始,套产生式拆,直到全是终结符,凑选项即可。

现在来练一道题,检验一下,你试着推,我帮你批改:练习题:文法 G=(Vₙ={S}, Vₜ={0,1}, P={S→0S1, S→01}),合法串是?A. 0011 B. 0101 C. 0001 D. 0110

阿雪技术观


让我们积极投身于技术共享的浪潮中,不仅仅是作为受益者,更要成为贡献者。无论是分享自己的代码、撰写技术博客,还是参与开源项目的维护和改进,每一个小小的举动都可能成为推动技术进步的巨大力量

Embrace open source and sharing, witness the miracle of technological progress, and enjoy the happy times of humanity! Let's actively join the wave of technology sharing. Not only as beneficiaries, but also as contributors. Whether sharing our own code, writing technical blogs, or participating in the maintenance and improvement of open source projects, every small action may become a huge force driving technological progrss.

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/9 0:06:37

告别低效生产!先知AI如何重塑男装AIGC应用场景?

告别低效生产!先知AI如何重塑男装AIGC应用场景?当谈论男装行业的未来时,无法避开AIGC这一变革性技术。然而,技术落地常伴随重重挑战:工具零散、效果不稳、人才短缺,令许多企业望而却步。北京先智先行科技有…

作者头像 李华
网站建设 2026/3/14 13:26:01

从启动到收尾,生产型企业上 ERP 必须避开的 5 个坑

很多生产型企业上 ERP,一上就容易踩坑。有的企业功能选得全,但一线操作没人用有的企业流程设计复杂,数据看起来齐全,却总是和实际不符还有的企业以为买了系统就能解决问题,结果上线半年发现,问题根本没消失…

作者头像 李华
网站建设 2026/3/13 10:06:15

【计算机毕业设计案例】基于卷积神经网络识别苹果品质基于python_CNN深度学习卷积神经网络识别苹果品质

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/3/13 9:29:25

013-计算机操作系统实验报告之Linux命令!

今天给大家分享的是一个计算机网络实验报告:Linux 常用命令的使用! 相信学计算机的小伙伴肯定不陌生,这个实验包括了实验目的、实验内容、实验截图三个部分。 详细包括了该实验课程所需要的各个知识点。详情请看图片目录。只分享文档&#xf…

作者头像 李华
网站建设 2026/3/13 1:32:44

Scala 访问修饰符

Scala 访问修饰符 引言 Scala是一种多范式编程语言,它结合了面向对象和函数式编程的特性。在Scala中,访问修饰符是控制类、对象、方法和属性可访问性的关键字。正确使用访问修饰符是Scala编程中一个重要的方面,它有助于保护代码的安全性和封装性。本文将详细介绍Scala中的…

作者头像 李华