判断字符类型

8 分钟

判断字符属于哪一类,就是看它的编号落在哪一段区间里:

  • 是数字:'0' <= c && c <= '9'
  • 是小写字母:'a' <= c && c <= 'z'
  • 是大写字母:'A' <= c && c <= 'Z'
char c;
bool isDigit = (c >= '0' && c <= '9');
bool isLower = (c >= 'a' && c <= 'z');
bool isUpper = (c >= 'A' && c <= 'Z');
bool isLetter = isLower || isUpper;   // 是字母:两段任一

标准库里 isdigitisalphaislowerisupper(在 <cctype> 中)能一步搞定,考试手写区间判断也完全够用。单次判断

两个高频坑:一是连接符要用 &&(同时满足两个边界),写成 || 会永远为真;二是区间是闭区间,两端的 '0''9''a''z' 本身都算在内,用 <= 而不是 <。想判断"是不是字母",把大写、小写两段用 || 连起来即可。

小纸条

写出"判断是不是大写字母"的条件。

登录 后可看答案

判断字符类型 · 考级冲刺 · op599 课程