本文目录一览:
c语言统计大小写字母 数字个数
#include stdio.h
#include stdlib.h
#define N 100
void func3()
{
char str[N];
int i,lower=0,upper=0,digit=0,space=0;
long others=0;
printf("Input a string:");
gets(str);
for(i=0;str[i]!='\0';i++)
{
if(str[i]='a' str[i]='z')
lower++; /*统计小写英文字母*/
else if(str[i]='A' str[i]='Z')
upper++; /*统计大写英文字母*/
else if(str[i]='0' str[i]='9')
digit++; /*统计字符串*/
else if(str[i]==' ')
space++;
else
others++; /*统计其他字母*/
}
printf("lower English character:%d\n",lower);
printf("upper English character:%d\n",upper);
printf("digit character:%ld\n",digit);
printf("space:%d\n",space);
printf("other character: %ld\n",others);
return 0;
}
int main()
{
while(1)
{
func3();
printf("\n");
system("pause");
}
return 0;
}
扩展资料:
程序实现思路分析
统计大小写字母、数字的个数,首先要判断出字符是属于哪一种,然后增加计数。
1、判断
小写字母的范围为:'a'~'z'
大写字母的范围为:'A'~'Z'
数字的范围为:'0'~'9'
2、声明三个int变量并赋值初值为0
lower——统计小写英文字母
upper——统计大写英文字母
digit——统计数字
c语言区分大小写字母吗?
有区分。
一、用途不同
1、大写:大写用于C语言的符号常量名。
2、小写:小写用于C语言的控制语句和关键字。
二、编译不同
1、大写:大写的符号常量名与硬件没有关联,不需要配合编译系统所支持的各类库。
2、小写:小写的控制语句和关键字与硬件有关联,需要配合编译系统所支持的各类库。
三、写法不同
1、大写:大写的符号常量名第一个字符必须为大写字母或下划线,否则为不合法的变量名。
2、小写:小写的控制语句和关键字只能是小写字母或数字,不能带下划线。
特有特点:
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。
部份的变量类型可以转换,例如整型和字符型变量。
通过指针(pointer),C语言可以容易的对存储器进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
c语言中如何辨别大小写字母
C语言里面大小写有区分。区别为:用途不同、编译不同、写法不同。
一、不同的用途
1.大写:大写在C语言符号的正常值名称中使用。
2.小写:小写在C语言中用于控制语句和关键字。
二、不同的编译
1.大写:大写符号常量名称不与硬件相关联,并且程度不需要与编译系统支持的各种库相配合。
2.小写:小写控制语句和关键字与硬件相关,需要与编译系统支持的各种库配合使用。
三、写法的不同
1.大写:第一个字符必须是大写字母或知道下划线,否则就不是合法的跟踪变量名。
2.小写:小写控制语句和关键字只能是小写字母或数字,不能加下划线。
扩展资料:
C语言%*的使用
1.如果在scanf中使用,添加*的部分将被忽略(跳过),参数将无法获得。
如:
Inta、b;
字符b[10];
扫描文件(“% d % * s”, a, b);
输入:
12“ABC”
所以12将被读入变量a,但是在读入之后ABC将被丢弃,没有任何变量(像这里的字符数组b)
使用*和扫描集,您只能从输入中选择需要的内容,而忽略其他内容。
此外,它通常用于清空缓冲区。
2.在printf中,*表示将*的位置替换为下面的形式参数,以实现动态格式的输出。
如:
Printf("%s",10,s);/*表示输出字符串s,但它至少占据10个位置。字符串s左边的空间不足,相当于printf(“%10s”,s);*/
Printf("%。*s\n",int,STR);
//%。*的地方。*表示字符串输出类型的显示精度为宽度
//由*表示的值由以下参数列表中的整数(int)值给出
如:
Printf("%。*s\n",1,"ABC");//输出a
Printf("%。*s\n",2,"ABC");//输出ab
Printf (" %。* s \ n ", 3, "ABC");//输出ABC 3是相同的效果,因为当遇到'\0'时,输出类型type = s结束