C语言代码大全

下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。

2.下载的文档,不会出现我们的网址水印。

3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。

文档包含非法信息?点此举报后获取现金奖励!

下载文档到电脑,查找使用更方便

20

积分

还剩页未读,继续阅读

关 键 词:C语言源代码大全

c语言代码大全

资源描述:

乘法口诀表

#include #include void main(void)

{

int i,j,x,y;

clrscr();

printf("\n\n * * * 乘法口诀表 * * * \n\n");

x=9;

y=5;

for(i=1;i<=9;i++)

{

gotoxy(x,y);

printf("%2d ",i);

x+=3;

}

x=7;

y=6;

for(i=1;i<=9;i++)

{

gotoxy(x,y);

printf("%2d ",i);

y++;

}

x=9;

y= 6;

for(i=1;i<=9;i++)

{

for(j=1;j<=9;j++)

{

gotoxy(x,y);

printf("%2d ",i*j);

y++;

}

y-=9;

x+=3;

}

printf("\n\n");

}

用一维数组统计学生成绩

#include void main()

{

char SelectKey,CreditMoney,DebitMoney;

while(1)

{

do{

clrscr();

puts("=========================");

puts("| Please select key: |");

puts("| 1. Quary |");

puts("| 2. Credit |");

puts("| 3. Debit |");

puts("| 4. Return |");

puts("=========================");

SelectKey = getch();

}while( SelectKey!='1' && SelectKey!='2' && SelectKey!='3' &&

SelectKey!='4' );

switch(SelectKey)

{

case '1':

clrscr();

puts("================================");

puts("| Your balance is $1000. |");

puts("| Press any key to return... |");

puts("================================");

getch();

break;

case '2':

do{

clrscr();

puts("==================================");

puts("| Please select Credit money: |");

puts("| 1. $50 |");

puts("| 2. $100 |");

puts("| 3. Return |");

puts("==================================");

CreditMoney = getch();

}while( CreditMoney!='1' && CreditMoney!='2' && CreditMoney!='3' );

switch(CreditMoney)

{

case '1':

clrscr();

puts("=========================================");

puts("| Your Credit money is $50,Thank you! |");

puts("| Press any key to return... |");

puts("=========================================");

getch();

break;

case '2':

clrscr();

puts("==========================================");

puts("| Your Credit money is $100,Thank you! |");

puts("| Press any key to return... |");

puts("==========================================");

getch();

break;

case '3':

break;

}

break;

case '3':

do{

clrscr();

puts("====================================");

puts("| Please select Debit money: |");

puts("| 1. $50 |");

puts("| 2. $100 |");

puts("| 3. $500 |");

puts("| 4. $1000 |");

puts("| 5. Return |");

puts("====================================");

DebitMoney = getch();

}while( DebitMoney!='1' && DebitMoney!='2' && DebitMoney!='3' &&DebitMoney!='4' && DebitMoney!='5' );

switch(DebitMoney)

{

case '1':

clrscr();

puts("===========================================");

puts("| Your Debit money is $50,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '2':

clrscr();

puts("===========================================");

puts("| Your Debit money is $100,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '3':

clrscr();

puts("===========================================");

puts("| Your Debit money is $500,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '4':

clrscr();

puts("===========================================");

puts("| Your Debit money is $1000,Thank you! |");

puts("| Press any key to return... |");

puts("===========================================");

getch();

break;

case '5':

break;

}

break;

case '4':

clrscr();

puts("================================");

puts("| Thank you for your using! |");

puts("| Good bye! |");

puts("================================");

return;

}

}

模拟ATM(自动柜员机)界面

#include void main()

{

int Password=0,Number=0,price=58,i=0;

while( Password != 1234 )

{

if( i >= 3 )

return;

i++;

puts("Please input Password: ");

scanf("%d",&Password);

}

i=0;

while( Number!=price )

{

do{

puts("Please input a number between 1 and 100: ");

scanf("%d",&Number);

printf("Your input number is %d\n",Number);

}while( !(Number>=1 && Number<=100) );

if( Number >= 90 )

{

printf("Too Bigger! Press any key to try again!\n");

}

else if( Number >= 70 && Number < 90 )

{

printf("Bigger!\n");

}

else if( Number >= 1 && Number <= 30 )

{

printf("Too Small! Press any key to try again!\n");

}

else if( Number > 30 && Number <= 50 )

{

printf("Small! Press any key to try again!\n");

}

else

{

if( Number == price )

{

printf("OK! You are right! Bye Bye!\n");

}

else if( Number < price )

{

printf("Sorry,Only a little smaller! Press any key to try again!\n");

}

else if( Number > price )

{

printf(" Sorry, Only a little bigger! Press any key to try again!\n");

}

getch();

}

}

用二维数组实现矩阵转置

/* 用二维数组实现矩阵的转置 */

#include #define ROW 3

#define COL 4

main()

{

int matrixA[ROW][COL],matrixB[COL][ROW];

int i,j; clrscr();

printf("Enter elements of the matrixA,");

printf("%d*%d:\n",ROW,COL);

for( i=0; imax)/* 保存至row行的最小数 */

min=max;

}

printf("The minimum of maximum number is %d\n",min);

for(max=a[0][0],row=0;rowa[row][col])

min=a[row][col];

if(max0)

{

/*a[i]与a[high]交换,随之high减1*/

t=a[i];

a[i]=a[high];

a[high]=t;

high--;

}

else if(a[i]==0)

i++; /* 掠过该元素 */

else

{

/*a[i]与a[low]交换,随之low增1, i增1*/

t=a[i];

a[i]=a[low];

a[low]=t;

low++;

i++;

}

}

}

int s[]={8,4,0,-1,6,0,-5};

main()

{

int i;

clrscr();

printf("\n The arry before rest is:\n");

for(i=0;i16)

{

s[0]='\0'; /* 不合理的进制,置s为空字符串 */

return 0; /* 不合理的进制,函数返回0 */

}

buf[i]='\0';

do

{

buf[--i]=digits[n%d]; /*译出最低位,对应字符存入对应工作数组中*/

n/=d;

}while(n);

/* 将译出在工作数组中的字符串复制到s */

for(j=0;(s[j]=buf[i])!='\0';j++,i++);

/* 其中控制条件可简写成s[j]=buf[i] */

return j;

}

/* 主函数用于测试函数 trans() */

main()

{

unsigned int num = 253;

int scale[]={2,3,10,16,1};

char str[33];

int i;

clrscr();

for(i=0;i(%d) Error! \n",num,scale[i]);

}

printf("\n Press any key to quit...\n");

getch();

}

判断回文数

/* 函数circle用于判断正整数n的d进制数表示形式是否是回文数 */

int circle(int n, int d)

{

int s=0,m=n;

while(m)

{

s=s*d+m%d;

m/=d;

}

return s==n;

}

/* main函数用于测试circle函数 */

int num[]={232,27,851};

int scale[]={2,10,16};

main()

{

int i,j;

clrscr();

for(i=0;i(%d) is a Circle Number!\n",num[i],scale[j]);

else

printf("%d -> (%d) is not a Circle Number!\n",num[i],scale[j]);

printf("\n Press any key to quit...\n");

getch();

}

求解钢材切割的最佳订单

#include #define N 20

#define DELTA 2

int bestlen;

int bestsele[N];

int sele[N];

int n;

int orderlen[N];

int total;

main()

{

int i;

clrscr();

printf("\n Please enter total length of the steel:\n");/* 输入钢材总长

*/

scanf("%d",&total);

printf("\n Please enter number of order:\n"); /* 输入定单数 */

scanf("%d",&n);

printf("\n Please enter the orders:\n"); /* 输入各定单 */

for(i=0;i*yp) /* 通过指向变量的指针引用变量的值 */

{

t=*xp; /* 通过指向变量的指针引用变量的值 */

*xp=*yp;/* 通过指向变量x的指针xp,引用变量x的值 */

*yp=t; /* 通过指向变量y的指针yp,引用变量y的值 */

}

if(*xp>*zp) /* 通过指向变量的指针,引用变量的值 */

{

t=*xp; /* 通过指向变量x的指针xp,引用变量x的值 */

*xp=*zp;/* 通过指向变量x的指针xp,引用变量x的值 */

*zp=t; /* 通过指向变量z的指针zp,引用变量z的值 */

}

if(*yp>*zp) /* 通过指向变量的指针,引用变量的值 */

{

t=*yp; /* 通过指向变量的指针,引用变量的值 */

*yp=*zp;/* 通过指向变量y的指针yp,引用变量y的值 */

*zp=t;/* 通过指向变量z的指针zp,引用变量z的值 */

}

printf("x = %d\ty = %d\tz = %d\n",x,y,z);

printf("\nPress any key to quit...\n");

getch();

}

阿拉伯数字转换为罗马数字

#include #define ROWS 4

#define COLS 4

int nums[ROWS][COLS]={{1000,1000,1000,1000},

{900,500,400,100},

{90,50,40,10},

{9,5,4,1}};

char *roms[ROWS][COLS]={{"m","m","m","m"},

{"cm","d","cd","c"},

{"xc","l","xl","x"},

{"ix","v","iv","i"}}; main(int argc,char *argv[ ])

{

int low,high;

char roman[25]; if(argc<2)

{ printf("Usage:roman decimal_number\n");/*运行程序需带整数参数*/

exit(0);

}

high=low=atoi(argv[1]);/*将第一个参数转换成整数*/

checknum(low);

if(argc>2)

{/*带两个参数*/

high=atoi(argv[2]);

checknum(high);

if(low>high)

{

low=high;

high=atoi(argv[1]);

}

}

else

low=1;

for(;low<=high;low++)

{

to_roman(low,roman);

printf("%d\t%s\n",low,roman);

}

} checknum(int val)/*检查参数合理性*/

{

if(val<1||val>9999)

{

printf("The number must be in range 1..9999.\n");

exit(0);

}

}

to_roman(int decimal,char roman[ ])/*将整数转换成罗马数字表示*/

{

int power,index;

roman[0]='\0';

for(power=0;power=nums[power][index])

{

strcat(roman,roms[power][index]);

decimal-=nums[power][index];

}

}

通讯录的输入输出

#include #define ZIPLEN 10

#define PHONLEN 15

/*struct addr类型定义*/ struct addr

{

char *name;/*姓名*/

char *address;/*地址*/

char zip[ZIPLEN];/*邮政编码*/

char phone[PHONLEN];/*电话号码*/

}; main()/*本主函数示意上述输入输出函数的用法*/

{

struct addr p[100];

int i,j;

clrscr();

for(i=0;readaddr(p+i);i++);

for(j=0;jname=(char *)malloc(len+1);/*申请存贮姓名的空间*/

strcpy(dpt->name,buf);

}

else return 0;/*Ctrl+Z结束输入*/

printf("Please input the Address:\n");/*输入地址*/

if(scanf("%s",buf)==1)

{

len=strlen(buf);

dpt->address=(char *)malloc(len+1);/*申请存贮地址的空间*/

strcpy(dpt->address,buf);

}

else

{/*Ctrl+Z结束输入*/

free(dpt->name);/*释放存贮姓名的空间*/

return 0;

}

printf("Please input the Zip code:\n");/*输入邮编*/

if(scanf("%s",buf)==1)

strncpy(dpt->zip,buf,ZIPLEN-1);

else

{

free(dpt->name);/*释放存贮姓名的空间*/

free(dpt->address);/*释放存贮地址的空间*/

return 0;/*Ctrl+Z结束输入*/

}

printf("Please input the Phone number:\n");/*输入电话号码*/

if(scanf("%s",buf)==1)

strncpy(dpt->phone,buf,PHONLEN-1);

else

{

free(dpt->name);

free(dpt->address);

return 0;/*Ctrl+Z结束输入*/

}

return 1;

} /* 函数writeaddr用于输出通讯录 */

int writeaddr(struct addr*dpt)

{

printf("Name : %s\n", dpt->name);/*输出姓名*/

printf("Address : %s\n", dpt->address);/*输出地址*/

printf("Zip : %s\n", dpt->zip);/*输出邮编*/

printf("Phone : %s\n\n", dpt->phone);/*输出电话号码*/

}

扑克牌的结构表示

enum suits{CLUBS,DIAMONDS,HEARTS,SPADES};

struct card

{

enum suits suit;

char value[3];

};

struct card deck[52];

char cardval[][3]=

{"A","2","3","4","5","6","7","8","9","10","J","Q","K"};

char suitsname[][9]={"CLUBS","DIAMONDS","HEARTS","SPADES"}; main()

{

int i,j;

enum suits s;

clrscr();

for(i=0;i<=12;i++)

for(s=CLUBS;s<=SPADES;s++)

{

j=i*4+s;

deck[j].suit=s;

strcpy(deck[j].value,cardval[i]);

}

for(j=0;j<52;j++)

printf("(%s%3s)%c",suitsname[deck[j].suit],deck[j].value,j%

4==3?'\n':'\t');

puts("\nPress any key to quit...");

getch();

}

用“结构”统计学生成绩

#include #define N 200

#define SCORES 5

#define NUMLEN 10

struct std_type{

char no[NUMLEN];/*学号*/

char *name;/*名字符串指针*/

int scores[SCORES];/*五门功课的成绩*/

};

struct std_type students[N];

int order[N];

int total[N]; /*[函数]输入一个学生信息函数*/

int readastu(struct std_type *spt)

{

int len,j;

char buf[120];/*输入字符串的缓冲区*/ printf("\nNumber : ");/*输入学号

*/

if(scanf("%s",buf)==1)

strncpy(spt->no,buf,NUMLEN-1);

else

return 0;/*Ctrl+Z结束输入*/

printf("Name : ");/*输入姓名*/

if(scanf("%s",buf)==1)

{

len=strlen(buf);

spt->name=(char *)malloc(len+1);/*申请存贮姓名的空间*/

strcpy(spt->name,buf);

}

else return 0;/*Ctrl+Z结束输入*/

printf("Scores : ");/*输入成绩*/

for(j=0;jscores+j)!=1)

break;

if(j==0)/*一个成绩也未输入*/

{

free(spt->name);/*释放存贮姓名的空间*/

return 0;

}

for(;jscores[j]=0;

return 1;

} /*[函数]输出一个学生信息的函数*/

int writeastu(struct std_type *spt)

{

int i; printf("Number : %s\n",spt->no);/*输出学号*/

printf("Name : %s\n",spt->name);/*输出姓名*/

printf("Scores : ");/*输出成绩*/

for(i=0;iscores[i]);

printf("\n\n");

} main()

{

int n,i,j,t; clrscr();

for(n=0;readastu(students+n);n++);

/*采用冒泡法对学生信息数组排序*/

for(i=0;istruct ele{

int no;

struct ele *link;

}

main()

{

int n,m,i;

struct ele *h,*u,*p;

clrscr();

printf("Please input n&m:\n");

scanf("%d%d",&n,&m);/*输入n和m*/

h=u=(struct ele *)malloc(sizeof(struct ele));/*形成首表元*/

h->no=1;

for(i=2;i<=n;i++)/*形成其余的n-1个表元*/

{

u->link=(struct ele *)malloc(sizeof(struct ele));

u=u->link;

u->no=i;/*第i个表元置编号i*/

}

u->link=h;/*末表元后继首表元,形成环*/

puts("\nThe numbers of who will quit the cycle in turn are:");

while(n)

{

for(i=1;ilink;

p=u->link;/*p指向第m个表元*/

u->link=p->link;/*第m个表元从环中脱钩*/

printf("%4d",p->no);

free(p);/*释放第m个表元占用的空间*/

n--;

}

printf("\n\n Press any key to quit...\n");

getch();

}

学生成绩管理程序

/*

学生成绩管理程序

编制一个统计学生考试分数的管理程序。

设学生成绩已以一个学生一个记录的形式存储在文件中,

每位学生记录包含的信息有:姓名,学号和各门功课的成绩。

程序具有以下几项功能:求出各门课程的总分,平均分,按姓名,

按学号寻找其记录并显示,浏览全部学生成绩和按总分由高到低显示学生信息等

*/ #include #define SWN 3 /* 课程数 */

#define NAMELEN 20 /* 姓名最大字符数 */

#define CODELEN 10 /* 学号最大字符数 */

#define FNAMELEN 80 /* 文件名最大字符数 */

#define BUFLEN 80 /* 缓冲区最大字符数 */

/* 课程名称表 */

char schoolwork[SWN][NAMELEN+1] = {"Chinese","Mathematic","English"};

struct record

{

char name[NAMELEN+1]; /* 姓名 */

char code[CODELEN+1]; /* 学号 */

int marks[SWN]; /* 各课程成绩 */

int total; /* 总分 */

}stu; struct node

{

char name[NAMELEN+1]; /* 姓名 */

char code[CODELEN+1]; /* 学号 */

int marks[SWN]; /* 各课程成绩 */

int total; /* 总分 */

struct node *next; /* 后续表元指针 */

}*head; /* 链表首指针 */ int total[SWN]; /* 各课程总分 */

FILE *stfpt; /* 文件指针 */

char stuf[FNAMELEN]; /* 文件名 */ /* 从指定文件读入一个记录 */

int readrecord(FILE *fpt,struct record *rpt)

{

char buf;

int i;

if(fscanf(fpt,"%s",buf)!=1)

return 0; /* 文件结束 */

strncpy(rpt->name,buf,NAMELEN);

fscanf(fpt,"%s",buf);

strncpy(rpt->code,buf,CODELEN);

for(i=0;imarks[i]);

for(rpt->total=0,i=0;itotal+=rpt->marks[i];

return 1;

}

/* 对指定文件写入一个记录 */

writerecord(FILE *fpt,struct record *rpt)

{

int i;

fprintf(fpt,"%s\n",rpt->name);

fprintf(fpt,"%s\n",rpt->code);

for(i=0;imarks[i]);

return ;

} /* 显示学生记录 */

displaystu(struct record *rpt)

{

int i;

printf("\nName : %s\n",rpt->name);

printf("Code : %s\n",rpt->code);

printf("Marks :\n");

for(i=0;imarks[i]);

printf("Total : %4d\

展开阅读全文

温馨提示:

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。

2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。

3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。

4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。

5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。

7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

关于本文

本文标题:C语言代码大全

链接地址:https://www.renrendoc.com/p-15259130.html

数字c语言代码大全,C语言代码大全相关推荐

  1. c 语言整人代码大全,C 语言整人代码大全.doc

    C 语言整人代码大全 C 语言整人代码大全 WScript.Echo("嘿,谢谢你打开我哦,我等你很久 拉!"&TSName) WScript.Echo("你是可 ...

  2. C语言和设计模式大全(附代码示例)

    文章目录 C语言和设计模式(之单件模式) C语言和设计模式(之原型模式) C语言和设计模式(之组合模式) C语言和设计模式(之模板模式) C语言和设计模式(工厂模式) C语言和设计模式(责任链模式) ...

  3. c语言字母转换数字代码,实现c语言中字符串和数字的相互转换的代码

    实现c语言中字符串和数字的相互转换的代码 引导语:代码就是程序员用开发工具所支持的语言写出来的源文件,是一组由字符.符号或信号码元以离散形式表示信息的明确的'规则体系.以下是百分网小编分享给大家的实现 ...

  4. [数字信号处理]单位冲击响应与频响以及FIR实现代码(C语言)

    1.单位冲击响应与频响 就如同之前所说的一样,使用下图所示的单位冲击响应,所设计的滤波器,是无法实现的. 现在,让我们看看其这个滤波器的频响.所谓频响,就是计算其单位冲击响应的离散时间傅里叶变换, 我 ...

  5. c语言编程代码大全(c语言简单代码大全)

    html代码和c语言等编程语言有什么联系吗? HTML叫做超文本标记语言(标准通用标记语言下的一个应用)或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言. 怎么修改C语 ...

  6. 经典c语言基础代码大全,10个经典的C语言面试基础算法及代码

    <10个经典的C语言面试基础算法及代码>由会员分享,可在线阅读,更多相关<10个经典的C语言面试基础算法及代码(24页珍藏版)>请在人人文库网上搜索. 1.10个经典的C语言面 ...

  7. c++ doxygen 注释规范_[代码规范]Go语言编码规范指导

    本规范旨在为日常Go项目开发提供一个代码的规范指导,方便团队形成一个统一的代码风格,提高代码的可读性,规范性和统一性.本规范将从命名规范,注释规范,代码风格和 Go 语言提供的常用的工具这几个方面做一 ...

  8. c语言2048代码linux,C语言2048小游戏课设(附源码).doc

    PAGE PAGE 1 C语言2048小游戏课设 项目说明 本系统基于C语言开发,适用于刚入门的C语言新手项目课设,开发软件采用VC++6.0开发,VS,DEV C++等均可运行.(书生) 项目运行截 ...

  9. 谭浩强C语言程序设计(1-3章代码学习)

    谭浩强C语言程序设计 参考书 C语言学习笔记记录,学习为主,新手小白入门 我所用的C语言在线编译器:lightly在线编译工具 可新建工程 谭浩强C语言程序设计书籍所包含的代码示例加注释说明如下: / ...

  10. 【五】 C语言基础知识学习回顾 | 一篇搞定C语言基础 | 内附详细代码以及注释

    一 .C语言学习第一天 1.1 编写C语言代码:hello.c #include<stdio.h> #include<stdlib.h> //调用system系统函数需要包含的 ...

最新文章

  1. 拥抱 Node.js 8.0,N-API 入门极简例子
  2. iframe的src怎么携带参数_Java 爬虫遇到需要登录的网站,该怎么办?
  3. java正则表示过滤汉字,Java正则表达式过滤汉字
  4. [Qt教程] 第39篇 网络(九)进程和线程
  5. oracle 事务测试
  6. mysql多表 性能_Mysql 多表联合查询效率分析及优化
  7. java stringutils_Java 笔记----- StringUtils 拼接字符
  8. Windows EC2 Instance 忘记密码如何重置
  9. SAP License:如何导入License
  10. MangataのACM模板
  11. SignalR+Redis,SignalR+Sqlserver集群部署应对海量链接
  12. 为了满足自己的好奇心,搞了一个业余项目耍,没想到还给我带来了$3000的收入......
  13. MySQL 调优工具
  14. 安卓 手机硬改 工具下载 一键新机 改串 抹机 root隐藏 改串号MEID imei SN信息 工具教程分享
  15. 玩qq游戏提示计算机内存不足,我有时玩QQ游戏就出现虚拟内存不足.要怎么 – 手机爱问...
  16. VMware搭建linux集群
  17. Mini2440开发板串口连接
  18. 基于HAL库的STM32F704的电阻式触摸屏的学习
  19. 思科模拟器叫什么_思科在过30年都证明了自己一直都是全球第一的网络公司
  20. java微信公众号开发,认证,自定义菜单,消息推送,网页跳转

热门文章

  1. 计算机技术概论知识点,《计算机基础概论》知识点.pdf
  2. android studio 升级最新版本后lombok 插件提示版本太旧
  3. scrapy 架构文档
  4. “海选优品,泉网打尽”胡海泉抖音直播带货首秀告捷 柏厨集成家居塔奇、I-LOFT惊艳亮相
  5. lte网络测试用什么软件,LTE_测试软件使用教程.doc
  6. 个人微信开发api文档
  7. python+pyecharts实现中国省份地图可视化
  8. minic 类型声明与变量定义句型处理
  9. Android跨进程通信--AIDL原理解析
  10. 滑动速度监听VelocityTracker