程序设计学习指导概要.docx

上传人:b****6 文档编号:8155913 上传时间:2023-01-29 格式:DOCX 页数:14 大小:34.07KB
下载 相关 举报
程序设计学习指导概要.docx_第1页
第1页 / 共14页
程序设计学习指导概要.docx_第2页
第2页 / 共14页
程序设计学习指导概要.docx_第3页
第3页 / 共14页
程序设计学习指导概要.docx_第4页
第4页 / 共14页
程序设计学习指导概要.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

程序设计学习指导概要.docx

《程序设计学习指导概要.docx》由会员分享,可在线阅读,更多相关《程序设计学习指导概要.docx(14页珍藏版)》请在冰豆网上搜索。

程序设计学习指导概要.docx

程序设计学习指导概要

程序设计学习指导

基本要求:

⒈实验结果要求全部保存后上传到的服务器中(第四周开始),端口号选用31。

⒉实验中所有的源程序要求以统一格式的文件名进行保存,文件名格式为“学号_日期_序号.c”,其中“学号”为每个学生自己的学号,“日期”为完成实验当天的月份和日期值,“序号”为完成的实验序号值,例如09120000学号12月5日完成的第1个实验的文件名为09120000_1205_01.c。

⒊由于TC不接受长文件名格式,因此建议先按序号保存文件,如“_01.c”、“_02.c”、“_03.c”等,在上传之前再在序号文件名之前添加“学号_日期”,如“09120000_1205”,形成要求格式的文件名。

每周实验上传时设置为一个文件夹,将当周的实验结果上传到怪文件夹中。

实验成绩的评定:

完成基本要求的,本次实验可得80分(这是基本要求,所有的学生都必须完成),完成较高要求的(学有余力的同学可以完成此项要求),可加15分,完成提高要求的(学有余力的同学可以再完成此项要求),可再加5分。

实验内容和要求:

3月4日学习与实验要求

基本要求(必做):

⒈自学教材第八章8.4、8.6、8.8,理解和掌握链表结构的程序设计,理解和掌握多文件源程序组织管理的基本方法。

重点理解链表的建立、遍历、插入和删除等应用程序的编制。

⒉调试通过【例8-22】、【例8-23】,理解创建、遍历链表的程序编写的方法与应用。

⒊调试通过【例8-24】、【例8-25】,理解单链表结点的插入和删除操作的编程方法。

⒋所有实验结果请在本周六之前完成,并发送到指定的FTP中,否则平时成绩将有重大损失。

(的服务器,用户名:

学号,密码:

身份证号,端口号:

31)

下周进行考前复习练习,练习题已经公布,有不理解的内容可在下周课堂上提出。

较高要求(选做):

⒌完成【习题8-10】。

 

以往实验内容:

3月1日学习与实验要求

基本要求(必做):

⒈自学教材第八章8.1~8.3,理解和掌握指针的基本概念,重点理解和掌握各种形式的二级指针和指针与数组的关系,掌握指向指针的指针和指向函数的指针的用法。

⒉调试通过【例8-2】、【例8-5】,掌握指针的基本应用。

完成【思考题8-1】的编程。

⒊调试通过【例8-7】、【例8-11】,掌握返回指针的函数的编程方法和指向函数的指针的用法。

⒋完成【习题8-5】、【习题8-13】。

⒌预习第八章8.4、8.6、8.7。

较高要求(选做):

⒍调试通过【例8-8】、【例8-14】,了解带参数的命令行程序设计方法。

提高要求(选做):

⒎完成【习题8-11】,熟悉命令行带参数的程序设计的方法。

1月18日学习与实验要求

基本要求(必做):

⒈自学教材第七章,重点阅读7.1节和7.2节,理解文件的基本概念,理解程序通过文件输入输出的基本方法,掌握在文件上进行输入输出操作的常用函数的应用,尤其要熟练掌握格式化读写文件函数和顺序读写文件函数的使用方法;掌握文件操作的出错检查。

