當前位置:首頁 » 編程語言 » c語言漢字判斷

c語言漢字判斷

發布時間: 2023-01-16 15:21:35

1. 求c語言高手!!!如何用if判斷輸入的漢字

用字元串比較函數strcmp()
#include <stdio.h>
#include <string.h>
int main()
{
char a[100] ; //定義一個字元串,數組,存儲輸入的漢字
scanf("%s",a); //輸入一串漢字

if ( strcmp(a, "漢字" ) == 0 ) //等於0表示相等
{
printf("yes!\n");
}
else
{
printf("no!\n");
}
return 0;
}

2. C語言怎樣判斷用戶輸入的是中文

判斷輸入的是中文還是英文很簡單:
1、首先,要確認數據類型是字元型。
2、英文或一些特殊字元的ASCII碼小於0x7f。
3、中文是以區位碼形式出現的,ASCII碼大於0xa0。
比如:
#include <stdio.h>
#include<string.h>
int main()
{
char* ss="hello世界";
int i;
while(*str)
{
if((unsigned)*str>=161) {str+=2;i++;}
else str++;
}
printf("Chinese char number is:%d\n",i);
return 0;
}

3. 如何在c語言的中文字元串中判斷是否存在特定的漢字

#include<stdio.h>
#include<string.h>
intmain()
{chars[200],s1[3];
inti;
printf("請輸入一串漢字:");
scanf("%s",s);
printf("請輸入要查找的一個漢字:");
scanf("%s",s1);
for(i=0;i<strlen(s);i+=2)
if(s[i]==s1[0]&&s[i+1]==s1[1])
{printf("您輸入的第%d個漢字是%s ",i/2+1,s1);
break;
}
if(i>=strlen(s))printf("未找到!");
return0;
}

4. 關於c語言中判斷漢字的問題

漢字用兩個位元組編碼,且機內碼的每位元組最高位都是1。所以對於含有漢字的字元串a,可以用if(a[i]&0x80
&&
a[i+1]&0x80)來判斷,若()內為真則為漢字,否則不是。

5. 關於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;
}

6. C語言里用什麼函數判斷漢字相同啊

首先一個漢字佔2個位元組,C語言一個char字元類型佔1個位元組,也就是在程序中漢字要當做字元串去處理。在C語言中就要用到char*指針或char[]字元數組來記錄漢字。

判斷相同,也就是字元串比較了,用string.h庫中的strcmp(s1,s2)字元串比較函數解決判斷相同問題。

示常式序:

#include<stdio.h>
#include<string.h>
voidmain()
{
charstr1[255];
char*str2="漢字";
printf("pleaseenterastring:");
scanf("%s",str1);

if(strcmp(str1,str2)==0){
//兩字元串相同
}else{
//兩字元串不同
}
}


strcmp(str1,str2)

C/C++函數,比較兩個字元串

設這兩個字元串為str1,str2,

若str1==str2,則返回零;

若str1>str2,則返回正數;

若str1<str2,則返回負數。

strcmp參考http://ke..com/link?url=LsUTlymy9OrKbwar-EfYc6uoRwy0IVkJ_-5bGxwCSc8odOsCjt_Qq

7. 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;

}

(7)c語言漢字判斷擴展閱讀

C++利用漢字的ASCII編碼小於0的特性判斷漢字

//coding:utf-8

#include"stdio.h"

intmain()

{

constchar*str="ENG漢字測試ddd";

for(inti=0;str[i]!='';i++)

{

charch=str[i];

if(ch<0)

{

printf("Y");

i=i+2;

}

else

{

printf("N");

}

}

//Output:NNNYYYYNNN

return0;

}

8. 如何在C語言中使用漢字作為if的判斷語句

大前提是你是編譯器支持用中文當標識符。

小前提是用宏定義來寫很多東西。。。舉個簡單的栗子:

#include<iostream>

usingnamespacestd;

#define如果if(
#define就)
#define否則else
#define或||
#define且&&
#define定義整數int
#define輸出cout<<
#define和<<
#define換行endl
#define讀取輸入存到cin>>
#define大於>

intmain(){

定義整數變數一;
輸出"請輸入一個整數:";
讀取輸入存到變數一;
如果變數一大於5就輸出"您的輸入大於5"和換行;
否則輸出"您的輸入小於等於5"和換行;

return0;
}

不好意思我搞錯了,你要的是c版的,我稍後補上c的栗子

補上了,不過看起來沒有c++的那麼酷:

#include<stdio.h>

#define如果if(
#define就)
#define否則else
#define定義整數int
#define輸出(...)printf(__VA_ARGS__)
#define讀取整數存到(變數)scanf("%d",&變數)
#define大於>

intmain(){

定義整數變數一;
輸出("請輸入一個整數:");
讀取整數存到(變數一);
如果變數一大於5就輸出("您的輸入大於5 ");
否則輸出("您的輸入小於等於5 ");

return0;
}

9. C語言中如何判斷中文字元

測試過了,你看看怎麼樣吧
#include<stdio.h>
int main(void)
{
char s[20];
int i,j;
char a,c[3];
FILE * fp;
scanf("%s",s);
fp=fopen(s,"r");
if(!fp){
printf("open error\n");
return 1;
}
i=0;
c[2]='\0';
while((a=fgetc(fp))!=EOF){
if(a&0x80){
c[i]=a;
i++;
if(i==2){
printf("%s 是漢字\n",c);
i=0;
}
}
else i=0;
}
getchar();
getchar();
return 0;
}

熱點內容
linux64位內存 發布:2025-07-16 01:02:36 瀏覽:959
壓縮衣尺碼表 發布:2025-07-16 00:47:33 瀏覽:639
安卓恢復了出廠怎麼找回照片 發布:2025-07-16 00:43:56 瀏覽:932
為什麼說伺服器已停止響應 發布:2025-07-16 00:29:36 瀏覽:391
python判斷字元串是否為空 發布:2025-07-16 00:21:47 瀏覽:210
安卓轉蘋果用什麼軟體 發布:2025-07-16 00:21:45 瀏覽:628
安卓官服如何登ios 發布:2025-07-16 00:21:32 瀏覽:624
天龍搶店腳本 發布:2025-07-16 00:14:47 瀏覽:958
華為榮耀存儲卡 發布:2025-07-16 00:10:40 瀏覽:659
mysql創建utf8資料庫 發布:2025-07-16 00:04:08 瀏覽:105