c语言怎么判断字符
1. c语言:如何判断输入的是数字还是其他字符
有很多方法:
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。
2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。
至于怎么判读是字母还是数字,很简单,假设字符c,
满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
满足 (c>='0' && c<='9')就是数字。
2. C语言中判断两个字符串是否相同的方法
C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:
#include <stdio. h>
#include <string. h>
void main (void);
void main(void)
{
char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;
if (strcmp(str_1, str_2) == 0)
printf("str_1 is equal to str_2. \n");
else
printf("str_1 is not equal to str_2. \n");
if (strcmp(str_1, str_3) == 0)
printf("str_1 is equal to str_3.\n");
else
printf("str_1 is not equalto str_3.\n");
}
上例的打印输出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.
strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:
----------------------------------------------------
返 回 值 意 义
----------------------------------------------------
<0 第一个字符串小于第二个字符串
0 两个字符串相等 ·
>0 第一个字符串大于第二个字符串
----------------------------------------------------
在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即"abc")和str_3(即"ABC")时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。
strcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数:
-----------------------------------------------------------------
函 数 名 作 用
-----------------------------------------------------------------
strcmp() 对两个字符串进行大小写敏感的比较
strcmpi() 对两个字符串进行大小写不敏感的比较
stricmp() 同strcmpi()
strncmp() 对两个字符串的一部分进行大小写敏感的比较
strnicmp() 对两个字符串的一部分进行大小写不敏感的比较
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。
3. C语言编程从键盘输入一个字符,判断该字符是否为控制字符、空格、数字字符、大写字母、小写字母或者其他字
#include<stdio.h>
voidmain()
{
charch;
inta;
ch=getchar();
if(ch>='a'&&ch<='z')
ch='1';
if(ch>='A'&&ch<='Z')
ch='2';
if(ch=='')
ch='3';
switch(ch)
{
case'1':printf("xiao ");break;
case'2':printf("da ");break;
case'3':printf("空格 ");break;
default:printf("qita");
}
}
(3)c语言怎么判断字符扩展阅读
C语言ctype.h的字符判断函数
函数名为如下参数时,返回值为真
isalnum()字母或数字
isalpha()字母
isblank()一个标准的空白字符(空格、水平制表符、或换行)
iscntrl()控制符,例如ctrl+B
isdigit()阿拉伯数字
isgraph()除空格外的所有可打印字符
islower()小写字母
isprint()可打印字符
ispunct()标点符号(除空格和字母数字外的可打印字符)
isspace()空白字符
isupper()大写字母
isxdigit()十六进制数字字符
4. C语言如何判断一个字符是不是标识符
在 C 语言中,可以使用 isalpha() 函数来判断一个字符是否是标志符。该函数会检查传入的字符是否是字母(大小写均可)。如果是,则返回非零值;否则返回 0。
例如:
if(isalpha(c))
printf("%c is a identifier.", c);
else
printf("%c is not a identifier.", c);
也可以使用isalnum()函数,它会悄碧检查传入的字符是否是字母或数字。
if(isalnum(c))
printf("%c is a identifier.", c);
else
printf("%c is not a identifier.", c);
注意:C语言中基乎标识符的命名规则是,以字母或下划线开头,后面跟字母搏运悉、数字或下划线。
另外,如果想要更精细的判断标识符,可以使用正则表达式来实现。