⒉调试通过【例7-3】(练习时要求输入10个以上的字符保存到自定义的中,文件名自定)、【例7-4】(题中的temp.txt用【例7-3】练习时自定的文件名替代)、【例7-5】,掌握文件的基本应用。

⒊完成【习题7-5】、【习题7-7】、【习题7-9】,掌握文件输入输出的程序设计方法,并总结利用文件进行程序设计的基本方法。

⒋预习第八章。

较高要求(选做):

⒌调试通过【例7-6】、【例7-8】程序,完成【习题7-6】、【习题7-13】(文本文件及其内容自己生成),进一步熟悉利用文件进行程序设计的方法。

提高要求(选做):

⒍调试通过【例7-7】(题中的temp.c用【例7-3】或【例7-4】的程序文件替代,如0117_01.c)、,进一步掌握应用文件编程的方法。

⒎完成P.297【习题7-11】。

1月14日学习与实验要求

基本要求(必做):

⒈综合运用前六章学习的内容,完成下列问题的程序设计(各小组通过讨论确定求解方法)、程序改错和程序填空。

(1)某公司有7个保安:

A、B、C、D、E、F、G。

为了工作需要,每人每周只能轮休1天,考虑到个人的特殊需要,让他们每人先自行选择自己希望哪一天轮休,他们的选择如下:

A:

星期二/星期四、B:

星期一/星期六、C:

星期三/星期日、D:

星期五、

E:

星期一/星期四/星期六、F:

星期二/星期五、G:

星期三/星期六/星期日

请编程安排一个轮休表可以满足他们的要求(要求输出所有满足条件的结果),程序以c1.c保存。

(2)已知计算组合的公式如下:

用递归算法编写一个计算组合的函数zh(m,n)并计算

的值(m和n的数值通过主函数输入),程序以c2.c保存。

(3)下列程序实现的功能是:

输入任意个整数到数组a[]中,当输入数字为9999时输入结束,并通过函数calculate计算它们的平均值。

程序中有3个错误,请在不改变程序结构的情况下将错误改写正确,并在修改的行尾加上标注。

改正后的结果以c3.c为文件名保存。

#include

