当前位置:首页 » 编程语言 » 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;
}

热点内容
手机导航源码下载 发布:2025-07-15 19:18:29 浏览:499
什么是原生态安卓机 发布:2025-07-15 19:16:52 浏览:686
linux的安装目录在哪 发布:2025-07-15 19:10:04 浏览:724
2008编程入门经典 发布:2025-07-15 18:58:44 浏览:603
艾派密码是什么 发布:2025-07-15 18:47:40 浏览:588
密码锁如何在里面开门 发布:2025-07-15 18:35:00 浏览:521
额温算法 发布:2025-07-15 18:18:14 浏览:728
ie客户端事件脚本执行异常 发布:2025-07-15 18:10:13 浏览:26
自制压缩兔粮 发布:2025-07-15 18:09:25 浏览:12
脚本病毒的危害 发布:2025-07-15 18:04:00 浏览:260