任务代码:
范例1:
#include <stdio.h> int main( ) { char c; c=getchar();//获得一个字符,用户需要输入一个字符 putchar(c+32); putchar('\n');//此处尤其注意putchar('')是单引号 return 0; }以上注意键盘缓存区,c的getchar()是去的是第一个字符,如果设置多个变量,不停地getchar()会渠道后面的B,C;
范例2:
#include <stdio.h> int main( ) { char a; while((a=getchar())!='\n')//在用户输入后的按回车时自动结束 { putchar(a); } return 0; } 以上程序可以用来检测用户输入字符的个数!只需要吧putchar()改成count++,并字开头设置一个count变量!范例3:
#include <stdio.h> int main( ) { char a; int count=0; while((a=getchar())!='\n')//在用户输入后的按回车时自动结束 { count++; } printf("这串字符串总共有%d个字符!",count); return 0; }范例4:
输入:血型序列(A/B/O/C,C代表AB型血,输入以X结束) 输出:各种血型的数量 输入样例:ABCAOCOAOOBX 输出样例:A:3 B:2 O:4 AB:2
#include <stdio.h> int main( ) { printf("此程序执行血型统计!\n"); char blood; int a=0,b=0,c=0,o=0; printf("请输入所有血型,输入X结束!(必须是大写,AB型血用C表示):"); scanf("%c",&blood);//第一次输入 while(blood!='X') { switch(blood) { case 'A': a++; break; case 'B': b++; break; case 'C': c++; break; case 'O': o++; break; } scanf("%c",&blood);//此处必须要再次重复,因为第一次输入位于循环之外键盘储存区只是储存用户输入的第一个字符,此处你从第二字符开始循环 } printf("A:%d\n",a); printf("B:%d\n",b); printf("O:%d\n",o); printf("AB:%d\n",c); return 0; } 范例5:转着圈加密】 为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。 加密办法,如图所示,每一个字母的密文是其后第4个字母,若超出了字母的范围,将A看作为Z的下一个字母,将a看作是z的下一个字线,依次顺延。 如″Wonderful!″转换为″Asrhivjyp!″。 输入一行字符,要求输出其相应的密码。 #include <stdio.h> int main( ) { char c; while ((c=getchar( ))!='\n') { if((c>='a'&&c<='z')|| (c>='A'&&c<='Z')) { c=c+4; if((c>'Z' && c<='Z'+4) || (c>'z')) c=c-26; } putchar(c); } printf("\n"); return 0; }执行情况:
知识总结:
getchar()是用户输入一个字符,也就是说用户输入的信息全部当做字符处理!
putchar()电脑以字符形式输出信息,主要括号中的信息,一字符形式输入所以必须是单引号!
键盘缓存区的作用可以用于记录用户输入字符的个数!
while循环统计案例:
for循环统计案例:
统计一句话里面数字的个数:
心得体会:
循环处理字符常用于记录用户输入的信息统计!