包含KTRPOLY-NORM65弹性块ADR 的词条

本文目录一览:

用“vc”或“c++”编写的一个小游戏代码,源代码是什么?

#include\x0d\x0a#include\x0d\x0a#include\x0d\x0a#define LEFT 0x4b00\x0d\x0a#define RIGHT 0x4d00\x0d\x0a#define DOWN 0x5000\x0d\x0a#define UP 0x4800\x0d\x0a#define ESC 0x011b\x0d\x0aint i,key;\x0d\x0aint score=0;\x0d\x0aint gamespeed=32000;\x0d\x0astruct Food /*食物的结构体*/\x0d\x0a{\x0d\x0aint x; /*食物的横坐标*/\x0d\x0aint y; /*食物的纵坐标*/\x0d\x0aint yes; /*食物是否出现的变量*/\x0d\x0a}food;\x0d\x0astruct Snack /*蛇的结构体*/\x0d\x0a{\x0d\x0aint x[N];\x0d\x0aint y[N];\x0d\x0aint node; /*蛇的节数*/\x0d\x0aint direction; /*蛇的方向*/\x0d\x0aint life; /*蛇的生命,0活着,1死亡*/\x0d\x0a}snake;\x0d\x0avoid Init(void); /*图形驱动*/\x0d\x0avoid Close(void); /*关闭游戏函数*/\x0d\x0avoid DrawK(void); /*画图函数*/\x0d\x0avoid GameOver(void);/*输出失败函数*/\x0d\x0avoid GamePlay(); /*游戏控制函数 主要程序*/\x0d\x0avoid PrScore(void); /*分数输出函数*/\x0d\x0a\x0d\x0aDELAY(char ch)/*调节游戏速度*/\x0d\x0a{\x0d\x0aif(ch=='3')\x0d\x0a{\x0d\x0adelay(gamespeed); /*delay是延迟函数*/\x0d\x0adelay(gamespeed);\x0d\x0a}\x0d\x0aelse if(ch=='2')\x0d\x0a{\x0d\x0adelay(gamespeed);\x0d\x0a}\x0d\x0a}\x0d\x0a\x0d\x0aMenu()/*游戏开始菜单*/\x0d\x0a{\x0d\x0achar ch;\x0d\x0aprintf("Please choose the gamespeed:\n");\x0d\x0aprintf("1-Fast 2-Normal 3-Slow\n");\x0d\x0aprintf("\nPlease Press The numbers..\n");\x0d\x0ado\x0d\x0a{ch=getch();}\x0d\x0awhile(ch!='1'ch!='2'ch!='3');\x0d\x0aclrscr();\x0d\x0areturn(ch);\x0d\x0a}\x0d\x0a\x0d\x0a/*主函数*/\x0d\x0avoid main(void)\x0d\x0a{\x0d\x0aint ch;\x0d\x0ach=Menu();\x0d\x0aInit();\x0d\x0aDrawK();\x0d\x0aGamePlay(ch);\x0d\x0aClose();\x0d\x0a}\x0d\x0a\x0d\x0avoid Init(void)\x0d\x0a{\x0d\x0aint gd=DETECT,gm;\x0d\x0ainitgraph(gd,gm,"c:\\tc");\x0d\x0acleardevice();\x0d\x0a}\x0d\x0a\x0d\x0avoid DrawK(void)\x0d\x0a{\x0d\x0asetcolor(11);\x0d\x0asetlinestyle(SOLID_LINE,0,THICK_WIDTH);\x0d\x0afor(i=50;i0;i--) /*贪吃蛇的移动算法*/\x0d\x0a{\x0d\x0asnake.x[i]=snake.x[i-1];\x0d\x0asnake.y[i]=snake.y[i-1]; /*贪吃蛇的身体移动算法*/\x0d\x0a}\x0d\x0a\x0d\x0aswitch(snake.direction) /*贪吃蛇的头部移动算法,以此来控制移动*/\x0d\x0a{\x0d\x0acase 1:snake.x[0]+=10;break;\x0d\x0acase 2:snake.x[0]-=10;break;\x0d\x0acase 3:snake.y[0]-=10;break;\x0d\x0acase 4:snake.y[0]+=10;break;\x0d\x0a}\x0d\x0afor(i=3;i595||snake.y[0]455)\x0d\x0a{\x0d\x0aGameOver();\x0d\x0asnake.life=1;\x0d\x0a}\x0d\x0aif(snake.life==1) /*如果死亡就退出循环*/\x0d\x0abreak;\x0d\x0aif(snake.x[0]==food.xsnake.y[0]==food.y) /*判断蛇是否吃到食物*/\x0d\x0a{\x0d\x0asetcolor(0);\x0d\x0arectangle(food.x,food.y,food.x+10,food.y-10); /*吃的食物后用黑色将食物擦去*/\x0d\x0asnake.x[snake.node]=-20;snake.y[snake.node]=-20; /*现把增加的一节放到看不到的地方去*/\x0d\x0a\x0d\x0asnake.node++;\x0d\x0afood.yes=1;\x0d\x0ascore+=10;\x0d\x0aPrScore();\x0d\x0a}\x0d\x0asetcolor(4); /*每次移动后将后面的身体擦去*/\x0d\x0afor(i=0;i

