能识别浮点数词法分析程序(C语言实现)
时间: 2023-12-05 17:03:00 浏览: 92
基于C语言设计并实现的词法分析程序【100012725】
5星 · 资源好评率100%
以下是一个可以识别浮点数的词法分析程序,使用 C 语言实现:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[20];
int i = 0;
int flag = 0;
printf("请输入一个字符串:");
scanf("%s", str);
// 判断字符串是否为浮点数
while (str[i]) {
if (isdigit(str[i])) {
i++;
} else if (str[i] == '.') {
i++;
flag = 1;
break; // 有且只有一个小数点
} else {
printf("输入的字符串不是浮点数\n");
return 0;
}
}
if (flag == 1) {
while (str[i]) { // 判断小数点后面的数字
if (isdigit(str[i])) {
i++;
} else {
printf("输入的字符串不是浮点数\n");
return 0;
}
}
printf("输入的字符串是浮点数\n");
} else {
printf("输入的字符串不是浮点数\n");
}
return 0;
}
```
相比于简单的浮点数识别程序,词法分析程序加入了对小数点后面数字的判断,确保字符串中只有一个小数点,并且小数点后面跟着至少一个数字。
阅读全文