黑眼睛 发表于 2020-9-28 17:19:38

求鱼油友指教,不懂这个count 和 ch是怎么联系起来的。。


不懂这个整型变量count 和 ch 之间有什么联系,不知道这个操作为什么会将大写字母筛选出来

==================源代码如下=============
#include<stdio.h>


int main()


{
    int ch, count = 0;//count只是定义一个整型变量,并初始化为0;
   
    printf("请输入一行英文句子:");
   
    while ( (ch = getchar() ) != '\n')
    {
      if (ch >= 'A' && ch <= 'Z')//这里看不太懂
      {
                count = count + 1;    //这里也看不太懂
      }
      
      
    }
   
    printf("你总共输入了%d个大写字母!\n", count);
   
    return 0;
}




乐乐学编程 发表于 2020-9-28 23:58:34

我爱鱼C

风过无痕1989 发表于 2020-9-29 01:13:26

本帖最后由 风过无痕1989 于 2020-9-29 01:27 编辑

这个程序是统计你输入了多少个大写字母 (你发的没有行号,看着不方便,那就看我复制下来的你的程序吧)

14行,我换个方向,你应该能看明白了,它就像我们所见的2 <= ch <= 8 是一样的,只是在C语言程序中,不允许连着写,必须要分成两个表达式,中间用 “和 ”来连接,“和” 这个连接用两个 & 来表示;计数器,在程序里我已经用注释说明了,就不多说了。

count 与 ch 没有直接的关系,ch 是用来接收从键盘输入的字母的(无论大小写都接收),有了它,然后就到程序的第14行去比较,如果接收到的字母是介于大写字母 A 与大写字母 Z 之间的( 具体的判断参看字符表的 ASCII 码,大写字母 A 的 ASCII 码是 65,大写字母 Z 的 ASCII 码是 90 ),所以,第14 行又可以改写成:if (65 <= ch && ch <= 90)。

#include<stdio.h>


int main()


{
    int ch, count = 0;                     // 定义一个用来充作计数器的整型变量 count,并初始化为0;
   
    printf("请输入一行英文句子:");
   
    while ( (ch = getchar() ) != '\n')
    {
      if ('A' <= ch && ch <= 'Z')   // 我将 ch >= 'A' 换成 'A' <= ch 这样,就比较符合我们平常的习惯了
      {
                count = count + 1;      // 这里就是对大写字母进行统计,符合上一条的条件就说明有一个大写字母,计数器就加1
      }
      
      
    }
   
    printf("你总共输入了%d个大写字母!\n", count);
   
    return 0;
}
页: [1]
查看完整版本: 求鱼油友指教,不懂这个count 和 ch是怎么联系起来的。。