回答于 2022-11-16

弄00puts通过了本西0

弄00puts通过了本西0

puts是输出函数,只有一个参数要求是字符串。

1、函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理。puts()函数用来向标准输出设备写字符串并换行,其调用格式为puts,puts(s)等效于printf("%s\n",s)。

2、gets()函数将接收输入的整个字符串直到遇到换行为止。当puts遇到O时,会输出一个\n,也就是换行,所以puts("")时,因为字符串本身长度为0,所以第一个字符就是\0,puts会输出一个\n,所以起到了换行的效果。

3、puts()函数用来向标准输出设备写字符串并换行。puts(char*p)是专门输出字符串的函数,其参数是一个指向字符串的指针p,或者说一个串的地址。printf(char*p,s)是一个格式输出函数,把s代表的变量或者数组字符串等按照串p所指的格式输出。

肝吸虫属于线虫吗

肝吸虫不属于线虫。肝吸虫是华支睾吸虫,肝吸虫病又叫华支睾吸虫病,是华支睾吸虫寄生在人体肝内胆管引起的寄生虫病。主要的特点是精神不佳、上腹隐痛、腹泻、肝肿大等,严重时可以发生胆管炎、胆石症、肝硬化等。

求助C课程设计

下面是一个比较完善的学生管理系统了,有简单界面。

已经在实际环境上编译并运行通过。

==============================================================

#includeiostream.h

#includeiomanip.h

#includewindows.h

#include conio.h

void back();//返回开始菜单

void out();//输出信息

int w=1; //用于记录学生人数,全局变量

class Data//日期类

{public:

double Year,Month,Day;

Data()

{ Year=0;Month=0;Day=0; }

};

class student //学生类

{

public:

char name[10]; //姓名

char sex[5]; //性别

char jiguan[10]; //籍贯

int num,age;//学号,年龄

char adr[30];//住址

Data year;

friend class Data;//date作为student的友元 //定义一个日期类

void operator=(student s); //=重载

int operator == (student s);//==重载

}stu[100];

void main()

{

system("cls");//清屏 DOC调用

system("color f4"); //颜色 同样是调用doc

int i;

void comp();

void input();

void find();

void alt() ;

void del();

void exit();

void show();

coutsetw(53)"欢迎进入学生管理系统!"endl;

coutsetw(55)"1 添加学生信息 2 查询学生信息"endlendl;

coutsetw(55)"3 删除学生信息 4 修改学生信息"endlendl;

coutsetw(55)"5 比较学生信息 6 显示学生信息"endlendl;

coutsetw(45)"0 推出系统"endl;

cout"请选择:";

cini;

if(i6||i0)

{

cout"输入有误!"endl;

back();

}

switch(i)

{

case 1:input();break;

case 2:find();break;

case 3:del();break;

case 4:alt();break;

case 5:comp();break;

case 6:show();break;

case 0:exit();break;

default:cout"你的输入有误!\n";

}

}

