C语言程序中如何区分字符是数字还是字母

作者&投稿:项俘 (若有异议请与网页底部的电邮联系)
c语言 如何判断输入的是数字还是字母~

需要准备的材料分别有:电脑、C语言编译器。
1、首先,打开C语言编译器,新建一个初始的.cpp文件,例如:test.cpp。

2、其次,在test.cpp文件中,输入C语言代码:char a = getchar(); getchar();
if (a = '0') printf("数字");else printf("字母");

3、然后,编译器运行test.cpp文件,输入数字,此时会成功判断输入内容为数字。

4、最后,输入字母,此时成功判断了输入内容为字母。

根据ASCII码

Bin Dec Hex 缩写/字符 解释
00000000 0 00 NUL(null) 空字符
00000001 1 01 SOH(start of handling) 标题开始
00000010 2 02 STX (start of text) 正文开始
00000011 3 03 ETX (end of text) 正文结束
00000100 4 04 EOT (end of transm-ission) 传输结束
00000101 5 05 ENQ (enquiry) 请求
00000110 6 06 ACK (acknow-ledge) 收到通知
00000111 7 07 BEL (bell) 响铃
00001000 8 08 BS (backsp-ace) 退格
00001001 9 09 HT (horizon-tal tab) 水平制表符
00001010 10 0A LF (NL line feed, new line) 换行键
00001011 11 0B VT (vertical tab) 垂直制表符
00001100 12 0C FF (NP form feed, new page) 换页键
00001101 13 0D CR (carriage return) 回车键
00001110 14 0E SO (shift out) 不用切换
00001111 15 0F SI (shift in) 启用切换
00010000 16 10 DLE (data link escape) 数据链路转义
00010001 17 11 DC1 (device control 1) 设备控制1
00010010 18 12 DC2 (device control 2) 设备控制2
00010011 19 13 DC3 (device control 3) 设备控制3
00010100 20 14 DC4 (device control 4) 设备控制4
00010101 21 15 NAK (negati-ve acknowl-edge) 拒绝接收
00010110 22 16 SYN (synchr-onous idle) 同步空闲
00010111 23 17 ETB (end of trans. block) 传输块结束
00011000 24 18 CAN (cancel) 取消
00011001 25 19 EM (end of medium) 介质中断
00011010 26 1A SUB (substit-ute) 替补
00011011 27 1B ESC (escape) 溢出
00011100 28 1C FS (file separat-or) 文件分割符
00011101 29 1D GS (group separat-or) 分组符
00011110 30 1E RS (record separat-or) 记录分离符
00011111 31 1F US (unit separat-or) 单元分隔符
00100000 32 20 空格
00100001 33 21 !
00100010 34 22 "
00100011 35 23 #
00100100 36 24 $
00100101 37 25 %
00100110 38 26 &
00100111 39 27 '
00101000 40 28 (
00101001 41 29 )
00101010 42 2A *
00101011 43 2B +
00101100 44 2C ,
00101101 45 2D -
00101110 46 2E .
00101111 47 2F /
00110000 48 30 0
续表 
  
