C语言程序设计课程大型作业
- 格式:ppt
- 大小:130.50 KB
- 文档页数:50
国家开放大学电大《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具有完全相同的含义和作用。
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语言程序设计练习题(答案)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程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和问题解决能力。
具体包括以下几个方面: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语言程序实现简单的图书馆图书管理系统,程序包含平时的借书,还书,新书录入,查询功能,用简单明了的人机交互界面快速实现图书管理的目的。
二.模块说明及代码分析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语言程序设计大作业设计说明书概述:处在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语言程序设计一、单选题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语言程序设计工程实训大作业班级: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++等。
一、C语言程序设计(1)1.以下不能定义为用户标识符的是()。
A. ScanfB. voidC. _3com_D. int2.以下选项中可作为C语言合法整数的是()。
A. 10110BB. 0386C. 0XffaD. x2a23.十进制数127转换成二进制数是()。
A. 11111111B. 01111111C. 10000000D. 11111110【作业1】取一个整数a从右端开始的4~7位,并把值打印到屏幕。
【作业2】在程序中声明若干个整数变量、浮点数,并将它们以二进制,十进制的格式打印在屏幕上。
二、C语言程序设计(2)1.假定x和y为double型,则表达式x=2,y=x+3/2的值是()。
A. 3.500000B. 3C. 2.000000D. 3.0000002.以下合法的赋值语句是()。
A. x=y=100B. d--;C. x+y;D. c=int(a+b);3.设正x、y均为整型变量,且x=10 y=3,则以下哪个是语句的输出结果?(d )pprintf("%d,%d\n",x--,--y);A. 10,3B. 9.3C. 9.2D.10.2【作业1】根据某个抛物线的点的x值计算y值参考公式:y=x2+2x+1【作业2】a是一个浮点数,它可能取任意值,书写表达式,求X,如果A在0~10范围内,结果X的值就为A,如果A>10,X取10,如果A<0,X就取0。
三、流程控制语句1.选择题(单选题)1.在下面的语句中,不属于循环语句的是()A.if语句B.while语句C.do-while语句D.for语句2.执行下面的程序片段,变量a的值为()int a=3 ; if(a=5) a=4;A.3 B.4C.5 D.出现编译错误2.关于for语句,以下说法正确的是()for(表达式1;表达式2;表达式3)A.表达式1不能省略B.表达式2不能省略C.表达式3不能省略D.所有表达式都可以省略【作业1】计算1到100内所有偶数的和思路分析:偶数即能够被2整除的数,利用循环语句,进行相加【作业2】使用循环语句打印“*”组成一个菱形思路分析:可以用一个等差数列来计算每一行的“*”的数量四、数组1.选择题(单选题)1.以下定义语句中,错误的是()A.int a[]={1,2}; B.char a[3];C.char s[10]="test"; D.int n=5,a[n];2.以下数组定义中不正确的是()。
国家开放大学电大《C语言程序设计》网络课形考任务3作业及答案形考任务3一、选择题(共30分,每小题2分)题目1在下面的函数声明语句中,存在着语法错误的是( )。
选择一项:c.AA(int a; int b)题目2在下面的保留字中,不能作为函数的返回值类型的是( )。
选择一项:c. enum题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。
选择一项:c. 4题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。
选择一项:b.*a++题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是( )。
选择一项:c.int*p=calloc(10,4);题目6假定变量m定义为“int m=7;”,则下面正确的语句为( )。
选择一项:b.int*p=&m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为( )。
选择一项:d.char题目8选择一项:d.x=*pa+3;题目9假定有语句为“int b[10];int *pb;”,则下面不正确的赋值语句为( )。
选择一项:d.pb=b[5];题目10已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为( )。
选择一项:a.free(p);题目11在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的( )。
选择一项:a. 原型语句题目12假定一个函数定义为“static int f1(int x,int y){return x+y;}”,该函数名称为()。
选择一项:c. f1题目13假定一个函数的原型语句为“int ff(int*x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是( )。
选择一项:b.ff(a[0])题目14假定一个函数的数组参数说明为char a[],与之等价的指针参数说明为( ) 。