void input() //添加学生

{

system("color 84"); //颜色 同样是调用doc

system("cls");//清屏

int n;

cout"请输入要添加的学生个数:\n";

cinn;

if(n=100||n=0)

{cout"输入有误!endl";

main(); }

else

{

for(;n0;w++,n--)

{

cout"请输入姓名、性别、籍贯,年龄,学号,住址:"endl;

cinstu[w].namestu[w].sexstu[w].jiguanstu[w].age stu[w].numstu[w].adr ;

cout"请输入该生生日(年 月 日)"endl;

cinstu[w].year.Year;

cinstu[w].year.Month;

cinstu[w].year.Day;

}

out();

}

cout"添加完毕2秒后返回"endl;

Sleep(2000); //延时2秒

main();

}

void find() //按学号查找学生

{

system("color f4"); //颜色 同样是调用doc

system("cls");

int i,id,j=0;//j是用以记录是否有信息被找到

cout"请输入你要查找学生的学号:";

cinid;

for(i=1;iw;i++)

if(stu[i].num ==id)

{

couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Daystu[i].adrendl;

j++;

}

if(j==0)

cout"没有你要查找的信息";

back();

}

void del()//删除指定学号学生信息

{

system("color f4"); //颜色 同样是调用doc

int i,a,y=0;

char x;

cout"请输入要删除的学生学号";

cina;

for(i=1;iw;i++)

if(stu[i].num==a)

{

cout"该生情况:"endl;

couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Day" "stu[i].adrendl;

cout"是否确认删除?(Y/N)"endl;

cinx;

if(x=='Y'||x=='y')

{

y++;

for(;iw-1;i++)

stu[i]=stu[i+1];

w--;//每删除一个对总是减少一个

}

}

if(y==0)

{

cout"该学生不存在!"endl;

back();

}

else

{

cout"删除后的信息为:"endl;

out();

back();

}

}

void alt()//修改指定学号学生

{

system("color f4"); //颜色 同样是调用doc

int id,y=0;

char x;

cout"请输入要修改学生的学号:";

cinid;

for(int i=1;iw;i++)

if(stu[i].num ==id)

{

cout"该生情况:"endl;

couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Day" "stu[i].adrendl;

cout"是否确认修改?(Y/N)"endl;

cinx;

if(x=='Y'||x=='y')

{

y++;

cout"请输入姓名、性别、籍贯,年龄,学号,住址:"endl;

cinstu[i].namestu[i].sexstu[i].jiguanstu[i].age stu[i].numstu[i].adr ;

cout"请输入该生生日(年 月 日)"endl;

cinstu[i].year.Year;

cinstu[i].year.Month;

cinstu[i].year.Day;

}

else

{

cout"2秒后返回"endl;

Sleep(2000);

main();

}

}

if(y==0)

{

cout" 该学生不存在!";

back();

}

else

{

cout"修改后的信息为:"endl;

out();

back();

}

}

void student::operator =(student stu)//对=运算符重载函数的实现

{

num=stu.num;

for(int i=0;i9;i++)

name[i]=stu.name[i];

for(i=0;i4;i++)

sex[i]=stu.sex[i];

age=stu.age;

for(i=0;i9;i++)

jiguan[i]=stu.jiguan[i] ;

for(i=0;i29;i++)

adr[i]=stu.adr[i] ;

year.Year=stu.year.Year ;

year.Month =stu.year.Month ;

year.Day =stu.year.Day ;

}

int student::operator == (student stu)//对==运算符重载函数的实现

{

if(*name==*stu.name *sex==*stu.sex age==stu.age *jiguan==*stu.jiguan *adr==*stu.adryear.Year ==stu.year.Yearyear.Month ==stu.year.Monthyear.Day ==stu.year.Day )

return 1;

else

return 0;

}

