c语言 输入一个字符,判断是字母,数字,还是特殊字符

可以根据以下代码进行判断:

#include<stdio.h>

int main()

{

char c ;

while(scanf("%c",&c)!=EOF)

{

getchar();

if(c >='0' && c<='9')

printf("%c是数字 ",c);

else if(c >='a' && c<='z' || c >='A' && c<='Z')

printf("%c是字母 ",c);

else printf("%c是特殊字符 ",c);

}

return 0;

}

ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。标准ASCII 码也叫基础ASCII码,使用7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。

其中:

0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(删除)、BS(退格)、BEL(响铃)等;

通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;ASCII值为8、9、10 和13 分别转换为退格、制表、换行和回车字符。它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。

32~126(共95个)是字符(32是空格),其中48~57为0到9十个阿拉伯数字。

65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。

❷ c语言中如何怎么判断输入的是数字

#include <stdio.h>
#include <string.h>

// 枚举类型:自然数,整数,小数 , 未知
enum TYPE {Natural,Integer,Float,Unkonwn};

/*
一个合法的数字(包括自然数,整数,小数)的格式是:
[+-](可选) + [0个或多个数字] + [小数点](可选) + [0个或多个数字]
比如:

+1
1
-1

+3.14
3.14
-3.14

+3.
3.
-3.

+.123
.123
-.123

都是合法的数字

*/
enum TYPE check(char s[])
{
int length = strlen(s);
int start = 0 , end = length-1;
// 去开始空白字符
while(start < length && s[start]==' ' || s[start]=='\t'){start++;}
// 去结尾空白字符
while(end >=0 && s[end]==' ' || s[end]==' '){end--;}

// 是否负数标识
bool isNegative = false;
// 是否小数标识
bool isFloat = false;
// 是否有整数部分
bool hasIntegerPart = false;
// 是否有小数部分
bool hasDecimalPart = false;

for(int i = start ; i <= end ; i++)
{
if(s[i] == '-' || s[i] == '+')
{
if(i == start)
isNegative = (s[i] == '-');
else
return Unkonwn;
}
else if(s[i] == '.')
{
if(!isFloat)
isFloat = true;
else
return Unkonwn;
}
else if(s[i] >= '0' && s[i] <='9')
{
if(!isFloat)
hasIntegerPart = true;
else
hasDecimalPart = true;
}
else
{
return Unkonwn;
}
}

if(isFloat)
{
if(hasIntegerPart || hasDecimalPart)
return Float;
else
return Unkonwn;
}
else
{
if(!isNegative)
return Natural;
else
return Integer;
}
}
int main(int argc, char *argv[])
{
char s[100];
enum TYPE type;
while(1)
{
scanf("%s",s);
type = check(s);
switch(type)
{
case Natural:
printf("%s\n","Natural");
break;
case Integer:
printf("%s\n","Integer");
break;
case Float:
printf("%s\n","Float");
break;
case Unkonwn:
printf("%s\n","Unknown");
break;
}
}

return 0;
}
/*
测试数据:

+1
1
-1

+3.14
3.14
-3.14

+3.
3.
-3.

+.123
.123
-.123

*/

❸ C语言判断数字和字符

判断是不是字符c可以使用:
if(g=='c')
满足这个便是c
注意大小写

❹ C语言,如何判断一个数是数字啊

用scanf()从键盘输入读入一个字符串(注意别越界),之后编个循环检测每个字符,若存在不是字符'.',且>'0',<'9'的字符,那就不是数字,字符'.'若出现一次以上也不是数字。

❺ c语言里 输入时 怎么判断是字符还是数字

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

❻ C语言:如何判断输入的是数字还是其他字符

有很多方法:
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个内字符,判断其是字容母还是数字。
2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。
至于怎么判读是字母还是数字,很简单,假设字符c,
满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
满足 (c>='0' && c<='9')就是数字。

❼ c语言 如何判断输入的是数字还是字母

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建版一个初始的.cpp文件,例权如:test.cpp。

❽ C语言 判断字符是否是一个数字的两种方法

内部函数

#include<stdio.h>
#include<ctype.h>
intmain()
{
charnum;
scanf("%c",&num);
if(isdigit(num)==0)
{
printf("不是数字 ");
}
else
{
printf("是数字 ");
}
return0;
}

自定义函数

#include<stdio.h>
#include<ctype.h>
intmain()
{
charnum;
scanf("%c",&num);
if(num>='0'&&num<='9')
printf("是数字 ");
else
printf("不是数字 ");
return0;
}

❾ c语言中如何判断输入的是字符还是数字

1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。

2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。

3、假设字符c,满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,满足 (c>=0 && c<=9)就是数字。

(9)c语言判断数字扩展阅读:

getch():

所在头文件:conio.h

函数用途:从控制台读取一个字符,但不显示在屏幕上

函数原型:int getch(void)

返回值:读取的字符

例如:

char ch;或int ch;

getch();或ch=getch();

用getch();会等待你按下任意键,再继续执行下面的语句;

用ch=getch();会等待你按下任意键之后,把该键字符所对应的ASCII码赋给ch,再执行下面的语句。

❿ C语言,怎么判定,是不是数字

由于数字的ascii码值是连续的,所以可以通过与最小的数字'0'以及最大的数字'9'相比较,确定一个字符变量是否为数字。
比如

if(c>='0' && c<='9') printf("%c 是数字\n",c);
else printf("%c 不是数字\n",c);

如果判断要经常使用,可以将该功能封装为函数:
int is_num(char c)
{
return (c>='0' && c<='9');
}
或者宏定义:

#define is_num(c) (c>='0' && c<='9')