一.单选题
1.符号串集合A= { a,b,c,d,…,z,A,B,C,D,…,Z },下面对集合说法正确的是:
- A、该集合是英文字母集合
- B、该集合中符号串长度都等于n
- C、该集合是英文串集合
- D、该集合中符号串长度都小于等于n
正确答案: B
2.r=(a|b|c)(x|y|z),则L(r)中元素个数是:
- A、9
- B、6
- C、18
- D、27
正确答案: A
3.与正则表达式 (a*|b)*(c|d) 等价的正则表达式是:
- A、(a|b)*c| (a|b)*d
- B、a*(c|d)|b(c|d)
- C、a*(c|d)*|b(c|d)*
- D、a*(c|d)|b*(c|d)
正确答案: A
4.设正则表达式,则下面错误的正规集元素是:
- A、abx
- B、bxxx
- C、a
- D、bxyyxxy
正确答案: A
5.下述正则表达式中与等价的是:
- A、
- B、
- C、
- D、
正确答案: C
二.多选题
1.算术表达式123+45.6,在词法分析后,下面的合法单词是:
- A、十进制数123
- B、符号串123
- C、运算符+
- D、十进制数45.6
正确答案: ACD
2.字母表Σ={0,1},下面属于Σ的符号串的是
- A、1
- B、000
- C、ε
- D、
正确答案: ABC
三.简答题
1.设字母表S={0,1},写正则表达式表示只包含两个1的字符串。
正确答案:0*10*10*
2.设字母表S={a,b,c},试写正则表达式:以a开头且以a结尾的字符串。
正确答案:a(a|b|c)*a | a
3.设字母表S={a,b,c},用正则表达式表示三个或多个字母构成的串,且倒数第三个字母为a.
正确答案:(a|b|c)*a(a|b|c)(a|b|c)