选A。
B没有将字符给c,C是逻辑条件,不是赋值语句,D是判断有没有输入字符,不能判断后面的逻辑条件是换行符。
#include
#include
void main()
{ int i=0,count1[26]={0},count2[26]={0};
char ch[100];
printf("enter a sentence:");
gets( ch );
while( ch[i] )
{if(ch[i]>='a'&&ch[i]<='z') count1[ch[i]-'a']++;
else if(ch[i]>='A'&&ch[i]<='Z') count2[ch[i]-'A']++;i++;}
for(i=0;i<26;i++)
{if( i % 5==0 )putchar('\n'); printf(" 字母baidu%c : %d ",'a'+i,count1[i]);}
for(i=0;i<26;i++)
{if( i % 5==0 )putchar('\n'); printf(" 字母%c : %d ",'A'+i,count2[i]);}
}
扩展资料:
字符包括字母、数字、运算符号、标点符号和其他符号,以及一些功能性符号。字符在计算机内存放,应规定相应的代表字符的二进制代码。代码的选用要与有关外围设备的规格取得一致。这些外围设备包括键盘控制台的输入输出、打印机的输出等等。
字符作输入时,要自动转换为二进制代码存于机内;输出时,计算机内二进制代码自动转化为字符,两者的转换全是靠外围设备实现的。字符是数据结构中最小的数据存取单位。
参考资料来源:百度百科-字符
应该是:A,是对变量 C 赋值的语句。
即:
while ((c = getchar()) != ’\n’) {
……
下面,要用 C 进行判断。
因为后面是!=’\n’,必然是字符,所以B、D不正确。
C是逻辑判断,所以不正确,因此A是正确的。