c语言游戏设计大学论文

c语言游戏设计大学论文
c语言游戏设计大学论文

1: C语言游戏设计

1.1:课程设计目标

C语言编写一款打飞机游戏,掌握函数的使用和编程的整体思路。

1.2:整体设计思路

总体设想:运行游戏时显示游戏的界面,允许用户选择个性化设置,A、

D、W分别控制飞机的左右移动和发射子弹,不同的敌机飞行和攻击,并不

时伴有奖励。游行运行时播放音效,同时记录飞机的生命和得分,达到一定的分数进入下一关。

需要构建的函数:位图调用模块、界面输出函数、主菜单函数、设置函数、速度选择函数、游戏控制函数、敌机移动函数、子弹移动函数、boss函数、计时函数。

1.3: 需调用的头文件:include //常规库头文件

include //控制台输入输出流头文件 include //系统函数头文件

include //时间函数头文件

include //windows函数库

include //导入声音头文件

pragma comment(lib,"winmm.lib ")//导入声音头文件库

1.4: 游戏过程模拟:

1.5:显示效果如下图所示:

初始设置界面:游戏界面

2 算法实现

2.1需要了解的知识点:

Main函数和menu函数编写比较顺利,在bmp函数中遇到如何显示窗口和调用图片的问题,看了一些例子和网上的资料,逐渐掌握了一下知识点:

○1设备上下文:设备,显示器,打印机,数码相机,扫描仪这些类似的设备,

上下文,就是上面设备的相关信息,比如屏幕分辨率等

○2 HANDLE 通用句柄,实际上是一个指向指针的指针,在Windows操作系统中,

内存操作器经常移动对象,来满足各种程序的内存需要,为了解决寻找对象问题,内存管理器开辟出一块专门的内存储存空间,把移动后的地址存储在该空间,这样就可以通过该地址间接寻找到对象。

○3 HDC设备描述句柄,实现对窗口操作区域的GDI(图形设备接口, 负责系统

与绘图程序之间的信息交换,处理所有Windows程序的图形输出)操作,如画线、写文本、绘画制图等。

○4 BITMAP 用于处理有像素数据定义的图像的对象。

○5 GetDC(0) 检索特定的客户区域或整个屏幕的宣示设备上下文环境的句柄,以后可以使用该句柄在设备上下文环境中绘图。

○6LoadImage 装载图标、光标或位图。HANDLE LoadImage(HINSTANCE

hinst,LPCTSTR lpszName,UINT uType,int cxDesired,int CyDesired,UINT fuLoad), hinst 处理包含被撞在图像模块的实例,装载oem图像时参数设为0;name指向装载图像资源的名称;type 指定被装备图像类型cxdesired 和cyDesired指定图标的宽度和高度,如果参数为0,则使用目前资源的高度。Fuload -LR_LOADFROMFILE:根据参数lpszName的值装载图像。若标记未被给定,lpszName的值为资源名称。

○7 CreateCompatibleDC 该函数创建一个与指定设备兼容的内存设备上下文

环境(DC)。通过GetDc()获取的HDC直接与相关设备沟通,而本函数创建的DC,则是与内存中的一个表面相关联。

○8 SelectObject 计算机编程语言函数,该函数选择一对象到指定的设备上下文环境中,该新对象替换先前的相同类型的对象。

○9 GetObject 函数功能:该函数得到指定图形对象的信息,根据图形对象,函数把填满的或结构,或表项(用于逻辑调色板)数目放入一个指定的缓冲区。

10 BitBlt 该函数对指定的源设备环境区域中的像素进行位块(bit_block)○

转换,以传送到目标设备环境.

11

效果与设备上下文环境类有关。它只释放公用的和设备上下文环境,对于类或私有的则无效。

12 DeleteDC :该函数删除指定的设备上下文环境.

13 DeleteObject

板,释放所有与该对象有关的系统资源,在对象被删除之后,指定的句柄也就失效了

14 system("mode con cols=48 lines=25") 表示窗口宽度和高度

15system(“color OA”) color后面的0是背景色代号,A是前景色代号。○

各颜色代码如下:0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色,淡红色 D=淡紫色 E=淡黄色 F=亮白色

2.2 代码讲解:

#include //常规库头文件

#include //控制台输入输出流头文件

#include //系统函数头文件

#include //时间函数头文件

#include //windows函数库

#include //导入声音头文件

#pragma comment(lib,"winmm.lib ")//导入声音头文件库

#define N 50 //宏

void Update(void); //计时函数

void Delay(void); //游戏控速函数

void InDelay(void); //速度选择函数

void print(int [][N]); //界面输出函数

void movebul(int [][N]); //子弹移动函数

void movebul1(int [][N]); //BOSS子弹移动函数

void movepla(int [][N]); //敌机移动函数

void movepla1(int [][N]); //敌机移动函数

void boss(int [][N]); //boss模块

void bmp(void); //位图调用模块

void set(void); //设置函数

void menu(void); //主菜单函数

int

scr[23][N]={0},pl=20,bl=1,width=40,speed=4,density=30,score=0,death=7 ,k1=0,k2=7;//全局变量定义

int minute=0,second=0,p=0,k3=0;

long int max=0;

//时间结构体

struct clock

{

int minute;

int second;

};

typedef struct clock CLOCK;

//计时模块

void Update(void)

{

p++;

if(p==7)

{

p=0;

second++;

}

if(second==60)

{

second=0;

minute++;

}

k3=minute;

if(minute==15)

{

minute=0;

}

}

//游戏控速模块

void Delay(void)

{

long t;

for(t=0;t<=max;t++)

{ }

}

//速度选择函数

void InDelay(void)

{

int sw=0;

system("cls");

do

{

printf("请游戏的速度:0-10\n");

switch (getch())

{

case'0':max=0;;break;

case'1':max=1000;;break;

case'2':max=10000;;break;

case'3':max=100000;;break;

case'4':max=1000000;;break;

case'5':max=10000000;;break;

case'6':max=100000000;;break;

case'7':max=1000000000;;break;

case'8':max=10000000000;;break;

case'9':max=100000000000;;break;

case'10':max=500000000000;;break;

default:printf("输入错误,请重新选择");

sw=1;

}

}while(sw);

}

//界面输出模块

void print(int a[][N])

