‘壹’ 用c语言编写 手机用拼音输入法的实现
关于嵌入式设备输入法(手机输入法) C语言实现
目前我在调试一款设备,类似于手机,有0-9,*,#,确定,退出,上下左右这些键。
苦于没有输入法。
显示汉字那一块目前已搞定,我贴出来原理:
汉字由两个机内码组成qh,wh,
第一步:
qh-=0xa0; //机内码转成区位码-0xa0
wh-=0xa0;
第二步:
定位字库里面的字:
offset=(94*(qh-1)+(wh-1))*32; /* 定位字库的字 */
第三步:
显示到屏上面16*16个点一个汉字
for(i=0;i<16;i++)
{
val16=((hzk16[i]<<8)&0xff00) + ((hzk16[i]>>8)&0xff);
for(j=0;j<16;j++)
{
if(val16 & 0x8000) p16[i*nDataWidth+j]=nColor&0xffff;
val16=val16<<1;
}
}
说了半天的显示其实主题是输入法,只要能键出机内码就行。
问题的关键就在这里了,目前我才刚开始开发。希望喜欢的朋友一起交流。
网上找了些东西参考:
直接在Keil下仿真的T9拼音输入法(完整版)
嵌入式系统中文输入法的设计
这两个东西也比较重要:
汉字编码原理 文中讲了汉字编码的整下原理,一目了然。
点阵汉字显示 文中讲了点阵的汉字的显示方法,配合上面的代码理解。
16x16字库文件下载,注意右键另存为后面把.jpg的改成.bin即可.
用什么问题可以多多交流。[email protected].或者QQ郡里
手机爆中文输入法侵权纠纷 几乎所有品牌卷入
信产部制定手机输入法标准
附:刚移植了一个51单片机的拼音输入法,主要就是一个索引表。还得做一些联想等功能。源码我共享在郡里面了。
‘贰’ 如何用C语言编写一个简单的输入法程序,要求可以输入
#include<stdio.h>
main()
{
int n;
scanf("%d",&n);
printf("n=%d",n);
}
‘叁’ 写c语言代码的时候一般用什么输入法
在C语言中,合法的标识符由数字,字母,下划线组成。
所有的C语言运算符,均有字母,或英文符号组成。
于是,所有的全角符号,全角字母,以及汉字在C语言代码中是不允许出现的(注释中可以有)。
所以,写C语言代码的时候,为防止误输入,一般用英文输入法进行输入。
‘肆’ 用c语言编写的代码程序
c语言的源程序语法结构如下:
#include<stdio.h>//预处理语句
/* 自定义函数1*/
/* 自定义函数2*/
int main()
{
//main()主函数执行调用以上定义的函数的顺序
return 0;//执行完毕 退出
}
示例如下:
#include <stdio.h>
int main()
{
printf("welcome to c language!!!\n");
return 0;
}
‘伍’ 最简单的C语言代码
最简单的C语言代就是输出“helloWord”,通常是作为初学编程语言时的第一个程序代码。具体代码如下:
#include <stdio.h>
int main(){
printf("Hello, World! ");
return 0;
}
(5)c语言输入法项目代码扩展阅读:
1、程序的第一行#include <stdio.h>是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
2、下一行intmain()是主函数,程序从这里开始执行。
3、下一行printf(...)是C中另一个可用的函数,会在屏幕上显示消息"Hello,World!"。
4、下一行return0;终止main()函数,并返回值0。
‘陆’ C语言中怎样编写代码来代替键盘输入(就是在代码中给出所需输入的值)
变量赋初值,如:定义一个整型 int a=0; 定义一个数组 int a[3]={0,1,2}; 定义一个指针 int *p=1;等。好多呢,在你定义数据时就把它的值写上就不用scanf了
‘柒’ c语言编程代码
两种方法我写在一起,可以独立拆开。
#include <stdio.h>
void finda1(char a[3][10]);
void finda2(char a[3][10]);
void show(char (*p)[10]);
int main()
{
char a[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容: ");
show(a);
printf(" 1、用数组指针的方法(函数finda1): ");
finda1(a);
printf("执行后: ");
show(a);
printf(" --------------------- ");
char b[3][10]={{"gehajl"},{"788a987a7"},{"ccabbbabbb"}};
printf("原数组内容: ");
show(a);
printf(" 2、用指针数组的方法(函数finda2): ");
finda2(b);
printf("执行后: ");
show(b);
return 0;
}
void finda1(char a[3][10])
{
int i,j;
char (*p)[10]=a;
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';
}
void finda2(char a[3][10])
{
int i,j;
char *p[3]={&a[0][0],&a[1][0],&a[2][0]};
for(i=0;i<3;i++)
for(j=0;j<10;j++)
if(p[i][j]=='a')
printf("发现:第%d行第%d个元素是‘a’,已替换 ",i+1,j+1),p[i][j]='1';
}
void show(char (*p)[10])
{
int i,j;
for(i=0;i<3;i++,printf(" "))
for(j=0;j<10;j++)
printf("%c ",p[i][j]);
}
‘捌’ 求简单C语言程序代码!
输入2个正整数m和n,求其最大公约数和最小公倍数
#include
#include
int main()
int m,n,p,q,s,r;
printf("请输入两个正整数;m,n ");
scanf("%d,%d",&m,&n);
#include<stdio.h>
main()
int a,b,t=0;
scanf("%d %d",&a,&b);
if (a<b)
printf("%d %d %d %d %d",(a+b),(a-b),(a/b),(a*b),(a%b));
}
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
以上内容参考:网络-c语言
‘玖’ C语言基本代码,求详细解释,越详细越好。
解释如下:
#include"stdio.h"//头文件
#include"math.h"//数学库函数
double pcos(double a);//声明子函数
main()//主函数
{
double x,y;//定义x,y这两个双精度数据
printf("please input one number:");
//输出please input one number:
scanf("%lf",&x);//出入一个数据并赋值给x
y=pcos(x);//把x传入pcos函数,返回值赋值给y
printf("cos of %lf is %lf ",x,y);//输出cos of x is y
}
double pcos(double a)//定义子函数名,形式参数
{
double b;//定义双精度数据b
b=cos(a);//计算cos(a),并赋值给b
return b;//返回b的值
}
(9)c语言输入法项目代码扩展阅读:
注释就是对代码的解释和说明,其目的是让人们能够更加轻松地了解代码。注释是编写程序时,写程序的人给一个语句、程序段、函数等的解释或提示,能提高程序代码的可读性。
注释就是对代码的解释和说明。目的是为了让别人和自己很容易看懂。为了让别人一看就知道这段代码是做什么用的。
正确的程序注释一般包括序言性注释和功能性注释。序言性注释的主要内容包括模块的接口、数据的描述和模块的功能。模块的功能性注释的主要内容包括程序段的功能、语句的功能和数据的状态。
‘拾’ 求一段C语言或C++拼音输入法的代码
#include <iostream>
using namespace std;
#define countof(x) sizeof(x)/sizeof(x[0])
int main()
{
char szText[256];
int nBytes = 0;//字节数
int nSpace = 0;//空格数
int nRow = 0;//行数
int nAbc = 0;//大小写字母数
cout<<"请输入要统计的字符串,以#号结束"<<endl;
cin.get( szText, countof(szText), '#' );
for ( int i = 0; i < strlen(szText); i++ )
{
if ( (szText[i] >= 'a' && szText[i] <= 'z')
|| (szText[i] >= 'A' && szText[i] <= 'Z') )
{
nAbc++;
}
else if ( szText[i] == ' ' )
{
nSpace++;
}
else if ( szText[i] == '\n' )
{
nRow++;
}
nBytes++;
}
cout<<"字节数:"<<nBytes<<endl;
cout<<"空格数:"<<nSpace<<endl;
cout<<"行数:"<<nRow<<endl;
cout<<"大小写字母数:"<<nAbc<<endl;
return 0;
}