floatcalculate(inta[],intn){

intj;

intsum=0;

for(j=0;j

sum+=a[j];

returnn>0?

sum/n:

-1;

}

main(){

inta[100],i=0;

floataverage;

scanf("%d",&a[0]);

for(;a[i]!

=9999;scanf("%d",&a[i++]));

average=calculate(a,i-1);

printf("average=%f",average);

}

(4)程序填空:

以下程序可以实现输入任意4个一位整数,按示例给出的形式输出4行。

如输入:

5678

则输出:

(即:

第一行为输入数字,下一行是上一行向右偏移一个数字)

5678

8567

7856

6785

#include

#defineM4

main()

{

inti,j,k,m,a[M];

for(i=0;i

________________;

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

{

for(m=0;m

printf("%d",a[m]);

printf(___________________);

k=a[M-1];

for(j=M-1;j>0;j--)

a[j]=_______________;

a[0]=k;

}

}

⒉预习第七章。

较高要求(选做):

⒊学有余力的同学可以加选下列问题的程序设计。

(1)以下函数将一个16进制的字符串转化为十进制数,如“2A”转化为42等。

字符串应该仅由数字和大写字母A至F构成,若字符串中出现其它符号则返回-1,且已知转化的整数在有效范围内。

程序中有3个错误,请在不改变程序结构的情况下将错误改写正确。

并将结果以c5.c为文件名保存。

inthexvalue(char*str)

{

intdata,i,n;

for(i=0;str[i]!

=’\0’;i++)

{

if(str[i]<=’9’)

n=str[i]–‘0’;

elseif(str[i]>=’A’&&str[i]<=’F’)

n=str[i]–‘A’+10;

else

return–1;

data=data*10+n;

}

returndata;

}

(2)编程利用如下的格里高利公式求的值,要求的迭代精度为最后一项的值小于1e-5,结果以c6.c为文件名保存。

提高要求(选做):

⒋已完成【较高要求】的同学可以再加选下列问题的程序设计。

(1)随机输入n个国家的英文名字,要求按字母顺序升序排序后输出(要求使用字符串数组实现),结果以c7.c为文件名保存。

1月11日学习与实验要求

基本要求(必做):

⒈学习教材第六章6.8、6.9、6.10节,理解结构体和共用体的概念,理解程序使用结构体的作用,掌握结构体的应用,熟练掌握结构体变量的声明和结构体变量的使用方法;掌握共用体的应用条件。

⒉任意选择【例6-35】、【例6-36】、【例6-37】中的一个调试通过,掌握结构体的应用方法,完成P.235【思考题6-12】和P.264【习题6-6】。

⒊任意选择【例6-38】、【例6-39】中的一个调试通过,进一步掌握结构体的应用规律,掌握算法的应用,完成P.264【习题6-8】。

⒋调试通过【例6-40】、【例6-41】中的任意一个,掌握共用体的应用条件,总结共用体的程序编写,总结对问题进行分析的方法。

⒌完成P.263【习题6-13】、

较高要求(选做):

⒎调试通过【例6-44】、【例6-45】,进一步熟悉结构体、共用体的使用。

⒏完成P.263【习题6-14】、【习题6-15】。

提高要求(选做):

⒐学习《大学程序设计C实践手册》第八章,完成P.191改错题⑴。

⒑完成《大学程序设计C实践手册》第八章中P.194程序填空题⑵和P.210编程题⑴。

1月6日学习与实验要求

基本要求(必做):

⒈自学教材第六章6.6节的内容,掌握二维数组的使用:

定义、初始化、数据输入、引用、输出、作为函数的参数等应用方法。

在【例6.26】~【例6.30】中任意选择调试通过3个,并掌握其算法的应用。

⒉自学教材第六章6.7节的内容,掌握二维字符数组的使用。

在【例6.31】~【例6.34】中任意选择调试通过2个,并掌握其算法的应用。

⒊完成P.262【习题6.5】、P.264【习题6.11】。

⒋预习第六章6.8、6.9、6.10节。

较高要求(选做):

⒌完成P.263【习题6.7】,进一步理解并掌握二维数组的应用。

⒍完成P.265【习题6.12】,题中m

提高要求(选做):

⒎学习《大学程序设计C实践手册》第五章,完成P.110改错题中的⑶题,P.112编程题中的⑴、⑶题。

1月4日学习与实验要求

基本要求(必做):

⒈自学教材第六章6.4节、6.5节,理解指针的基本概念、定义方法及其使用,熟练掌握数组和指针的基本应用。

⒉参考【例6-13】,完成【思考题6-5】和【思考题6-6】。

⒊参考【例6-14】、【例6-15】,理解并掌握自定义函数地址传送的应用,完成【思考题6-7】。

⒋参考【例6-17】,完成【思考题6-8】。

⒌参考【例6-18】,完成【思考题6-9】。

⒍预习第六章6.6、6.7、6.10节。

较高要求(选做):

⒎参考【例6-25】,完成【思考题6-10】。

⒏调试通过【例6-42】的程序,归纳复杂问题解析方法,掌握现实问题的形式化方法。

提高要求(选做):

⒐采用字符串变量的方式实现【习题4.10】的程序。

12月31日学习与实验要求

基本要求(必做):

⒈自学教材第六章6.1节,理解一维数组的概念,熟练掌握一维数组的应用,掌握冒泡法、选择法等数据排序算法的应用。

⒉自学教材第六章6.2节和6.3节,进一步理解一维数组的概念、定义方法和使用规律,掌握字符数组的应用。

⒊完成P.262【习题6.5】、【习题6.7】,掌握数组的应用。

⒋完成P.264【习题6.11】、【例6-4】,掌握一维数组的应用规律。

⒌预习第六章6.4和6.5节。

较高要求(选做):

⒍完成P.265【习题6-12】。

⒎学习《大学程序设计C实践手册》第五章,完成P.109改错题中的⑴题,P.111程序填空中的⑴题。

12月28日学习与实验要求

基本要求(必做):

⒈完成P.158的【习题5-6】、【习题5-10】。

⒉完成下列问题的程序设计,并附程序说明:

有8位裁判为1个运动员打分,请计算并输出去掉一个最高分和一个最低分后这个运动员的平均得分以及所评分最接近平均分的裁判员号。

裁判员号及其所打分数从键盘输入。

⒊完成下列问题的程序设计,并附程序说明:

从键盘输入一个正整数,将该正整数中的每位数字重新排列,分别组成一个最大数和一个最小数,并依次输出,两数间用空格分隔。

⒋完成下列问题的程序设计,并附程序说明:

从键盘输入一个长整数,将该数按3位一逗号的格式输出。

例如,输入1234567,则输出1,234,567。

⒌自学教材第六章6.1节,理解一维数组的概念,熟练掌握一维数组的应用,掌握冒泡法、选择法等数据排序算法的应用。

⒍课后进行复习总结前五章学习的内容,准备星期四做一次小小的测验。

较高要求(选做):

⒎调试通过【例6-1】、【例6-2】,掌握排序算法的应用。

12月24日学习与实验要求

基本要求(必做):

⒈自学教材第五章5.3节,进一步理解模块化程序设计的思想,掌握函数的调用的概念和应用,掌握级数求和、字符图形打印等问题的求解算法。

⒉调试通过【例5-10】,并通过小组讨论,完成P.153【思考题5-8】的编程,要求附程序说明。

⒊完成P.158的【习题5-4】、【习题5-5】、【习题5-7】。

⒋完成下列问题的程序设计,要求附程序说明:

输入10个整型数,输出这10个数中仅出现一次的数。

如输入:

12367236879987871235

则输出:

729935

较高要求(选做):

⒌调试通过【例5-6】,完成【思考题5-4】提出的要求。

⒍完成【习题5-8】、【习题5-11】。

提高要求(选做):

⒎读懂【例5-9】,了解图形输出的基本方法。

⒏完成【习题5-12】、【习题5-14】

12月21日学习与实验要求

基本要求(必做):

⒈通过小组讨论,完成下列编程题,要求使用自定义函数实现处理功能。

(1)编写一个程序能够实现如此功能:

求出n以内(n大于1000,小于10000)的能被k(k为20以内的整数)整除,且至少包含有两个m(m为小于10的整数)的整数。

(2)编写程序实现计算机辅助破案:

一辆卡车违反交通法规撞人后逃逸,现场有3位目击证人但都未记全车号,只记下了车号的一些特征,甲说牌照的前两位数字是相同的,乙说牌照的后两位数字是相同的、但与前两位数字不同,丙说四位数字刚好是一个整数的平方。

请根据以上线索求出车号(车牌号长度为4位的整数)。

⒉自学教材第五章5.1节,调试通过【例5-2】和【例5-3】,理解模块化程序设计的思想,掌握函数的嵌套调用的概念和应用,掌握弦截法求根算法、最大公约数和最小公倍数算法的应用。

⒊通过调试【例5-3】的程序,回答【思考题5-1】的问题。

较高要求(选做):

⒋阅读《大学程序设计C实践手册》P.944.4典型例题分析,完成P.98课后练习中⑷和P.101的⑾。

⒌自学教材第五章5.2、5.3节,调试通过【例5-6】、【例5-8】,理解并掌握其算法。

提高要求(选做):

⒍读懂【例5-10】的程序,实现【思考题5-8】提出的要求。

12月17日学习与实验要求

基本要求(必做):

⒈自学教材第三章3.2节,理解变量的作用域和变量的存储类型的概念,掌握局部变量、全局变量、静态变量、以及其他变量存储类型的应用。

⒉在【例3-5】~【例3-11】中任意选择2个程序调试通过,理解程序中使用的变量的作用域及其存储类型。

⒊完成P.69~P.70的【习题3-5】、【习题3-7】。

⒋完成P.71的【习题3-11】、【习题3-12】。

较高要求(选做):

⒌读懂P.67【习题3-2】的程序,写出程序运行结果,并将其改为现代风格的函数定义形式。

⒍完成P.68【习题3-3】,P.69【习题3-6】,P.70【习题3-8】,掌握读程、调试程序的能力。

提高要求(选做):

⒎使用自定义函数,完成P.71的【习题3-10】。

⒏阅读《大学程序设计C实践手册》第6章,重点阅读6.3实验的理论基础,完成P.144编程题

(2)。

12月14日学习与实验要求

基本要求(必做):

⒈完成下列3个编程习题:

⑴完成P.129【习题4.9】,要求提示输入本金、期限,输出得到的利息、利息与本金的合计。

⑵完成P.129【习题4.11】,要求输出每种搭配的方式、不同搭配的总数。

⑶完成P.129【习题4.10】,不必一定采用教材提示的方法,也可以采用其他方法计算。

⒉自学教材第三章3.1,理解自定义函数的作用,掌握自定义函数的定义和使用方法。

⒊编辑运行P.48和P.50【例3-2】的两种程序,熟悉并掌握函数定义与调用的概念、用法。

较高要求(选做):

⒋完成P.129【习题4.12】,不要求编写函数,直接在主函数中统计100以内完数的个数、并输出这些完数。

⒌利用【例3-2】的程序代码,完成【思考题3-3】的程序设计。

⒍完成《大学程序设计C实践手册》中P.104改错题⑴。

⒎完成《大学程序设计C实践手册》中P.99⑻程序填空,P.104改错题⑵。

提高要求(选做):

⒏修改P.54【例3-3】,实现通过函数调用的方式比较年龄大小。

⒐完成《大学程序设计C实践手册》中P.106编程题⑶、⑷。

12月10日学习与实验要求

基本要求(必做):

⒈自学教材第四章4.4节的内容,掌握三种不同形式循环控制结构的用法,了解自增自减运算符与逗号表达式的概念和表示形式。

⒉调试通过【例4-22】和【例4-23】,总结规律,掌握方法。

⒊完成P.106【思考题4-25】和【思考题4-26】。

⒋调试通过【例4-28】的程序,掌握递推算法的应用。

⒌自学教材第四章4.5节的内容,熟练掌握穷举法、牛顿迭代法的程序设计。

并完成习题4.5、习题4.6。

⒍预习教材第三章。

较高要求(选做):

⒎调试通过【例4-33】的程序,掌握求素数算法的应用。

⒏在【例4-36】~【例4-41】中任意选择2个程序进行调试、运行,掌握算法的应用。

⒐完成习题4.7、习题4.8。

⒑自学《大学程序设计C实践手册》第2章,完成P.47程序填空题⑵、⑶题,掌握读程本领,总结数据交换的基本方法。

⒒掌握第四章中介绍的几个常用的算法:

求素数算法、求闰年的算法、递推算法算法(牛顿迭代法、二分法、梯形法、穷举法等)、排序算法(选择法、冒泡法)、查找算法(顺序查找、折半查找)、有序数列的插入/删除操作、存储区的动态分配与释放、单向线性链表的建立/查找/插入/删除操作、初等数论问题求解的有关算法(最大公约数、最小公倍数、素数等)、递归算法(求最大公约数、阶乘等)、字符串的处理(字符和字符串的插入、删除、字符串的连接、比较等),以及猴吃桃子/鸡兔同笼等数论问题的求解方法等。

提高要求(选做):

⒓参照《大学程序设计C实践手册》第2章2.2.2的范例1,完成[DIY]的实践题。

⒔自学《大学程序设计C实践手册》第3章,完成P.63改错题⑶、P.64程序填空题⑵、P.65编程题⑶。

⒕完成P.66的拓展与实践中的范例程序的调试和[DIY]的编写,了解TC环境下菜单的制作方法。

12月7日学习与实验要求

基本要求(必做):

⒈自学教材第四章4.1节的内容,掌握算法的概念、算法的描述方法、问题的形式化等基本概念和方法;完成【思考题4-1】、【思考题4-2】的算法文字描述,并用C语言实现【思考题4-2】的算法。

⒉自学教材第四章4.2节的内容,掌握顺序结构程序设计的概念和方法;掌握常用库函数putch/putchar、getchar/getche/getch等的应用。

⒊完成教材P.83的【例4-5】的程序设计(可参考P.85的程序代码)。

⒋完成教材P.85【例4-6】、【例4-7】、【例4-8】的程序编辑和调试。

⒌完成《大学程序设计(C)实践手册》上P.57,【2.改错题】和【3.编程题】中的

(1)。

⒍掌握第四章中介绍的几个常用的算法:

求素数算法、求闰年的算法、猴吃桃子/鸡兔同笼等数论问题的求解等方法。

较高要求(选做):

⒎完成教材P.85的【思考题4-7】的程序设计。

⒏参考教材P.85【例4-6】、【例4-7】、【例4-8】的程序,完成【思考题4-9】的程序设计。

提高要求(选做):

⒐自学教材第四章4.3节的内容,用两种方法分别求解【例4-9】的问题。

⒑参考教材的介绍,回答【思考题4-20】的问题。

12月3日学习与实验要求

基本要求(必做):

⒈阅读《大学程序设计C实践手册》1.3节,掌握C语言程序的结构及书写格式,掌握变量和常量的定义方法,掌握数据类型、表达式、运算符的基本概念和使用方法。

⒉阅读《大学程序设计C实践手册》1.4节,掌握C语言程序设计的基本规则。

完成1.5节⑸、⑹题,1.6节⒊、⒑题。

⒊自学教材第二章2.3节的内容,结合11月29日实验练习,归纳总结C语言程序的结构特点和规则、格式输入输出的格式定义符及其应用。

⒋完成教材P.43习题2.11的程序设计。

⒌预习教材第四章。

较高要求(选做):

⒍完成P.38上例2-16、例2-17、例2-18和思考题2-10的程序和问题解答。

⒎完成习题2.5、习题2.6的程序填充(保存完整程序即可)

⒏完成习题2.7、习题2.8的程序改错,保存改正后的正确程序

提高要求(选做):

⒐完成P.41上习题2.3和习题2.4的程序功能说明(根据程序执行结果说明)。

⒑至少完成习题2.12和习题2.13中一题的程序设计,其中习题2.12为必做题。

11月29日学习与实验要求

⒈完成教材P.9上的习题1.1,初步掌握TC环境下程序的编辑和调试。

⒉自学第二章2.1~2.2.3的内容,理解数据类型的概念,回答P.16思考题2-5的问题。

⒊自学教材第二章2.2.4的内容,掌握常量和变量的定义,理解存储数据与输出格式的关系,将教材中P.20和P.21的例2-5、例2-6和例2-7的源代码在TC环境下编辑、调试通过。

⒋自学教材第二章2.2.5~2.2.7的内容,理解表达式、运算符、语句和函数的概念,掌握格式化输入/输出的语句,将教材中P.29的例2-12和P.32的例2-13分别在TC环境下编辑、调试通过。

⒌自学教材第二章2.2.8~2.2.9的内容,理解预处理的概念,掌握预处理命令的使用,完成P.35上的例2-14的程序。

⒍根据以上的学习和练习,试着完成P.37思考题2-8的程序设计算法,并写成文档保存。

思考题2-8参考答案:

一元二次方程

的根的求解公式为

,求解算法为

⑴输入a、b、c三个系数的值;

⑵计算b*b-4*a*c存入d;

⑶如果d大于0,则输出两个实根(-b+d的平方根)/2/a和(-b-d的平方根)/2/a;

⑷否则,如果d等于0,则输出两相等的根-b/2/a

⑸否则输出两个虚根

计算平方根应当使用sqrt()函数,包含在math.h库文件中。

以往实验内

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1