{

int i,j;

system("cls");

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

{

for(j=-1;j

{

a[i+1][width-1]=4;

//a[i][-1]=4;

a[0][j-1]=5;

a[22][j]=6;

if(a[i][j]==0)printf(" ");//清空

if(a[i][j]==1)printf("%C%c%C",17,87,16);//角色

if(a[i][j]==2)printf("%c",43);//子弹

if(a[i][j]==3)printf("%c",3);//敌机1

if(a[i][j]==7)printf("%c",15);//敌机2

if(a[i][j]==8)printf("%c",14);//BOSS

if(a[i][j]==9)printf("%c",31);//BOSS攻击

//if(a[i][j]==4)printf("|");//垂直边界

//if(a[i][j]==5)printf("%c",20);//上水平边界

//if(a[i][j]==6)printf("-");//下水平边界

if(i==1&&j==width-1)printf("得分:%d",score);

if(i==3&&j==width-1)printf("生命:%d",death);

if(i==5&&j==width-1)printf("设置:S键");

if(i==7&&j==width-1)printf("速度:V键");

if(i==9&&j==width-1)printf("时间:%2d:%2d",minute,second);

if(i==12&&j==width-1)printf("控制:");

if(i==13&&j==width-1)printf(" W");

if(i==14&&j==width-1)printf(" A D");

if(i==15&&j==width-1)printf(" 5");

if(i==16&&j==width-1)printf(" 1 3");

}

printf("\n");

}

}

//BOSS攻击模块

//子弹攻击模块

void movebul(int a[][N])

{

int i,j;

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

for(j=0;j

{

if(i==0&&a[i][j]==2)a[i][j]=0;

if(a[i][j]==2)

{

if(a[i-1][j]==3)

{

score +=10;

k1=score;

//播放敌机1死亡音乐

PlaySound("E:\\haha\\music\\enemy1_down.mp3", NULL, SND_FILENAME | SND_ASYNC);

}

if(a[i-1][j]==7)

{

score +=10;

k1=score;

//播放敌机2死亡音乐

PlaySound("E:\\haha\\music\\enemy3_down.mp3", NULL, SND_FILENAME | SND_ASYNC);

}

if(a[i-1][j]==8)

{

score +=40;

k1=score;

//播放过关音乐

PlaySound("E:\\haha\\music\\1761.mp3", NULL,

SND_FILENAME | SND_ASYNC);

}

a[i][j]=0,a[i-1][j]=2;

}

}

}

//慢敌机移动模块

void movepla(int a[][N])

{

int i,j;

for(i=21;i>=0;i--)

for(j=0;j

{

if(i==21&&a[i][j]==3)

a[i][j]=0;

if(a[i][j]==3)a[i][j]=0,a[i+1][j]=3;

}

if(a[21][pl]==1&&a[20][pl]==3)

{

death--;

k2=death;

}

}

//快敌机移动模块

void movepla1(int a[][N])

{

int i,j;

for(i=21;i>=0;i--)

for(j=0;j

{

if(i==21&&a[i][j]==7)

a[i][j]=0;

if(a[i][j]==7)a[i][j]=0,a[i+1][j]=7;

}

if(a[21][pl]==1&&a[20][pl]==7)

{

death -=3;

k=death;

}

}

//横向奖励模块

void boss(int a[][N])

{

int i,j;

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

for(j=width;j>=0;j--)

{

if(i==21&&a[i][j]==8)

a[i][j]=0;

if(a[i][j]==8)a[i][j]=0,a[i][j+1]=8;

}

}

//位图调用模块

void bmp(void)//int argc, char* argv[]

{

HANDLE h;

HDC dc1,dc2;

BITMAP bmp;

dc1=GetDC(0);//得到屏幕DC

h=LoadImage(NULL,"E:\\haha\\music\\1.bmp",IMAGE_BITMAP,0,0,LR_LOADFRO MFILE);

dc2=CreateCompatibleDC(dc1);

SelectObject(dc2,h);

GetObject(h,sizeof(bmp),&bmp);

BitBlt(dc1,100,100,

bmp.bmWidth=2080,bmp.bmHeight=1080,dc2,0,0,SRCCOPY);

Sleep(20);

ReleaseDC(0,dc1);

DeleteDC(dc2);

DeleteObject(h);

getch();

}

//游戏设置模块

void set(void)

{

int sw=0,i,j;

system("cls");

do

{

sw=0;

printf("请游戏界面的大小:1.小 2.大 \n>>\n");

switch (getch())

{

case'1':width=200;pl=200;break;

case'2':width=20;pl=40;break;

default:printf("输入错误,请重新选择");

sw=1;

}

}while(sw);

do

{

sw=0;

printf("请选择敌机密度:1.大 2.中 3.小 \n>>\n");

switch (getch())

{

case'1':density=10;break;

case'2':density=20;break;

case'3':density=30;break;

default:printf("错,请重新选择");

sw=1;

}

}while(sw);

do

{

sw=0;

printf("敌机的飞行速度:1.快 2.中 3.慢 \n>>\n");

switch (getch())

{

case'1':speed=2;break;

case'2':speed=3;break;

case'3':speed=4;break;

default:printf("错误,请重新选择");

sw=1;

}

}while(sw);

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

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

scr[i][j]=0;

scr[21][pl]=1;

printf("按任意键保存");

getch();

}

//主菜单模块

void menu(void)

{

bmp();

system("mode con cols=46 lines=25");

system("color E0");

printf("%18c游戏说明:\n",32);

printf("\n");

printf("%13c飞行控制:A向左 D向右\n",32);

printf("\n");

printf("%17cW:发射子弹\n",32);

printf("\n");

printf("%19cS:设置\n",32);

printf("\n");

printf("%16cEsc:开始游戏\n",32);

printf("\n");

printf("%14c游戏时间为15分钟",32);

printf("\n");

printf("\n");

printf("%13c本游戏由王均坐改编",32);

printf("\n");

printf("\n");

printf("\n");

printf("\n");

printf("双击回车键直接进入游戏 >>>>:",15);

if(getch()=='s'||getch()=='S') set();

}

//主函数

void main()

{

//全局变量初始化

long int i=0,j=0;

menu();

system("mode con cols=54 lines=25"); //屏幕大小控制

system("color 0A");//屏幕颜色更改

scr[21][pl]=1;

scr[0][0]=3;

//关卡一背景音乐

//PlaySound("E:\\haha\\music\\game_music.mp3", NULL, SND_ASYNC |

SND_LOOP | SND_FILENAME); //方式一,不能同时播放两首歌曲

mciSendString("open E:\\haha\\music\\game_music.mp3 alias

MySong",NULL,0,NULL);

mciSendString("play MySong",NULL,0,NULL); //方式二,课同时播放两首歌

//关卡一

/////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////////

while(1)

{

int second=0,minute=0;

if(kbhit())//判断键盘当前是否有输入,有则返回该值,无则返回0 switch(getch())

{

case'a':

case'A':

case 49:if(pl>0)

scr[21][pl]=0,scr[21][--pl]=1;break;

case'd':

case'D':

case 51:if(pl

scr[21][pl]=0,scr[21][++pl]=1;break;

case'w':

case'W':

case

53:{scr[20][pl+1]=2;PlaySound("E:\\haha\\music\\enemy1_down.mp3", NULL, SND_FILENAME | SND_ASYNC);break;}

case's':

case'S':set();break;

case'v':

case'V':InDelay();break;

}

if(++j%density==0)//控制敌机密度

{

j=0;

srand(time(NULL));//srang:调用系统时间作为种子

scr[0][rand()%width]=3;//rand:根据种子产生敌机随机数列1

scr[1][rand()%width]=7;//rand:根据种子产生敌机随机数列2

scr[rand()%20][1]=8;//rand:根据种子产生BOSS随机数列2 }

if(++i%speed==0)//控制敌机速度

movepla(scr);

movepla1(scr);

movebul(scr);

//movebul1(scr);

boss(scr);

print(scr);

Update();

Delay();

if(i==30000) i=0;

if(k1>=100) {mciSendString("close MySong",NULL,0,NULL);

PlaySound("E:\\haha\\music\\1761.mp3", NULL, SND_FILENAME | SND_ASYNC);

printf("恭喜你闯过第1关:按任意键继续

");getch();getch();break;}

if(k2==0) {printf("对不起,游戏结束:按任意键结束

");getch();getch();break;}

if(k3==10) {printf("对不起,游戏结束:按任意键结束

");getch();getch();break;}

}

//关卡二

///////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////

if(k1>=100)

{

//全局变量初始化

k1=0;

score=0;

death=7;

minute=0;

second=0;

width=40;

density=20;

speed=3;

//关卡二背景音乐

mciSendString("open E:\\haha\\music\\game_music.mp3 alias MySong",NULL,0,NULL);

mciSendString("play MySong",NULL,0,NULL);

while(1)

{

if(kbhit())//判断键盘当前是否有输入,有则返回该值,无则返回0 switch(getch())

{

case'a':

case 49:if(pl>0)

scr[21][pl]=0,scr[21][--pl]=1;break;

case'd':

case 51:if(pl

scr[21][pl]=0,scr[21][++pl]=1;break;

case'w':

c语言程序设计课程计算器设计报告

课程设计说明书 题目计算器程序设计 起讫日期 2006 年 7月 3日至 2006 年 8月 6日 所在院系软件学院 专业机械+软件班级 04-2 学生姓名偶偶哦学号 指导教师 2006年 8 月日

摘要 当今社会是信息社会,科技经济高速发展的社会!为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活中的必备品! 随着科技的发展计算器的种类变得更多,功能变得更强大,体积变得更小!电脑的出现改变人们的生活习惯,很多事情都可以电脑来完成!电脑的更大一个优点就是可以通过软件的应用无限的延伸电脑功能的外延!下面我们将用我们学习的c语言编写一个简易的计算器程序!实现简单的初步的计算功能! 本程序的编写基础是Tubro 汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。生成的程序可移植性强兼容性好稳定!现在只实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,以及一个时钟原代码。这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。但是,每次只能运算一个表达式。不能运算多个表达式。在程序里面在添加一组选择函数即可。本论文主要介绍了本课题的开发背景,开发的过程和所要完成的功能。重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。 关键词:C语言 Tubro c 汉化版计算器时钟

目录 第一章综述 (1) 1.1 课题的现实意义 (1) 1.2 软件环境 (1) 1.3 硬件环境 (1) 第二章系统设计流程图 (2) 2.1 系统流程图 (2) 2.2 主要功能表 (2) 第三章系统分析和设计 (3) 3.1 图形的绘制和输出 (3) 3.2 文本的输出显示 (3) 3.3 计算函数的调用 (4) 3.4 程序的运行和退出 (5) 第四章系统测试 (6) 4.1 系统测试 (6) 4.2 调试 (6) 4.3 错误原因分析一 (6) 4.4 错误原因分析二 (6) 第五章用户使用说明书 (8)

C语言程序设计

一、单选题 1. (4分)若调用fputc函数输出字符成功,则其返回值是( )。? A. EOF ? B. 1 ? C. 0 ? D. 输出的字符 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析 2. (4分)若以下程序段: struct dent { int n; int*m; }; int a=1, b=2,c=3; struct dent s[3]={{101<&a},{102<&b},{103,&c}; main() { struct dent *p;

p=s; ….. } 则以下表达中值为2的是()。 ? A. (p++)->m ? B. *(P++)->m ? C. (*p).m ? D. *(++p)->m 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析 3. (4分)在一个c源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( ). ? A. extern ? B. register ? C. auto ? D. static 得分:0知识点:C语言程序设计作业题收起解析 答案D 解析

4. (4分)若二维数组a有m列,则在a[i][j]前面的元素个数为()。? A. j*m+i ? B. i*m+j ? C. i*m+j-1 ? D. i*m+j+1 得分:0知识点:C语言程序设计作业题收起解析 答案B 解析 5. (4分)下面程序的运行结果是(). main() { struct cmplx {int x; int y; } cnum[2]={1,3,2,7}; printf(“%d ”,cnum[0].y/cnum[0].x*cnum[1].x); } ? A. 0 ? B. 1 ? C. 3

C语言课程设计总结

C语言课程设计总结 一、设计题目: 猜数字和贪吃蛇小游戏。 专业:09电气工程及其自动化 组号:第十组 组员:马邢(组长)、王维、毛亮、汪小成、魏坤波、陈维康、高裴石、石峰、葛良志、冯鑫源 指导教师:黄莉莉 二、任务分配: 我们组分为两队,一对制作贪吃蛇游戏,另一对制作猜数字游戏。制作贪吃蛇的人员是马邢,葛良志,高裴石,石峰,陈维康。石峰和高裴石负责收集程序材料,马邢和葛良志负责整理和编写程序,陈维康辅助我们工作。制作猜数字的是魏坤波,王维,毛亮,汪小成,冯鑫源。魏坤波和王维负责编写程序,其他三人收集材料并帮助他们人编写和调试程序。 三、心得体会: 课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。 回顾起此次课程设计,至今让我我们仍感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,几个星期的日子里,可以学

到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,也懂得集体团队的重要性。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体……通过这次课程设计之后,一定把以前所学过的知识重新温故。 这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在黄老师的辛勤指导下,终于游逆而解。同时,在黄老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢

c语言课程设计论文

《C语言程序设计》 项目设计报告 项目名称:学生成绩信息管理系统 2016年 1月 13日

目录 1 项目分析 0 1.1 问题描述 0 1.2 功能需求分析 0 2 系统设计 (1) 2.1 数据结构设计 (1) 2.3部分功能设计 (2) 3 系统实现源程序 (2) 3.1 主函数设计 (2) 3.2 添加学生信息 (5) 3.3 姓名学号查询 (18) 3.4 成绩查询 (22) 3.5 删除学生成绩信息 (24) 3.6 修改学生成绩信息 (29) 4 功能测试 (33) 4.1 菜单测试 (33) 4.2 系统功能测试 (33)

5 系统设计遇到的问题及解决方法 (35) 6 项目设计总结 (37)

1 项目分析 1.1 问题描述 信息储存与查询是计算机处理数据的优势之一,目前,学生信息的管理系统已经完全走进了校园,其中成绩信息的储存是主要部分,本课题使用C语言实现学生成绩的储存,查询,修改,以及删除等操作。程序中涉及到数据块和文件指针的操作,包括结构体数据定义,使用及文件的读写,定位,修改等。 1.2 功能需求分析 学生成绩信息管理系统的主要功能如下: ①添加学生信息:录入学生的基本信息,如姓名,学号,成绩。 ②显示所有学生成绩信息:直接显示已经全部录入学生的成绩信息。 ③学号或姓名查询:可以根据学生的姓名和学号直接查询该名学生的成绩。 ④成绩查询:可以根据一个特定的分数来查询学生的信息。 ⑤删除学生成绩信息:可以直接根据学号确定是否删除对应学生的成绩信息。 ⑥修改学生成绩信息:直接根据学生学号来修改学生的姓名,学号,成绩。

汇编语言程序设计

汇编语言程序设计 一、选择题 (共72题) 1、 用于指针及变址寄存器的有()。 A、 AX,BX,CX,DX B、 SP,BP,IP C、 CS,DS,SS D、 PSW 考生答案:B 2、 完成把汇编语言源程序模块转换为目标模块的程序是()。 A、 编辑程序 B、 汇编程序 C、 连接程序 D、 调试程序 考生答案:B 3、 指令JMP FAR PTR DONE中的寻址方式属于()。 A、 段内转移直接寻址 B、 段内转移间接寻址 C、 段间转移直接寻址 D、 段间转移间接寻址 考生答案:C 4、 对于下列程序段: AGAIN:MOV AL,[SI]

MOV ES:[DI],AL INC SI INC DI LOOP AGAIN 也可用()指令完成同样的功能。 A、 REP MOVSB B、 REP LODSB C、 REP STOSB D、 REPE SCASB 考生答案:A 5、 在程序执行过程中,IP寄存器中始终保存的是()。 A、 上一条指令的首地址 B、 下一条指令的首地址 C、 正在执行指令的首地址 D、 需计算有效地址后才能确定地址 考生答案:B 6、 在汇编语言程序的开发过程中使用宏功能的顺序是()。 A、 宏定义,宏调用 B、 宏定义,宏展开 C、 宏定义,宏调用,宏展开 D、 宏定义,宏展开,宏调用 考生答案:C 7、 CPU要访问的某一存储单元的实际地址称()。 A、 段地址

偏移地址 C、 物理地址 D、 逻辑地址 考生答案:C 8、 AND、OR、XOR、NOT为四条逻辑运算指令,下面解释正确的是()。 A、 指令XOR AX,AX执行后,AX内容不变,但设置了标志位 B、 指令OR DX,1000H执行后,将DX最高位置1,其余各位置0 C、 指令AND AX,OFH执行后,分离出AL低四位 D、 NOT AX,执行后,将AX清0 考生答案:C 9、 完成对CL寄存器的内容乘以2的正确操作是()。 A、 ROL CL,1 B、 MUL 2 C、 SHL CL,1 D、 SHR CL,1 考生答案:C 10、 检查两个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMP A L,BL”指令后应跟的分支指令是()。 A、 JE LOP1 B、 JAE LOP1 C、 JC LOP1 D、 JGE LOP1 考生答案:B 11、 已知变量VAR为字型,则TYPEVAR=()。

C语言程序设计重点必考实验题

C语言程序设计实验36题 邓作杰编 简单程序设计与基本数据处理 1 显示短句 在屏幕上显示一个短句“Programming in C is fun!” 2 求两个数的和与差 输入整数a 和b,计算并输出a、b 的和与差。 3 求平方根 输入1 个实数x,计算并输出其平方根(保留1 位小数) 4 华氏温度转换为摄氏温度 输入华氏温度f,计算并输出相应的摄氏温度c(保留2 位小数)。c = 5/9(f-32). 5 大写字母转换成小写字母 输入一个大写英文字母,输出相应的小写字母。 6编写摄氏温度、华氏温度转换程序。 从键盘输入一个摄氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:F=(C+32)×9/5 。

分支结构 7 判断数的符号 输入整数x,若x 大于0,y=1;若x 等于0,y=0;否则,y=-1,最后输出y。 8 计算个人所得税 输入一个职工的月薪salary,输出应交的个人所得税tax(保留2 位小数)。 tax = rate * (salary-850) 当salary <= 850 时,rate = 0; 当850 < salary <= 1350 时,rate = 5; 当1350 < salary <= 2850 时,rate = 10; 当2850 < salary <= 5850 时,rate = 15; 当5850 < salary 时,rate = 20; 9、试编程判断输入的正整数是否既是5又是7的正倍数。若是,则输出yes;否则输出no。

循环结构 10.是求1 -100之间的所有除5余2的数之和。 11.所谓回文数是从左往右和从右往左读起来都一样的数字,如121是一个回文数,计算从1881开始到4000年为止,共有多少个年号是回文年号? 12.是求1-5000之间的能被7整除的前若干个偶数之和,当和大于600时程序退出,请将运行结果。 13.编程序求出1~100所有整数的平方和并输出结果。 14.一个数如果刚好与小于它的所有因子之和相等,则称该数为一个“完数”,如:6=1+2+3,则6就是一个完数。求出800以内的所有完数之和。 15.所谓回文数是从左至右与从右至左读起来都是一样的数字,如:121是一个回文数。编写程序,求出300—800的范围内所有回文数的和。 16.有36个学生一起买小吃,共花钱120元,其中每个大学生花4元,每个中学生花2元,每个小学生花1元,问大、中、小学生的人数分配共有多少种不同的解(去掉某类学生为0的解)? 17. 求1至100之间的奇数和 18.输出2至1000之间在的质数。 19.输入一个3位的正整数,输出其各位上的数字。 20.对15个数进行排序,按从小到大的顺序输出。 21.一个数除了能被1和它本身整除之外,不能被其它整数整除,该数称为素数。求出1000-5000之间素数的和。 22.求[600,900]之间素数的个数。

c语言程序设计心得体会

c语言程序设计心得体会 本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意! 二十一世纪是计算机的世纪,是一个全新的世纪,计算机正逐步入侵我们的生活。刚开始接触计算机的时候感觉很新奇,那时觉得计算机很神秘,于是就产生了以后一定要熟练掌控计算机的念头。怀着这个愿望,我选择了计算机科学与技术为专业,有点兴奋又有点担忧,兴奋的是以后可以经常接触和了解计算机了,担忧的是我几乎没有任何基础,怕跟不上大家的步伐。有死党说我杞人忧天,结果证实我“忧”得不无道理。依然清楚地记得第一学期的上机课,每次上机老师都计分,所以经常手忙脚乱,用“惨不忍睹”来形容是最适合不过了。 紧张的一个学期过后,我们迎来了c语言的学习和一位风趣博学的老师。虽然刚开始学习c语言的时候大家都一筹莫展,但在老师的鼓励和教育下一步步地往前迈,很令人欣慰。在这之后的学习中仍然困难重重,然而“坚持到底就是胜利”这个坚定的信念激励着我们勇往直前。c语言课本的学习总算结束了,多么崎岖的一条学习之路。

大学的教育模式和中学有很大不同,从平常的课程安排和教学就可以知道,但是独立完成课程设计和写论文这种任务对我们来说无疑是一个很大的挑战。十七周开始进行课程设计,老师要求我们写一个计算器的程序,起初大家都被难倒了,然后开始一步步地摸索,先查找有关资料,画计算器的图形,写了好长一段程序才把图形搞定,可老师一看都不满意,要求我们用循环来做,“师”令如山,不得不听从,改吧,这一改又让大家死了好多脑细胞,感觉有点残忍。 完成了计算器的图形很有成就感,毕竟六月天坐在机子前不是令人愉快的事。接下来要进行计算器内部运算程序的设计,说实话,我根本就不知道要做,更不清楚如何着手,不是我妄自菲薄,独立完成这个程序设计根本就是不可能的事,可想而知只能寻求帮助了,但这个程序不是轻而易举就能完成的。有些积极的同学从网上搜索了好多有关这方面的资料,拼拼凑凑,进行了多次讨论,终于完成了这部分的设计,在同学的互相帮助下,大多数人都完成了最重要的一部分程序设计。 接下来就是用循环语句使按键上的数字有闪烁的功能,这个因为之前老师有过提点,所以相对简单一些。

C语言程序设计论文

C语言程序设计论文 鸡西大学 08电气与信息工程系 班级:软件2班 姓名:范孝龙

设计题目:贪吃蛇 正文: 一、引言: 贪吃蛇这一游戏实训中初次接触,通过操作熟悉,觉知此游戏简单易行,操作方便,而且娱乐性较强,应该吸引了不少游戏的钟爱者人。这一款游戏紧紧地抓住了人们的心理,虽然简单,却起乐无穷,在人们不断追求更多的欲望下,该游戏给人们带来了追逐的快感,以及成功后的满足感,对于一直处于高压下的现代人是很好的放松工具,令人百玩不厌。 二、系统分析: 1)可行性分析:首先,贪吃蛇用C语言编程,有很好的技术可行性,在MYTC下也能顺利运行,可以说在技术方面,只要掌握代码编写知识,就不会有多大的问题。其次,贪吃蛇这类小游戏,还能够下载到手机上玩,所以,更容易为人们所接受,这就展现它的经济可行性也会不赖。再次,无论是电脑还是手机或游戏机,在操作上它都很简单,一学就懂,又证实了它的操作可行性。 2)需求分析:游戏是人们生活中不可或缺的,是一个人从小到大,真正伴随他成长的东西。游戏在娱乐中占有着很重要的地位,不论是一个玩具,还是一个能和伙伴一起开心的小游戏,都是能给我们留下很多美好的回忆。所以不论是什么样的游戏,只要它能迎合人们内心的某种需求,它的市场总会是好的。贪吃蛇,是个简单的小游戏,但却能给人以放松,让我们从繁重的日常生活中解脱出来,得到身心

的放松,现在的人,不管是已经工作的,还是还未进入社会的学生,都面临着很大的压力,而这样一款能让我们随时随地都能享受的游戏,其魅力还是不可估量的。 贪吃蛇,之所以取这样的名字,去用意还是很明显的。贪吃蛇其实并不贪,它只是人不断向前追求的象征。就像现代的人只有不断努力向前才能得到自己想要的。而食物也是随机出现的,就像现在社会存在的机会,而我们只有找好自己的目标才能成功。虽然现在市面上存在着各种各样的游戏版本,可是贪吃蛇其市场还是相当大的。因为它的特殊在于它能吸引人更深入,爱不释手。随着游戏速度不断加快,其刺激性也更强。 我觉得该游戏的优势在于它的简单易行,不论是手机,还是小游戏机,都能很快顺利的运行,对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游戏刚好迎合了他们的需求。 三、设计目的: 进一步培养结构化程序设计的思想,加深对高级语言基本语言要素和控制结构的理解;针对C语言中的重点和难点内容进行训练,能够独立完成有一定工作量的程序设计任务,同时培养好的程序设计风格;掌握C语言的编程技巧和上机调试程序的方法;掌握程序设计的常用算法;加强对所学知识的巩固。 四、设计思想及其编码过程概述: 1)这个程序的关键是表示蛇的图形以及蛇的移动。用一个小矩

汇编语言简单计算器程序毕业课程设计报告[1]

课程设计说明书题目: 简单计算器 院系: 专业班级: 学号: 学生姓名: 指导教师: 2010年12月31日

安徽理工大学课程设计(论文)任务书 计算机科学与工程学院硬件教研室

2010年 12月 17 日

安徽理工大学课程设计(论文)成绩评定表

摘要 汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。本次设计的简单计算器支持简单的四则运算。 关键词:汇编语言,简单计算器,高效,硬件

Abstract Assembly language is a powerful programming language features, but also all the hardware features of computer and can directly control the hardware of the language. Assembly language, as a language, corresponding to high-level language compiler, you need a "assembler" to the assembly language source file compiled into machine executable code. Advanced assembler such as MASM, TASM assembler, and so for us to write high-level language offers many similar features, such as structured, abstract and so on. In such an environment prepared by the assembler, a large part of the directive for the assembler has been similar in the high-level language. Now the compilation environment has such a high, even if all windows in assembly language to write applications that are feasible, but this is not assembly language strengths. The strength lies in assembly language to write efficient hardware and requires precise control of the machine process. This simple calculator designed to support simple arithmetic. Keywords:assembly language, simple calculator, efficient, hardware

(完整版)《C语言程序设计》基本知识点

《C语言程序设计》教学基本知识点 第一章C语言基本知识 1.C源程序的框架 尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。 2.C语言源程序的书写规则: (1)C源程序是由一个主函数和若干个其它函数组成的。 (2)函数名后必须有小括号,函数体放在大括号内。 (3)C程序必须用小写字母书写。 (4)每句的末尾加分号。 (5)可以一行多句。 (6)可以一句多行。 (7)可以在程序的任何位置加注释。 3.语句种类 语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。 (1)流程控制语句 流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。其中后两种结构要用特定的流程控制语句实现。 (2)表达式语句 表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。最常见的表达式语句是赋值语句。 (3)函数调用语句 函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。 (4)空语句 空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。 (5)复合语句 复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。注意复合语句中最后一个语句末尾的分号不能少。复合语句右大括号后面没有分号。 4.运算符 用来表示数据各种操作的符号称为运算符。运算符实际上代表了一种类型数据的运算规则。不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。 根据参加操作的数据个数多少,可以将C语言的运算符分为单目运算符,双目运算符和三目运算符(三目运算符只有条件运算符一个)。 根据运算对象和运算结果的数据类型可分为算术运算符、关系运算符、逻辑运算符等。 5.表达式 表达式是由常量、变量、函数,通过运算符连接起来而形成的一个算式。一个常量,一个变量或一个函数都可以看成是一个表达式。 表达式的种类有: 算术表达式、关系表达式、逻辑表达式、赋值表达式、字位表达式、强制类型转换表达式、逗号

最新大学生c语言程序设计实训报告总结

大学生c语言程序设计实训报告总结 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便,,小编整理了大学生c语言程序设计实训报告总结,希望能帮助到您。 大学生c语言程序设计实训报告总结一 C语言是在国内外广泛使用的一种计算机语言。其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,Unix,Linux,Mac,os/2,无一例外,哪一个不是C语言写的?很多新型的语言如,C++,Java,C#,J#,perl...都是衍生自C语言。掌握了C语言,可以说你就掌握了很多门语言。 学习C程序这门课一年了,这是我们学的第一门专业课,在大学里C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,C语言是计算机的基础,大多数软件都需要用C语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。同时,我觉得C语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。 在学习一年C语言的过程中我也在慢慢探索怎样才能学好C语言,

并总结了一点经验: 要了解C语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。在C语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。这些都是语法基础也是C语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。比如说IFELSE和SWITCHCASE这两种条件语句都是用来判断执行功能的,那我要什么时侯用IF什么时侯用SWITCH 呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选SWITCH 而不会选IF。因为如果条件分支太多时要用IF语句,这样一定会出现IF的嵌套,如果IF的嵌套越多时程序的开销就会随着增大,这样对整个程序的运行效率就大在降底。而SWITCH就不同,它只要比较一次就可以找出条件的结果比起嵌套IF它的效率就大大的提高了很多。不过SWITCH也有它的约束条件,就是它的条件值一定要是一个整型数或是一个字符值,所以碰到它不能解决的问题时我们也会通常使用IF语句,毕竟IF语句它使用起来也比较方便用的范围也比较广。所以说了解语法规则是很重要的,如果没有一个良好的语法基础是很难编出一个好的程序!学习好基础后我们就可以开始来编程了。 大学生c语言程序设计实训报告总结二

《C语言程序设计》课程设计报告

《C语言程序设计》课程设计报告 (2013— 2014学年第 3 学期) 题目:C语言课程设计 专业:软件工程 班级:软件工程技术2班 姓名学号: 1 林燕萍 指导教师:吴芸 成绩: 计算机科学与技术系 2014 年6月23日

目录 一、课程设计的目的与要求 (1) 二、方案实现与调试 (3) 2.1 掷骰子游戏 (5) 2.2 射击游戏 (7) 2.3 计算存款本息之和 (8) 2.4肇事逃逸 (10) 2.5 礼炮 (12) 2.6 汽车加油 (14) 2.7 大优惠 (16) 2.8 金币 (19) 三、课程设计分析与总结 (23) 附录程序清单 (25) 一、课程设计的目的与要求(含设计指标) C语言是一种编程灵活,特色鲜明的程序设计语言。C语言除了基知识,如概念,方法和语法规则之外更重要的是进行实训,以提高学习者的动手和编程能力,从应试课程转变为实践工具。 这是学习语言的最终目的。结合多年来的教学经验,根据学生的学习情况,为配合教学过程,使“项目教学法”能在本质上促使学生有更大进步,特编写了该《C语言程序设计任务书》,以在实训过程中给学生提供帮助。达到如下目的: 1.在课程结束之前,让学生进一步了解C程序设计语言的编程功能; 2.让学生扎实掌握C程序设计语言的相关知识; 3.通过一些有实际意义的程序设计,使学生体会到学以致用,并能将程序设计的知识与专业知识有效地结合,更全面系统地了解行业知识。 编写程序要求遵循如下基本要求: ①模块化程序设计 ②锯齿型书写格式

③必须上机调试通过 二、方案实现与调试 2.1掷骰子游戏 2.1.1 题目内容的描述 1) 两人轮流掷骰子,每次掷两个,每人最多掷10次。 2) 将每人每次的分值累加计分 3) 当两个骰子点数都为6时,计8分;当两个点数相等且不为两个6时,计7分;当两个点数不一样时,计其中点数较小的骰子的点数。 4) 结束条件:当双方都掷10次或经过5次后一方累计分数多出另一方的30%及以上。最后显示双方分数并判定优胜者。 2.1.2输入数据类型、格式和内容限制和输出数据的说明 数据类型:整型;内容限制:随机数的产生;输入数据结果:胜利的一方 2.1.3主要模块的算法描述 本算法的思路过程:首先要随机产生随机数,然后进行算法输出数值,执行条件判断输入结果,最后比较结果,判断胜利的一方。 程序流程图 图1 掷骰子游戏 2.1.4调试过程及实验结果

C语言程序设计重点复习(函数之前)

目录 第一部分简单程序示例: (3) 第二部分整型数据 (7) (1)整型常量(整数) (7) (2)整型变量 (8) Ⅰ 二进制数计算: (9) Ⅱ 十进制数(正常数)转换为二进制数: (9) 第三部分字符型数据 (11) (1)字符型常量:由一对单引号括起来的单个字符(可打印) (11) (2)转义字符:一个反斜杠(\)后跟限定字符(不可打印) (11) (3)字符型变量:通过保留字char说明 (12) (4) 字符串常量:用一对双引号括起来的零个或者多个字符的序列。 (12) ASCII码例子 (13) 第四部分实型数据(浮点型数据) (14) (1)实型常量 (14) (2)实型变量:双精度(double) (14) 第五部分格式说明符与数据输入与输出 (16) Ⅰ 几个简单常用的格式说明符: (16) Ⅱ 数据的输入与输出函数: (16)

Ⅲ 前格式说明符的扩展说明 (19) 第六部分几个简单的表达式讲解 (21) Ⅰ 算术表达式 (21) Ⅱ 赋值表达式 (21) Ⅲ 复合赋值表达式 (22) Ⅳ ++和— (22) Ⅴ 逗号表达式 (23) Ⅵ 条件表达式 (24) 第七部分关系运算与逻辑运算 (25) 几个简单的关系运算符 (25) 几个简单的逻辑运算符 (25) 第八部分if语句(条件语句) (26) ①格式: (26) ②格式: (27) ③if的嵌套1 (28) ④if的嵌套2 (28) 第九部分switch语句(开关语句) (29) 第十部分break与continue的作用 (31) Ⅰ break语句,用于跳出当前循环语句或开关语句 (31)

c语言课程设计总结

c语言课程设计总结 c语言课程设计总结8篇 c语言课程设计总结(一): 经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,要透过不断的上机操作才能更好地学习它,透过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,透过学习也有所改善;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,透过实践,使我在这几个方面的认识有所提高。 透过实践的学习,我认到学好计算机要重视实践操作,不仅仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己便好地学好计算机。 c语言课程设计总结(二): 经过一个学期的学习,我对C语言有了必须的了解。C语言是学习计算机科学的基础,作为一名计算机专业学生,掌握C语言更是毋庸置疑。在上课之前,就经常听同学说,C语言很难学,确实,刚开始听课时觉得老师不知所云。但是,发现对后续资料的预习后,前面的疑团都迎刃而解,这让我对C语言的学习更有信心。

计算机最重要的就是上机操作,自己编写程序,在VisualC++运行,刚开始经常会出现错误,经过分析改正后,最后能够运行了,就觉得个性激动。 课程设计是一个把需求分析、程序编写、程序调试、撰写报告结合为一体的过程。在这个过程中,不仅仅锻炼了我们缜密的思维和坚持不解的毅力,更磨练了一个队伍的团结互助的精神。只有透过大家一齐努力才能将课程设计的所有环节都顺利的完成。另外程序设计中我们遇到问题并解决问题的过程,使得我们独自探索并解决问题的潜力了有了一个提高,这有利于我们以后的学习。同时这整一个过程,也使我们对程序编写的整个过程有了一个统筹全局的思想,因为需求分析、程序编写、程序调试、撰写报告这些过程是环环相扣的,绝对不可能独立进行。 课程设计是学习《C程序设计》后对知识的全面测试,刚拿到题目时不明白怎样去处理,觉得很复杂,经过和小组成员的讨论,上网查资料,逐个问题逐个击破,问题不再那么复杂。透过课程设计,我发现自己还存在很多知识漏洞,编写程序时,经常会出现低级错误,很多知识点都不熟悉。在今后的时间里,我必须要投入更多精力学习C语言,以课本为基础,请教老师,与同学讨论,参考资料,上机操作,我相信我必须能把C语言学好。

C语言程序设计论文

C语言程序设计论文学校:天津电子信息职业技术学院 系别:电子技术系 专业:通信技术 班级:通信S13-26 学号:89757 姓名:王磊

C语言课程设计报告 一、设计题目:计算器 二、设计目标:进一步加深、巩固学生所学专业课程(《C语言》)的基本理论知识,理论 联系实际,进一步培养学生综合分析问题和解决问题的能力。掌握运用C语言独立地编写、调试应用程序和进行其它相关设计的技能,充分发挥广大同学的潜力,使他们通过本次课程设计而得到全面的锻炼。 三、设计内容: 1.设计系统的功能框图、流程图; 2.编写计算器的源程序代码; 3.上机调试; 4.答辩; 5.书写实习报告。 四、课程设计所用设备:每人一台计算机。 五、课程设计系统组成及模块功能: (1)主函数模块 (2)设置系统进入图形模块 (3)初始化图形系统模块 (4)计算器计算函数模块 (5)窗口函数模块 (6)设计鼠标图形函数模块 (7)获取特殊键函数模块 六、软件环境:Visual c++6.0 七、课程设计要求:在计算机上操作,通过Visual c++6.0,设计出“计算器”程序。 八、应提交的材料:实习报告一份,内容包含“计算器”程序代码。 设计报告: 程序代码:#include #include #include #include #include #include #include

#include #include #define UP 0x48 #define DOWN 0x50 #define LEFT 0x4b #define RIGHT 0x4d #define ENTER 0x0d void *rar; struct palettetype palette; int GraphDriver; int GraphMode; int ErrorCode; int MaxColors; int MaxX, MaxY; double AspectRatio; void drawboder(void); void initialize(void); void computer(void); void changetextstyle(int font, int direction, int charsize); void mwindow(char *header); int specialkey(void) ; int arrow(); int main() { initialize(); computer(); closegraph(); return(0); }

专科《汇编语言程序设计》

[试题分类]:专科《汇编语言程序设计》_08032560 [题型]:单选 [分数]:2 1.下列有一种寻址方式不能作目的操作数,它是_______。 A.寄存器寻址 B.直接寻址 C.变址寻址 D.立即寻址 答案:D 2.{ MOV AL, 0FFH MOV BL, 2H ADD AL, BL 上述语句执行后,(AL)的值是_________。 } A.02H B.0FEH C.00H D.01H 答案:D 3.当程序顺序执行时,每取一条指令语句,IP指针增加的值是_______。 A.对于32位CPU,增加值为32 B.2 C.4 D.由指令长度决定 答案:D 4.在标志寄存器中表示进位的是_______。 A.OF B.AF C.SF D.CF 答案:D

5.对于错误指令MOV AX, [DX]进行修改后,仍然包含错误的是________ A.MOV AX, [SI] B.MOV AX, [EDX] C.MOV AX, [DI] D.MOV AX, WORD PTR [DX] 答案:D 6.下列部件,哪些不属于x86微处理器的基本部件_______。 A.执行部件 B.总线接口部件 C.磁盘控制器部件 D.指令译码部件 答案:C 7.下列寄存器组中在寻址时可以提供段地址的寄存器组是__________。 A.CS,DS,ES,SS B.AX,BX,CX,DX C.BX,BP,SI,DI D.SP,IP,BP,DX 答案:A 8.汇编语句MOV ECX,AX语法错误,其原因是_________ A.操作数类型模糊 B.两个操作数数据类型不匹配 C.源操作数和目的操作数不能同时为寄存器操作数. D.ECX不能用于寄存器间接方式 答案:B 9.地址表达式中出现的符号常量,均是取它们的参加运算 A.段地址 B.偏移地址 C.名字 D.值 答案:D

《C语言程序设计》学习心得.pdf

C语言程序设计网络学习心得 通过这一阶段网络的学习,我总结出以下几点,在今后的教学过程中可以尝试加以注重: (一)激励学生学习兴趣,充分调动学生学习积极性 学习兴趣就是学生在心理上对学习活动产生爱好、追求和向往的倾向,是推动学生积极主动学习的直接动力。爱因斯坦说过:“兴趣是最好的老师,真正有价值的东西,并非仅仅从责任感产生,而是从对客观事物的爱与热忱中产生”。我国古代教育家孔子也说:“知之者不如好之者,好之者不如乐之者。”只有“好之”、“乐之”方能有高涨的学习热情和富有创造性地去完成学习任务。明确学习目的,激发学习兴趣 只有学习思想端正,学习目的明确,学生才会有学习的动力,才会有学习的自觉性。有的学生认为C语言已经落伍了,没有什么用,我们要使每个学生明确即将学习的知识与社会的关系,告诉学生学习C语言是建立程序设计思想,学习程序设计的各种基本概念、方法、技巧,培养良好的程序设计风格。在讲C 语言程序设计课程前,收集大量招聘C语言编程人员的就业信息及毕业生从事C 语言编程工作的收入、工作条件、工作岗位等学生十分关注的重要信息。同时,也列举了大量用C语言完成商业性软件工程,以激发学生学习C语言的动机的热情。学生有了主动性,才会自觉地学习这门课。 (二)设计问题,开发智力,引导学生自己解决实际问题 在教学过程中,我们提倡学生在课堂上发现问题、提出问题,对于学生在练习中所遇到的问题,教师不能马上告诉答案,应当适当的启发和引导让学生自己找到答案,培养他们的思考能力。同时教师要精心设计一些富有启发性的问题,达到开发学生智力的目的。这样做有两方面的意义:一是为了引人入胜,激发学生的学习兴趣;二是对知识本身提出疑问,加深对问题的认识和讨论,这也是推动C 语言课程教学艺术化的途径之一。 (三)强化课程设计,加强学生能力培养 课程设计是整个课程学习的总结与提高,通过必要的课程设计,切实加强学生的能力培养,通常课程设计贯串整个教学环节,设计内容以具体的软件系统的

C语言程序设计总结

C 语言程序设计总结 一、C 语言程序的基本结构 #include “ stdio.h ” void main() { 定义变量; 程序实现; 输出结果; printf } 、变量的定义 1.整型:int a , b, s=0; ( 可以在定义的同时为变量进行赋值) 长整型:long 无符号整型(非负整数) :unsigned 2.单精度实型:float x, y, z=1.0 ; 3.双精度实型:double l,m; 4. 字符型:char c1= ' Ac'2=,';b ' 三、变量的赋值 1.直接赋值:a=10 ; // 用赋值号“ = ”将右侧的值赋给左侧的变量 2.赋表达式的值:a=3+7; 3. 赋另外一个变量的值:a=s; // 把s 的值赋给a 变量的输入: 输入一个变量:scanf( “% d”, &a); 输入多个变量:scanf( “%d%d%d ”,&a, &b, &c); int--%d float--%f char--%c double--%lf 字符串--%s 变量的输出: 输出一个提示语句:printf( “xxxxxx ”); 输出一个回车:printf( “\n ”); 输出一个变量:printf( “xxx is %d ”,a); 输出多个变量:printf( “xxxx%d, xxxx%d ”,a,b); 练习:1.输入圆的半径,求圆的周长。 四、常用流程控制语句 分支语句:根据条件执行相应的语句 条件的形式:a大于0 写成a>0 a小于0 写成a<0 a等于0 写成a==0 (注意,用两个=) a大于等于0并且小于等于10 写成a>=0 && a<=10 a小于0或者a大于10 写成a<0 || a>10

c语言程序设计报告4

课程设计报告 课程名称C语言程序设计 课题名称运动会分数统计系统 专业机械设计及其自动化 班级1185班 学号201113090526 姓名谭信 指导教师王颖 2012年6月22日

湖南工程学院 课程设计任务书 课程名称C语言程序设计 课题运动会分数统计系统 专业班级机械设计1185 学生姓名谭信 学号201113090526 指导老师王颖 审批王颖 任务书下达日期2012年6月1日 任务完成日期2012年6月22日

现代科学飞速发展,世界也不断的变化,人类的生活随着科技的发展也发生着惊天动地的变化。作为新时代的大学生,我们应该不断努力学习科学文化知识,以适应社会的发展要求,以现代化的科学知识为祖国做贡献。而C 语言作为一种计算机语言,无疑是我们将来工作不可缺少的一门技能,所以我们应该认真学好C语言。但只是课本上的知识是不够的,我们应该将从课本上学到的理论知识应用到实践中,通过不断的实践,在实践中发现错误解决错误,并不断创新,最后能熟练的运用所学的知识,充分掌握这种工具。就现有知识水平、经验来看,对我来说,本程序的算法设计上已经是最精简的了。C语言知识博大精深,有必要对C语言的专著进行研究学习,多阅读别人的程序代码、多动手实践操作与设计,这样便对程序算法精简改进提供了可能。想学的更深更透彻的话就必须进一步掌握运用C进行程序设计的能力;进一步理解和运用面向过程程序设计的思想和方法;初步掌握开发一个小型实用系统的基本方法;学会调试一个较长程序的基本方法;学会利用互联网查找相关的知识并学习;学海之路何其宽广,有必要让我们孜孜不倦的求索下去。

绪论 (1) 第一章需求分析 1.1程序的功能及要求 (5) 1.2系统的性能要求 (5) 1.3测试数据 (6) 第二章概要设计 2.1结构体 (6) 2.2主程序(main) (6) 2.3模块的功能 (6) 2.4程序模块机之间的调用关系 (7) 第三章详细设计 3.1宏定义 (8) 3.2数据类型定义 (8) 3.3函数之间的调用关系图 (8) 3.4算法设计 (9) 第四章调试分析 4.1不足之处 (10) 4.2错误规范 (10) 4.3算法的时空分析 (10) 4.4存在的问题 (10) 第五章测试结果 (11) 第六章用户使用手册 6.1运行环境 (12) 6.2用户界面 (12) 6.3操作过程 (13) 第七章参考文献 (14) 第八章设计体会 (15) 第九章附录 (17) 课程设计评分表 (29)

相关文档
最新文档