00110001 49 31 1
00110010 50 32 2
00110011 51 33 3
00110100 52 34 4
00110101 53 35 5
00110110 54 36 6
00110111 55 37 7
00111000 56 38 8
00111001 57 39 9
00111010 58 3A :
00111011 59 3B ;
00111100 60 3C <
00111101 61 3D =
00111110 62 3E >
00111111 63 3F ?
01000000 64 40 @
01000001 65 41 A
01000010 66 42 B
01000011 67 43 C
01000100 68 44 D
01000101 69 45 E
01000110 70 46 F
01000111 71 47 G
01001000 72 48 H
01001001 73 49 I
01001010 74 4A J
01001011 75 4B K
01001100 76 4C L
01001101 77 4D M
01001110 78 4E N
01001111 79 4F O
01010000 80 50 P
01010001 81 51 Q
01010010 82 52 R
01010011 83 53 S
01010100 84 54 T
01010101 85 55 U
01010110 86 56 V
01010111 87 57 W
01011000 88 58 X
01011001 89 59 Y
01011010 90 5A Z
01011011 91 5B [
01011100 92 5C \
01011101 93 5D ]
01011110 94 5E ^
01011111 95 5F _
01100000 96 60 `
01100001 97 61 a
01100010 98 62 b

  续表
  
01100011 99 63 c
01100100 100 64 d
01100101 101 65 e
01100110 102 66 f
01100111 103 67 g
01101000 104 68 h
01101001 105 69 i
01101010 106 6A j
01101011 107 6B k
01101100 108 6C l
01101101 109 6D m
01101110 110 6E n
01101111 111 6F o
01110000 112 70 p
01110001 113 71 q
01110010 114 72 r
01110011 115 73 s
01110100 116 74 t
01110101 117 75 u
01110110 118 76 v
01110111 119 77 w
01111000 120 78 x
01111001 121 79 y
01111010 122 7A z
01111011 123 7B {
01111100 124 7C |
01111101 125 7D }
01111110 126 7E ~
01111111 127 7F DEL (delete) 删除

  常见ASCII码的大小规则:0~9<A~Z<a~z
  1)数字比字母要小。如 “7”<“F”;
  2)数字0比数字9要小,并按0到9顺序递增。如 “3”<“8” ;
  3)字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z” ;
  4)同个字母的大写字母比小写字母要小32。如“A”<“a” 。
  记住几个常见字母的ASCII码大小: “A”为65;“a”为97;“0”为 48。

  另外还有128-255的ASCII字符

通过判断输入字符的ascii码可以进行判断,比如,数字字符肯定是在'0'和'9'之间,字母肯定是在'a'和'z'之间或者'a'和'z'之间,剩下的就是其他字符了。

#include<stdio.h>
void main() { char str[256],c;
scanf("%s",str); c=str[0];
if ( c>='0' && c<='0' ) printf("%c是数字。\n",c);
else if ( c>='a' && c<='z' ) printf("%c是小写字母。\n",c);
else if ( c>='A' && c<='Z' ) printf("%c是大写字母。\n",c);
}

通过字符的ASC码值就可以很清楚的知道了..
http://baike.baidu.com/link?url=cU72KVc86q8QXDe9cVGeBi0mKs5UDNOkylngQSnTj-TIk-MO2IdISF84S0ljSUQSQhCcqLAZkgCwcRq6-vz7ru91UZFCPt9ZkS6HwB0A0MaJkHiyqg9TD2R7ZAh5icd0XA6YxMBR9fVidYrkotUwdK
对应里面的标准表就知道了...


C语言程序设计中区不区分大小写?
1。C语言程序设计中区不区分大小写?区分大小写.例如:abc,Abc,aBc,abC,ABc,aBC,AbC 它们是不同的量。例如系统保留字和函数 float, double, int, if, for, sin, cos, EOF, NULL 大小写不能错。2。格式很重要吗?例如有的需要前面空两格,不空会不会有严重后果?程序书写中的空格符很重要,...

如何判断c语言程序中函数的功能是什么?
long p=1;初始化。p *= m;初始化。long s = 0;累加。s += power(i,k);累乘计算。这类题弄清楚每个函数做什么,涉及哪些量,和函数之间的调用关系。初始化、循环计算、返回结果是最常见的3个步骤,其中第2步可以是基本运算,也可以是调用其它函数完成某个功能。

急:c语言中的比如j++和++j在程序中怎么区分和应用 请教高手,谢谢!_百...
VC、dev c,好像gcc也是这种情况,他是在运算过程中对++j进行运算。所以++j的位置对结果有影响。其中VC的还比较奇特,比如 m=(j++)+(++j)+(++j)+(j++)+(j++);的汇编:mov eax, DWORD PTR _j$[ebp]add eax, 1 mov DWORD PTR _j$[ebp], eax ++j;mov ecx, DWORD PTR _j$[e...

类似c语言编译程序中如何区分遇到的int是变量声明还是函数声明_百度...
二者格式不同,所以根据格式即可判断。1 函数声明:int func_name(arg_list);2 变量声明:int var_name;所以,只需要看在名字后面是否有括号,即可知道是变量还是函数了。如果是函数,肯定是有括号的,而且括号内是参数列表。如果是变量,那就是不带括号的。

怎样区分高级语言编译的程序与汇编语言编的程序哪个是系统软件,怎样区 ...
高级语言编译的程序指的是用高级语言编写的程序,它将源代码翻译成机器可以执行的目标代码,这种程序属于应用软件。汇编语言编写的程序指的是使用汇编语言编写的程序,它将汇编语言翻译成机器可以执行的机器语言代码,这种程序属于系统软件。可以通过比较程序的功能来区分高级语言编译的程序与汇编语言编的程序,...

C语言中如何区分分隔符和逗号运算符?
以我愚见:用不着可以去区分,因为你在运用的时候会养成习惯的,你自然而然就会"记死"譬如“printf("%d,%d",a=(2,2+3),b);”中,第一个逗号是分隔符,第二个是printf的格式,第三个就是逗号运算符,第四个是格式。潜移默化的 建议楼主将剑客树上的习题依次做完,我相信你会成功的 我...

计算机中的机器语言、汇编语音和高级语言如何区分
地址码。这样用符号代替机器语盲的二进制码,就把机器语音变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器个能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编语言把汇编程序翻译成机器语言的过程称...

计算机语言有哪些?怎么分类?
-汇编语言源程序必须经过汇编,生成目标文件,然后执行。2、高级语言-BASIC(Truebasic、Qbasic、VirtualBasic)、C、PASCAL、FORTRAN、智能化语言(LISP、Prolog)等等。-高级语言源程序可以用解释、编译两种方式执行。通常用后一种。我们使用的C语言就是使用的后者。3、专用语言CAD系统中的绘图语言和DBMS的...

如何理解C语言中的关键字和运算符?
写文章为了不产生歧义,我们会在适当的位置增加标点符号,用来区分。而写C语言程序,就会用分隔符来区分。例如:小明校长找你。和小明,校长找你。和小明校长找你。int a=1;前一句就是对和inta=1;的,int a=1;就是命名一个整形的变量a等于1。而inta=1;错误的,因为inta如果是一个变量名的话,那...

汇编语言中操作数寻址方式有哪些,各自有什么特点,怎么区分呢?
寄存器间接寻址方式与寄存器寻址方式的区别在于:指令格式中的寄存器内容不是操作数,而是操作数的地址,该地址指明的操作数在内存中。六、相对寻址方式 相对寻址是把程序计数器PC的内容加上指令格式中的形式地址D而形成操作数的有效地址。程序计数器的内容就是当前指令的地址。“相对”寻址,就是相对于当前...

锡林郭勒盟18280851703: C语言 如何判断输入的是数字还是字符 -
原言长源: 你这个程序与“输入的是字符还是数字”没有关系. 关键是不能用double类型的r与0直接这样进行比较:r!=0应该像下面这样写: const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式.

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

锡林郭勒盟18280851703: 如何判断输入的字符是数字,字母还是其他字符 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网上有许多产品团购,便宜有口碑

锡林郭勒盟18280851703: C语言程序中如何区分字符是数字还是字母 -
原言长源: #include <ctype.h> int isdigit(int ch); // 如果是数字则返回非0 int isalpha(int ch) ; // 如果是字母则返回非0 当然最好还是利用ASCII码来判断区分

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

锡林郭勒盟18280851703: 我是一个自学新手,我想问下在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“);

锡林郭勒盟18280851703: C语言如何判断输入的是数字还是字符? -
原言长源: 可以利用getchar函数的返回值和输入字符的ASIIC码值来比较,数字的ASIIC码有一个范围,范围之外就是字符

锡林郭勒盟18280851703: C语言怎么判断输入的是数字还是字符 -
原言长源: 你是知道自己想要输入的是字符还是数字,对吧? 如果是这样,你就加一个标志符,用来判断输入的东西是不是你要的. int flag; flag = scanf("%d",&n); if(flag==1)printf("right\n"); elseprintf("wrong\n"); flag = scanf("%d",&n); //送返成功读入的数据个数.输入字母,flag为0

锡林郭勒盟18280851703: C语言中,输入一个字符串,如何区分数字字符, -
原言长源: 通过判断输入字符的ascii码的范围 就可以 如果大于等于48 小于等于57 就是输入的阿拉伯数字. 如果输入的字符 大于等于65小于等于90 就是大写的英文字母 如果输入字符 大于等于97 小于等于122 就是小写的英文字母 具体参考一下ascii表

锡林郭勒盟18280851703: C语言从键盘输入一个字符 判断他是数字,大写字母,小写字母还是其他字符 -
原言长源: #include<ctype.h> 中自带有判断函数 isdidgit(char c) 判断字符c是否是数字,是返回1,否返回0 isupper(char c) 判断是否是大写 islower(char c)判断是否是小写 isalpha(char c)判断是否是英文字母(大小写都包括在内)

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