C语言如何判断一个字符是否是数字?

作者&投稿:祢舒 (若有异议请与网页底部的电邮联系)
~

这个是很简单的。你可以将字母a用数字的方式打印出来试试,如printf("%d",'a');输出是97,那么只要减去96就可以了。顺便说一下,首先char其实就是8位的整数变量,但是由于ASCII码的编码也是8位,所以常常使用char来表示ASCII字符,因此char也叫字符变量。所以char变量的本质就是数字。不难发现通过查找ASCII表,a的编码的十进制数就是97。当然你也会发现a和A的编码是不一样的,如果你的功能是输入a和A输出都是1,那么就要提前判断一下。

当然你也可以通过判断来实现这个功能,如:

char temp = getchar();
if(temp == 'a')
    ......
else if(temp == 'A')
    ......
else if(temp == 'f')
    ......

还有,可以通过switch来实现,如:

char temp = getchar();
switch(temp)
{
    case 'a':
        ......
        break;
    case 'A':
        ......
        break;
    default:break;
}

需要声明一下,由于char本身就是数字,所以是可以使用switch的,但是不要妄图通过switch来判断字符串变量(char[])这是不可行,虽然你可能在其他的高级语言中看到过这种用法,但是在C中是不能运行的。



方法1 判断这个字符的 ASCII值 在 '0' ~ '9' 的ACSII值之间。

方法2 C语言的  strtol() 函数是把字符串转换成整型数的一个函数,可用于判断。

long int strtol(const char *str, char **endptr, int base)

参数

  • str -- 要转换为长整数的字符串。

  • endptr -- 对类型为 char* 的对象的引用,其值由函数设置为 str 中数值后的下一个字符。

  • base -- 基数,必须介于 2 和 36(包含)之间,或者是特殊值 0。如果 base 为 0,则会根据字符串的前缀来判断进制:如果字符串以 '0x' 或 '0X' 开头,则将其视为十六进制;如果字符串以 '0' 开头,则将其视为八进制;否则将其视为十进制。

返回值

    函数返回被转换的长整型整数值。如果输入字符串不符合数字格式,strtol() 将返回 0。如果转换结果超出了 long 整数的表示范围,那么将产生溢出,并设置 errno 为 ERANGE。你可以使用 <errno.h> 头文件中的 errno 变量来检查是否有溢出发生。




C语言中,如何判断一个字符是否为数字呢?
可以参考下面的代码:int i = 0;while ( i < 10){ scanf("%d",&m);if ( m != 0 || m!= 1) continue;else{ array[i] = m;i++;} } C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器...

C语言编程中如何判断一个字符是不是某个汉字,比如“我”。
一个汉字是两个字符,因此需要使用字符串来判断。

C语言里用什么函数判断汉字相同啊
首先一个汉字占2个字节,C语言一个char字符类型占1个字节,也就是在程序中汉字要当做字符串去处理。在C语言中就要用到char*指针或char[]字符数组来记录汉字。判断相同,也就是字符串比较了,用string.h库中的strcmp(s1,s2)字符串比较函数解决判断相同问题。示例程序:include <stdio.h>#include <str...

语文,怎么知道哪些一个字是词语
2.判断:①单纯词:由一个语素组成词,自由的单音节语素和所有的双音节、多音节语素都可以组成单纯词。②合成词:由两个或两个以上的语素组成的词。3.从词性来看,可以分成:(1)实词,有实际意义的词,包括:有人物名词:如学生、群众、老头 有事物名词:如笔、杉木、蜗牛 (2)有名量词:如尺、...

如何快速判断一个字的平仄
快速判断一个字的平仄的方法如下:1、声韵配合法。这种方法主要是根据汉字的声韵配合规律来区分平仄。通常,阴平、阳平属于平声,而上声、去声则属于仄声。例如,光、花是平声,品、份是仄声。2、声调呼读音法。这种方法主要是根据汉字的声调呼读音来区分平仄。通常,第一声、第二声属于平声,而第三声、...

怎么判断一个汉字是不是生僻字
怎么判断生僻字如下:1.查询字符编码:可以通过查询汉字的字符编码来判断字是否为生僻字。一般来说,双字节编码范围内的汉字均为常用字,而之外的汉字可以被视为生僻字。2.输入法识别:在输入设置中,可以尝试输入生僻字,如果输入法能够识别并显示该字,则说明该字不是生僻字。3.手写输入法:使用手写...

怎样判断一个字是否是一个语素
确定语素个数主要是看词是由一个语素还是两个语素组成,而判断一个词是否是由两个语素组成主要是用替代法。就是分别替换两个字,看能否组成新的词语,并且新的词语是否和原来的词有联系,如果有联系,就说明是由两个语素组成的词。例子:蜡烛 蜡烛是由两个语素组成的词 依据:蜡烛 替换“蜡” 花烛 ...

