news 2026/5/20 5:43:38

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

作者头像

张小明

前端开发工程师

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/5/2 15:21:53

【系统架构师备考笔记】005 信息系统的分类与应用

本笔记基于提供的技术文章大纲编写,旨在帮助学员系统理解信息系统的六种主要类型及其应用。笔记聚焦于核心概念、功能特点和应用场景,便于记忆和复习。内容结构清晰,从基础操作层系统到高层集成系统逐步展开,最后总结比较和未来趋…

作者头像 李华
网站建设 2026/5/11 5:13:34

深度学习毕设项目推荐-基于python深度学习卷积网络训练识别核桃好坏

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

作者头像 李华
网站建设 2026/5/16 11:22:03

Eclipse 视图(View)

Eclipse 视图(View) 引言 Eclipse 是一个功能强大的集成开发环境(IDE),广泛应用于 Java、C/C++、PHP、Python 等多种编程语言。Eclipse 视图(View)是其用户界面的重要组成部分,提供了丰富的功能模块,使得开发者可以更高效地完成软件开发工作。本文将详细介绍 Eclipse …

作者头像 李华
网站建设 2026/5/1 5:01:05

基因过表达细胞系构建与应用全攻略 | 稳定转染技术 | 功能验证方法 | 细胞模型构建 | 蛋白表达优化

基因过表达技术是分子细胞生物学研究中的基础方法之一。通过在细胞中持续高水平表达特定基因,研究者能够系统探究该基因在细胞功能调控中的作用机制。相较于瞬时转染,稳定过表达细胞系具有表达稳定性高、细胞群体均质性好、实验结果可重复性强等技术优势…

作者头像 李华
网站建设 2026/5/16 3:58:21

别再当“性能指标控”:用 Python 构建一个真正有用的 AI 伦理分析系统

别再当“性能指标控”:用 Python 构建一个真正有用的 AI 伦理分析系统 大家好,我是 Echo_Wish。今天我们聊点严肃又接地气的技术话题: 如何用 Python 构建一个 AI 伦理分析系统? 你可能会问: “AI 伦理不是抽象的价值判断吗?跟代码能搞到一起?” 答案是: 能,而且必须…

作者头像 李华