C语言程序设计课程大型作业
国家开放大学电大《C语言程序设计》网络课形考任务2作业及答案

国家开放大学电大《C语言程序设计》网络课形考任务2作业及答案形考任务2一、选择题(共20分,每小题2分)题目1当处理特定问题时的循环次数已知时,通常采用的语句是()。
选择一项:a. for题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是()。
选择一项:b. if题目3for语句能够被改写成的语句是()。
选择一项:d. while题目4下面循环语句执行结束后输出的i值为()。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}选择一项:b. n/2+1题目5在下面循环语句中,内层循环体S语句的执行总次数为()。
for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;选择一项:d. n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为()。
int i=0; do i++; while(i*i<10);选择一项:a. 4题目7在下面的一维数组定义中,有语法错误的选项是()。
c. int a[];题目8在下面的二维数组定义中,语法正确的选项是()。
选择一项:c. int a[][3]={{1,3,5},{2}};题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为()。
选择一项:d. 8题目10假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
选择一项:a. 0二、判断题(共20分,每小题1分。
叙述正确则回答“是”,否则回答“否”)题目11在执行“typedef int DataType;”语句后,标识符DataType与保留字int具有完全相同的含义和作用。
大学C语言程序设计大作业题目

1数据处理系统一、软件开发目的该软件主要是使用C语言设计开发数据处理程序,实现对数据的排序、查找、插入、计算、输出等功能。
二、数据结构定义一个11*10的二维数组。
三、软件功能说明1.生成100个随机数:调用库函数rand()或random()产生100个随机数,并存储在二维数组中的前十行。
2.选择法排序:用选择法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
3.冒泡法排序:用冒泡法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
4.插入法排序:用插入法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
5.查找数据:输入待查找数据, 在二维数组中逐个查找,若找到输出数据所在位置的行列号,若无该数值则输出“无此数”。
6.转换二进制:将数组中数据转换为二进制并转存到另一数组中输出。
7.转换为素数之和:对于原数组中的数进行判断:若为偶数,则表示成两个素数的和,并输出。
8.插入数据:输入一个数,将该数插入原数组中,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。
9.删除数据输入一个数,若原数组中存在该数,则删除该数,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。
10.退出系统,结束任务。
四、软件验收标准1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。
系统菜单功能项:1生成100个随机数2选择法排序3冒泡法排序4插入法排序5查找数据6转换二进制7转换为素数之和8插入数据9删除数据10退出系统注意:要求每执行一个具体的功能之后,程序将重新显示菜单。
2.系统要有一定的可靠性、稳定性,能够实现各功能模块。
2图书借阅管理系统一、软件开发目的该软件主要是使用C语言设计开发一个简单的图书借阅管理系统,实现对图书的借书,还书的管理和数据统计。
C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
c程序设计课程设计作业

c程序设计课程设计作业一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和问题解决能力。
具体包括以下几个方面:1.知识目标:学生需要掌握C程序设计的基本语法、数据类型、运算符、控制结构、函数、数组、指针等基本概念,了解结构体、共用体、位字段等数据结构,以及文件操作、调试技巧等编程实践知识。
2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的程序调试和优化能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生独立思考、创新意识和团队合作能力。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:变量、常量、数据类型、运算符、表达式等。
2.控制结构:顺序结构、选择结构、循环结构等。
3.函数:函数的定义和声明、参数传递、返回值、局部变量和全局变量等。
4.数组和指针:一维数组、多维数组、字符串、指针的概念和应用等。
5.数据结构:结构体、共用体、位字段、链表、栈和队列等。
6.文件操作:文件的打开、关闭、读写、定位等操作。
7.编程实践:调试技巧、代码优化、算法分析等。
三、教学方法为了达到教学目标,本课程将采用以下几种教学方法:1.讲授法:通过讲解和演示,使学生掌握C语言的基本概念和语法。
2.案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题。
3.实验法:安排上机实验,让学生动手编写程序,培养编程能力和实践能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高学生的创新意识和团队合作能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程、在线课程等。
4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)、网络资源等。
C语言程序设计大作业--图书管理系统