如何判断一个汉字是不是异体字?
三、判定异体字的根本标准:几个字形原本表示的是否为完全相同的一个词.第一,有些字常被借用,但不是异体字.1、寔:止也,从宀是声.因本义少用而常被借用表“实”的“确实”等义.实(实):富也,从宀贯声.2、寘:置也,从宀真声.放置.置:赦也,从网直.赦免(本义)→弃置→安置→放置→...

什么是语素,如何判断一个语素和两个语素
单音节的语言单位可以直接运用语素的定义进行判定,双音节和多音节的语言单位可以使用替代法,即用已知语素替代有待确定是不是语素的的语言单位。不论是成词语素还是不成词语素都可以和别的语素组合成词。语素分成三种构词方式:1、单音节语素:构词由一个字才有意思的词组成;2、双音节语素:构词由两个...

什么是语素,如何判断一个语素和两个语素
单音节的语言单位可以直接运用语素的定义进行判定,双音节和多音节的语言单位可以使用替代法,即用已知语素替代有待确定是不是语素的的语言单位。不论是成词语素还是不成词语素都可以和别的语素组合成词。语素分成三种构词方式:1、单音节语素:构词由一个字才有意思的词组成;2、双音节语素:构词由两个...

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

绛县18336807051: C语言从键盘输入一个字符 判断他是数字,大写字母,小写字母还是其他字符 -
丘嵇舒志: #include<ctype.h> 中自带有判断函数 isdidgit(char c) 判断字符c是否是数字,是返回1,否返回0 isupper(char c) 判断是否是大写 islower(char c)判断是否是小写 isalpha(char c)判断是否是英文字母(大小写都包括在内)

绛县18336807051: 如何编写C语言程序判断一个字符是否是字母或数字 -
丘嵇舒志: 直接判断它的内码即可 数字的范围是48-57 (对应数字0-9) 大写字母范围是65-90 (对应A-Z) 小写字母范围是97-122 (对应a-z)由于char类型本身就能自动转换成int型,而且做int型使用时就是使用内码,因此可以直接使用>和<做逻辑运算

绛县18336807051: 我是一个自学新手,我想问下在C语言里面怎么判定输入的是字符还是数字? -
丘嵇舒志: 可以if语句判断.例如判断是不是数字,可以用下面这条if语句判断 if('0'<=ch && ch<='9') printf("ch is digit\n"); 此外,提醒一下,数字也是字符.你说的是判断是字母还是数字吧?如果想判断是不是字母,这么判断: if(('a'<=ch && ch<='z') || ('A'<=ch && ch<='Z'))printf("ch is alphabet“);

绛县18336807051: c怎么判断是不是数字 -
丘嵇舒志: 判断一个字符是不是数字字符: char c; scanf("%c",&c); if(c>='0'&&c<='9')printf("这是一个数字字符\n"); elseprintf("这不是一个数字字符\n");

绛县18336807051: C怎么判断字符是否是数字 -
丘嵇舒志: 数字和字母还有所有的符号都是字符,字符都是用ascii存的. 比如字符'1'的ascii码值是49.,'9'的ascii码是58. 如果要判断是否是数字,可以像一楼那样,也可以用 if(a[i]>=49&&a[i]<59)

绛县18336807051: 如何判断输入的字符是数字,字母还是其他字符 C语言 -
丘嵇舒志: ')是先执行getchar(),就是从键盘读入一个字符,再将这个字符赋值给c,然后再执行while(c!='\n'),就是判断是否是回车符. scanf("%d%d%d,a,b,c")里边%d是格式控制输入,就是一大串的相同格式的东西一起输入 至于为什么不用它,就是要根据你的题目要求了 因为你是用scanf的时候输入回车符不会停止输入,比如scanf("%d%d%d,a,b,c")你先输入一串数字,回车,那只是把你刚才输入的数字赋值给a,接下去的就是赋值给b,c,d…… 另外,团IDC网上有许多产品团购,便宜有口碑

绛县18336807051: c语言编程如何区分输入的是数字 -
丘嵇舒志: 可以这样.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16#include <stdio.h> intmain(void) {charch;while(1){ch=getchar();if(ch>'0'&& ch <'9'){getchar();printf("next\n");}elsebreak;}return0; 如果你要求输入一个字符串,然后判断是不是...

绛县18336807051: C语言中如何实现验证输入的是否为数字? -
丘嵇舒志: 先按字符串输入,然后对字符串进行检查,判定是否符合条件,若符合条件,则转为数值输出.代码如下: #include #include #include int chk_data( char *num ) { int i; for( i=0;num[i];i++ ) { if ( num[i] >'9'|| num[i] <'0' ) //只要有非数字,就返回错误 ...

绛县18336807051: C语言中,输入一个字符串,如何区分数字字符, -
丘嵇舒志: 通过判断输入字符的ascii码的范围 就可以 如果大于等于48 小于等于57 就是输入的阿拉伯数字. 如果输入的字符 大于等于65小于等于90 就是大写的英文字母 如果输入字符 大于等于97 小于等于122 就是小写的英文字母 具体参考一下ascii表

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网