void comp()//学生信息对比

{

system("color f4"); //颜色 同样是调用doc

system("cls");

int i;

int num1,num2;

cout"请输入要比较的两个同学的学号"endl;

cinnum1num2;

for(i=1;iw;i++)

if(stu[i].num ==num1)

num1=i;

for(i=1;iw;i++)

if(stu[i].num==num2)

num2=i;

if(stu[num1]==stu[num2])

cout"这两个学生是相同的"endl;

else

cout" 这两个学生不同"endl;

back();

}

void show()//显示

{

out();

back();

}

void exit()//退出

{

exit(0);

}

void back()//返回

{

cout" 按任意键返回!"endl;

getch();

main();

}

void out()//输出

{

int i;

cout" 姓名 性别 籍贯 年龄 学号 生日 住址"endl;

for(i=1;iw;i++)

couti" "stu[i].name" "stu[i].sex" "stu[i].jiguan" "stu[i].age" "stu[i].num" "stu[i].year.Year" "stu[i].year.Month" "stu[i].year.Day" "stu[i].adrendl;

}

[译] ARMv8-A架构基础之寄存器

ARMv8-A提供了31个64位的通用寄存器,始终可以访问,并且可以在所有异常级别访问。 在AArch64执行状态下,每个寄存器(X0-X30)都是64位宽度。 宽度增加有助于减少大部分应用程序中的寄存器压力。

每个64位通用寄存器(X0 - X30)也有一个32位的格式(W0 - W30)。

32位W寄存器构成相应的64位X寄存器的下半部分。 即W0形成X0的低位字,W1形成X1的低位字。

从W寄存器中读取时,忽略对应的X寄存器的高32位并且保持他们不变。 写入W寄存器将X寄存器的高32位设置为零。 因此,将0xFFFFFFFF写入W0会将X0设置为0x00000000FFFFFFFF。

特殊寄存器

除了31个(X0到X30)个ARMv8-A核心寄存器之外,还有几个特殊的寄存器。

在AArch64中执行时,对于每个异常级别,异常返回状态将保存在以下专用寄存器中:

下表按异常级别标识特殊寄存器:

异常级别的特殊寄存器

程序调用标准(PCS)还定义了一个专用的帧指针(FP),通过可靠地展开堆栈,它使调试和调用关系图分析变得更加容易。

零寄存器

零寄存器的名字暗示着什么。

零寄存器忽略所有对它的写操作,并且所有对它的读操作都返回0.您可以在大多数(但不是全部)指令中使用零寄存器。

堆栈指针

堆栈指针(SP)是一个指向堆栈顶部的寄存器。 选择使用的堆栈指针在某种程度上与“异常”级别是分开的。 默认情况下,发生异常时会为目标异常级别选择堆栈指针(SP_ELn)。 例如,发生EL1异常时选择SP_EL1。 每个异常级别都有自己的堆栈指针。

但是,当在AArch64中,异常级别的不是E0时,处理器可以使用下面中的任何一种:

SP不能被大多数指令引用。 但是,一些算术指令,例如ADD指令,可以读写当前的堆栈指针来调整函数中的堆栈指针。 例如:

程序计数器

程序计数器(PC)保存当前的程序地址。 它不能被数字引用(就像通用寄存器文件的一部分一样),因此不能用作算术指令的源或目的地,或作为加载和存储指令的基址,索引或转移寄存器。

那些可以读取PC的指令是那些具有计算PC相对地址功能的指令(ADR,ADRP,字面加载和直接分支),以及在链接寄存器中存储返回地址的“分支并链接”指令(BL和BLR)。 修改程序计数器的唯一方法是使用分支,异常生成和异常返回指令。

使用计算PC相对地址的指令读取PC时,读取的PC值是该指令的地址。 与ARMv7-A不同,不存在4或8字节的隐含偏移量。

异常链接寄存器(ELR)

异常链接寄存器保存要在异常后返回的地址。