C语言程序设计大作业设计报告一.设计方案本程序旨在用一个C语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。
二.模块说明及代码分析1.主函数:源代码:void main(){int a;printf("\n");printf("\n");printf(" ( ^_^ ) WELCOME!\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t〉〉-------------BJTU图书管理系统--------------〈〈");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");do {printf("1.借书 2.还书 3.新书录入4.查询 0.退出");printf("\n");printf("\n");printf("\n");printf("\n");printf("请选择序号:");scanf("%d",&a);switch(a){case 1:jieshu();break;case 2:huanshu();break;case 3:xinshu();break;case 4:chaxun();break;case 0:break;default:printf("请选择正确的序号!\n");printf("\n");}}while(a!=0);printf("谢谢使用图书管理系统!\n");}主函数提供人机交互界面,让操作者选择所需的操作项目,并有退出选项。
C语言程序设计大作业设计说明书

C语言程序设计大作业设计说明书概述:处在Microsoft Visual C++软件下的Developer Studio集成开发平台中进行开发。
已实现了基本功能中的:1、随机生成没有重复的4个数。
(每个数字在0-9范围内)。
2、用户从键盘输入4个不重复的数,程序能对用户输入的数与随机生成的数进行匹配,并给出提示信息:“有x个数数值和位置都相同!有y个数数值相同,但位置不同。
”3、控制用户的尝试次数为10次。
4、计算、输出并保存用户的得分,计分规则:总分是100分,每失败一次扣10分。
5、有操作菜单,能根据不同选择运行不同功能:1:开始游戏!2:查看上次成绩!3:输出帮助信息!4:游戏设置!0:退出程序!还实现了扩展功能里的:1.对用户输入的数字进行检查,如果用户输入重复的数,给出提示,要求重新输入。
2.能对游戏进行设置:在操作菜单中增加相应的选项:“4:系统设置”。
(1)修改要猜的数字的个数n,根据修改后的n值,计算机可随机生成n个数,用户进行n个数的猜测游戏。
(2)修改可以尝试的次数。
未实现的功能是扩展功能里的:1、若游戏胜出且成绩在前五名,可输入并记录对应的用户姓名,并添加到积分榜中。
操作菜单中相应选项改为“2:积分榜!”,用于把积分榜中保存的前五名成绩及用户姓名显示出来。
2、能对积分榜的成绩进行排序和输出。
经多次运行尝试,虽然编辑、编译、连接都没有错误,可以运行,但是在运行的时候有时会卡住,要等一会才会显示出来。
程序概要设计:程序流程是:开始运行到主界面,在主界面中可选择:1:开始游戏!2:查看上次成绩!3:输出帮助信息!0:退出程序!,然后选择开始游戏后,程序会生成4个不重复且在0-9之间的随机数,然后玩家需输入4个不同的数0-9之间的数,接着程序会判断玩家输入的4个数与程序生成的随机数的数值和位置是否相同,并提示4个数的数值跟位置相同和不同有几个,就这样一直循环到4个数的数值和位置都正确,或玩家尝试次数已超过10次。
C语言程序设计-国家开放大学电大学习网形考作业题目答案

C语言程序设计一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
A.mainB.MAIND.function正确答案: A2.C语言源程序文件的缺省扩展名为()。
A.cppB. exeC. objD.c正确答案: D3.由C语言目标文件连接而成的可执行文件的缺省扩展名为()。
A.cppB.exeC.objD. c正确答案: B4.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。
A.空格或逗号B.逗号或回车C.逗号或分号D.空格或回车正确答案: D5.每个C语言程序文件的编译错误被分为()。
A.1类B.2类C.3类D.4类正确答案: B6.不符合C语言规定的复合语句是()。
A.{}B.{;}C.{x=0;}D.{y=10}正确答案: D7.C语言程序中的基本功能模块为()。
A.表达式B.标识符C.语句D.函数正确答案: D8.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。
A. 表达式B.语句C.参数表D.函数体正确答案: C9.在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。
A.尖括号B.双引号C.单引号D.花括号正确答案: B10.在C语言程序中,多行注释语句使用的开始标记符为()。
A.//B./*C.*/D.**正确答案: B11.在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。
A.charB.intC.floatD.double正确答案: A12.在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。
A.5B.4C.3D.6正确答案: A13.转义字符'\\'表示的字符是()。
A.单引号B.双引号C.反斜线D.问号正确答案: C14.枚举类型中的每个枚举常量的值都是一个()。
《C语言程序的设计》大作业

南昌大学软件学院C语言程序设计工程实训大作业班级:09软件技术(2)班学号:8001509107姓名:吴承增指导老师:危建国2010年12月10日系统说明书1.问题描述:该程序包内容包括以下的模块,均用子函数完成:(1)主菜单(2)输入若干条记录并保存文件(指学生的信息)(3)学生信息录入、修改、删除、查询、存储。
(4)学生信息的浏览及排序(冒泡排序算法)。
(5)学生成绩的录入、修改。
(6)统计及格和优秀人数(7)退出系统2.程序设计和程序流程图:解决方案:主函数流程图:各部分功能的流程图:录入学生成绩流程图:统计功能流程图如图3所示:图3 统计模块流程图冒泡排序流程图:排序学生信息流程图:删除学生成绩信息流程图:3.系统的基本功能(主要数据和函数功能描述):char xh[15]; //以字符串数组形式存储学生学号char name[25]// 以字符串数组形式存储学生姓名char sex[5]; //性别float sxcj; //数学成绩float yycj; //英语成绩float Cyycj; //C语言成绩float ave; //平均成绩float sum; //总成绩#define N 4 //宏定义学生#define MAX 60 //学生最大个数int nCOUNT=0; //记录当前学生个数struct student //定义结构体学生int ScoreNew() //录入学生成绩int average() //求平均数int xsxscj() //显示输入学生信息、将学生打印到屏幕上int xsxsxx() //显示学生信息int xhcjpx() //按学生学号排序学生信息int sxcjpx()按数学成绩排序学生信息int yycjpx()按英语成绩排序学生信息int Cyypx() //按C语言成绩排序学生信息int zcjpx()按总成绩排序学生信息int pxxsxx()//排序学生信息int axhcx() //按学号查询int axmcx() //按姓名查询int SearchStud() //查询学生成绩信息int zjxsxx() //增加学生信息int xgxsxx() //修改学生信息int scxsxx() //删除学生信息int gxxscj() //更新学生信息int tjxscj() //统计学生成绩int save() //保存到文件((fp=fopen("stu_list.txt","wb"))==NULL) //以只读方式打开文件stu_list.txt (fwrite(&str[i],sizeof(struct student),1,fp)!=1) //创建文件并以二进制形式打开int xswj() //显示文件信息int main() //主函数mainmemu4.拟采用开发平台:Visual C++,Borland C++等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所有题目简介
• 中文窗口下拉式菜单设计,汉化 TC2.0界面,只要求实现菜单,不要 求TC功能 • BMP图象处理,柔化SMOOTH、锐 化SHARPEN、浮雕EMBOSS、扩散 DIFFUSE 和 定 制 过 滤 器 。 对 640*480*256色图象处理
题目简介
* 二维图象动画演示, 移动、翻转、旋转。
鼠标驱动程序主要功能
功能 X 范围 Y 范围 光标范围 输入值 CX DX CX DX CX DX SI DI 中断程序 CX ES : DX 输出值 无 无 无 无 功能调用 AX=0007 AX=0008 AX=0010 AX=000C
鼠标功能调用方法
用TC通过INT33H中断来编制基本函数, 有三种常用方法: • 嵌入汇编程序,如:ASM CLI清中断 • 利用全程变量赋予寄存器值,然后通过 函数geninterrupt( )调用中断实现 • 利用联合类型REGS,SREGS通过函数 int86(),int86x()调用中断,原型在dos.h
* 人工智能“重排九 宫”,8个数字放在 3*3九个格子中,余 下一个格子为空。要 求可以用鼠标拖动数 字,并记录玩家花费 的时间。
题目简介
* 跳棋,将三只黑子放在123方格中,3只白 子放在567方格中,空格是4,将白子移到 黑子位置,黑子移到白子位置。规则,可 以走etCurs(unsigned masks[32],x,y) { union REGS regs; struct SREGS sregs; regs.x.ax=9; regs.x.bx=x; regs.x.cx=y;/* hot spot*/ regs.x.dx=(unsigned)masks; segread(&sregs); int86(0x33,®s,®s); }
C语言程序设计课程大型作业
• • • • • • 大型作业内容介绍 图形操作简介 鼠标操作简介 西文状态下汉字的显示 DOS下如何发声 良好的程序设计风格
题目简介
*五子棋游戏的棋盘功能,要求能悔 棋一步,判断玩家输赢。 *中国象棋游戏的棋盘功能,能判断 走棋是否合法,允许悔棋一步,并 能对玩家记时。 *俄罗斯方块,要求能选难度,记分 规则同掌上机。
*中文文本文件阅读器。能处理 HOME,END,PGUP,PGDN, ARROW,SPACE BAR,ESCAPE 键。显示文件名,文件大小,以及 操作提示。
题目简介
• 模 拟 PCTOOLS 对文件进行编 辑 同 时 显 示 16 进制和字符格 式信息。
题目简介
*自动发牌程序,能够将54张牌随机 发给四个人。
课题要求
• 四个人一组,自由组合。每组选一个题 目,确定组长。上机时坐在一起。学期 结束前每组提交一份正规的源程序清单, 要有详尽的注释,同时注明哪个人负责 编写哪部分程序。最后两周验收。
图形操作简介
• • • • • • • 必要的头文件 必须的系统变量 初始化图形界面 初始化出错处理 取得必须的信息 关闭图形界面 一些常用的画图函数
鼠标简介
可以通过PC中断33H访问鼠标和鼠标驱 动程序的各种功能。所选择的特定函数 依赖于中断时AX寄存器的值。三个其它 寄存器(BX、CX和DX)用于把各种参数 传送给鼠标例程。同样,鼠标函数使用 这四个寄存器把鼠标的位置和按钮的状 态返回给调用函数。
鼠标驱动程序主要功能
功能 初始化 显示光标 隐藏光标 读取状态 设置位置 设置光标 输入值 无 无 无 无 CX、DX BXCXDX 输出值 AX BX 功能调用 AX=0000 AX=0001 无 AX=0002 无 BXCXDX AX=0003 AX=0004 无 AX=0009 无
初始化图形界面
GraphDriver = DETECT;
initgraph(&GraphDriver,&GraphMode,"" ); initgraph(&GraphDriver,&GraphMode, ”d:\\tc" );
初始化出错处理
ErrorCode = graphresult(); if( ErrorCode != grOk ){ printf(" Graphics System Error: %s\n", grapherrormsg( ErrorCode ) ); exit( 1 ); }
取得字节某一位的值
int getbit(unsigned char byte,int bit) { if(bit<0||bit>7) return 0; return (byte>>bit)&0x1; } 函 数 getbit 用 于 得 出 一 个 字 节 中 每 个 位 (bit)是0还是1。
closegraph(); /* Return the system to text mode */
一些常用的画图函数
• • • • • • • outtext( buffer ),outtextxy(x,y,buffer) line(x0,y0,x1,y1);linerel( );lineto( ) circle(int x, int y, int radius); arc( ) bar(int l, int t, int r, int b); bar3d( ); moveto(int x, int y);moverel(dx,dy);getx( ) putpixel(x,y,color); getpixel(x,y) setcolor();setbkcolor();getcolor();getbkcolor
必要的头文件
• • • • • #include #include #include #include #include <dos.h> <conio.h> <stdio.h> <stdlib.h> <graphics.h>
必须的变量
• • • • • • • int int double int int int struct GraphDriver; GraphMode; AspectRatio; MaxX, MaxY; MaxColors; ErrorCode; palettetype palette;
题目简介
* 汉诺塔的动态 演示,自动移 动HANIO,要 求能输入塔盘 的数量。
题目简介
• 数据加密技术探讨,DES加密算法 的实现,要求能够加密解密,密钥 位数可以指定。 *扑克牌24点游戏,人机对弈,提供 难度选择。
题目简介
* TIC-TAC-TOE 的人机对弈, 机器判断输赢。
题目简介
鼠标操作
• • • • • • • 鼠标简介 鼠标驱动程序的主要功能 鼠标功能调用方法 鼠标的初始化 鼠标光标的显示与隐藏 读取按钮状态,读取或设置光标位置 设置鼠标的光标形状和移动范围
鼠标简介
鼠标系统实际上由两个主要元素组成: 鼠标机制和称作鼠标驱动程序的内存驻 留程序。鼠标驱动程序提供与鼠标通信 所需的全部低级支持。此外,它自动维 持鼠标光标位置和发现是否按下了某个 键。一旦装入驱动程序,鼠标就可以被 随后执行的任意程序使用。
0x1200, 0x1200, 0x1249, 0x1249, 0x9001, 0x9001, 0x4002, 0x3ffc
设置鼠标的移动范围
SetMouseArea(int x0,int y0,int x1,int y1) { union REGS regs; regs.x.ax=7;regs.x.cx=x0;regs.x.dx=x1; int86(0x33,®s;®s); regs.x.ax=8;regs.x.cx=y0;regs.x.dx=y1; int86(0x33,®s,®s); }
手的光标数据
• {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, /*cursor mask*/ • 0x0c00, 0x1200, 0x13fe, 0x1249, 0x7249, 0x9001, 0x8001, 0x8001, /*cursor mask*/} 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
西文状态下汉字的显示
• • • • • 汉字库简介 取得字节的某一位 显示24点阵汉字 显示16点阵汉字 在字库中取字模
汉字库简介
程 序 中 可 直 接 使 用 UCDOS 中 的 HZK16 , ASC16和HZK24三个文件。 • HZK16中存储的是16*16点阵汉字是按行 存储的以便于显示,每个汉字字模 32BYTE,按照国标码顺序存储,其中也 包含了682个纯中文符号字母。
题目简介
*三维模型处理, 对一个立方体 进行旋转、平 移、放大缩小。
题目简介
• 细胞生命演示,考虑到二维大数组 的存取,及大数组的动态生成。 *数据库的读写,对FOXBASE数据库 的DBF和MEM文件进行读写。
题目简介
*电脑音乐程序,能根据乐谱用PC喇 叭演奏。 *DOS版画笔程序,要求用不同粗细 的点、线和不同填充模式的方块、 圆,以不同颜色画图。
读取鼠标的状态
Status( ) { union REGS regs; regs.x.ax=3; int86(0x33,®s,®s); x=regs.x.cx; y=regs.x.dx; status=regs.x.bx; }
读取鼠标的状态
• • • • 其中X,Y为光标位置 status&1左键状态,1为按下,0为未按 status&2右键状态,1为按下,0为未按 status&4中键状态,1为按下,0为未按 要注意循环检测时的抖动现象,可增加 一些空循环或延时来清除剩余的按键信 号。