c語言識別字
Ⅰ 關於c語言中判斷漢字的問題
這是跟漢字的存儲方式有關,西文字元用ASCII碼的話,一個位元組可以表示一個字元,而漢字用的是雙位元組表示一個漢字。
那麼,為了在機器內部區分ASCII碼和漢字機內碼,就規定漢字的兩個位元組的最高為都為1.
例如:漢字「啊」的漢字機內碼為B0A1H
表示成雙位元組是這樣的10110000
10100001
本程序用的就是判斷最高位的方法。
int
is_zh_ch(char
p)
{
if(~(p
>>
8)
==
0)
將p位元組進行移位運算,右移8位,這樣,如果移位後是0,則說明原來的位元組最高位為0,不是1那麼也就不是漢字的一個位元組。
{
return
0;
//代表不是漢字
}
return
-1;
}
Ⅱ c語言 求怎麼判斷字母的大小寫
c語言中,變數ch如果是一個char類型量,可以用以下的語句來進行判別大小寫:
1、if(ch>='A' && ch<='Z')printf("%c是一個大寫字母 ",ch)。
2、if(ch>='a' && ch<='z')printf("%c是一個小寫字母 ",ch)。
3、if(ch>='0' && ch<='9')printf("%c是一個數字字元 ",ch)。
(2)c語言識別字擴展閱讀:
其它方法得出字母的大小寫:
方法一:
int main( )
{
char ch;
scanf(「%c」,&ch);
ch=(ch>=』A』&&ch<=』Z』)?(ch+32):ch;
printf(「%c 」,ch);
}
方法二:
利用利用ASIC碼,小寫字母從a到z,對應的碼值是97—122;大寫字母是65-90。
定義字元char c;
if(c>=97&&c<=122) //為小寫字母
else //為大寫字母
Ⅲ C語言問題 怎樣從一個文件中逐個讀入字元(每次讀入一個)
charstr[1024];
inti=0;
while((str[i]=getchar())!=' ')
i++;
getchar();
(3)c語言識別字擴展閱讀
C語言讀取一個文件的字元:
#include<stdio.h>
intmain(void)
{
FILE*stream;
errno_terr;
//Openforread(willfailiffile"crt_fopen_s.c"doesnotexist)
err=fopen_s(&stream,"crt_fopen_s.c","r");
if(err==0)
printf("Thefile'crt_fopen_s.c'wasopened ");
else
printf("Thefile'crt_fopen_s.c'wasnotopened ");
}
Ⅳ C語言判斷漢字
#include<stdio.h>
intmain()
{inti;
unsignedchars[200];
scanf("%s",s);
for(i=0;s[i];i++)
if(s[i]>127)
{printf("漢字");
i++;
}
elseprintf("字母");
return0;
}
(4)c語言識別字擴展閱讀
C++利用漢字的ASCII編碼小於0的特性判斷漢字
//coding:utf-8
#include"stdio.h"
intmain()
{
constchar*str="ENG漢字測試ddd";
for(inti=0;str[i]!='