答案程序设计基础C语言实验教学大纲.docx
- 文档编号:28730560
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:15
- 大小:19.69KB
答案程序设计基础C语言实验教学大纲.docx
《答案程序设计基础C语言实验教学大纲.docx》由会员分享,可在线阅读,更多相关《答案程序设计基础C语言实验教学大纲.docx(15页珍藏版)》请在冰豆网上搜索。
答案程序设计基础C语言实验教学大纲
《程序设计基础C语言》实验教学大纲
课程编号:
课程名称:
C语言程序设计/CProgrammingLanguage
实验总学时数:
16学时
适应专业:
软件工程
承担实验室:
计算机科学与技术学院实验中心
一、实验教学的目的和任务
上机实习是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
通常,实习题中的问题比平时的练习题要复杂,也更接近实际。
高级语言程序设计这门课程安排的4次上机实验都属于一种设计类型的实验,每个实验有各自的训练重点;实验的目的是旨在使学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容;培养学生编制算法的能力和编程解决实际问题的动手能力。
要求学生在上机前应认真做好各种准备工作,熟悉机器的操作系统和语言的集成环境,独立完成算法编制和程序代码的编写;上机时应随带有关的高级语言教材或参考书;要学会程序调试与纠错;每次实验后要交实验报告,实验报告的内容应包括:
(1)实验题目、班级、学号、姓名、完成日期;
(2)简要的需求分析与概要设计;(3)详细的算法描述;(4)程序清单与运行结果;(5)收获与体会。
实验成绩占高级语言程序设计结业成绩的10-20%。
二、实验项目及学时分配
序号
实验项目名称
实验
学时
实验类型
开出
要求
1
顺序、选择和循环结构程序设计
4
设计
必开
2
运用数组进行程序设计
4
设计
必开
3
运用函数进行程序设计
4
设计
必开
4
综合程序设计
4
设计
必开
三、每项实验的内容和要求:
要求:
每个实验保证每个学生一台微机
实验一(4学时):
顺序、选择和循环结构的程序设计
题1问题描述:
输入一个华氏温度,要求输出摄氏温度。
公式为
c=5*(F-32)/9
输出要有文字说明,取2位小数。
基本要求:
掌握数据的输入与输出的基本方法。
#include
voidmain()
{floatF,C;
printf("请输入华氏温度:
");
scanf("%f",&F);
C=(float)5.0/9*(F-32);
printf("C=%.2f\n",C);
}
题2问题描述:
给出一百分制成绩,要求输出成绩‘A’、‘B’、‘C’、‘D’、‘E’。
90分以上为‘A’,80-90分为‘B’,70-79分为‘C’、60-69分为‘D’,60分以下为‘E’。
基本要求:
能够灵活运用选择结构进行程序设计
#include
intmain()
{
ints;
printf("请输入一个成绩:
");
scanf("%d",&s);
if(s>100||s<0)
{
printf("输入了一个错误的成绩。
\n");
return1;
}
charch;
switch(s/10)
{
case10:
case9:
ch='A';break;
case8:
ch='B';break;
case7:
ch='C';break;
case6:
ch='D';break;
default:
ch='E';break;
}
printf("您输入的成绩等级为:
%c\n",ch);
return0;
}
题3问题描述:
打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各数字立方和等于该数本身。
例如,153是一水仙花数,因为153=13+53+33
基本要求:
能够运用多种循环语句实现程序设计
#include
voidmain()
{
inti,j,k,n;
printf("'waterflower'numberis:
");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("%-5d",n);
}
printf("\n");
}
实验二(4学时):
运用数组进行程序设计
题1问题描述:
写一函数,用“起泡法”对输入的10个字符按由小到大顺序排列。
#include
voidmain()/*从小到大*/
{inta[10],i,j,t;
printf("请输入10个元素:
");
for(i=0;i<=9;i++)
scanf("%d",&a[i]);
for(i=0;i<=8;i++)
for(j=0;j<=8-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;
}
for(i=0;i<=9;i++)
printf("%d",a[i]);
printf("\n");
}
题2编写程序,输入任意一个含有空格的字符串(至少10个字符),删除指定位置的字符后输出该字符串。
如:
输入"BEIJING123"和删除位置4,则输出:
"BEIING123"。
#include
#include
voidmain()
{
inti,j;
chara[100];
printf("请输入字符串:
\n");
gets(a);
printf("请输入要删除的字符位置:
\n");
scanf("%d",&j);
i=j-1;
while(a[i]!
='\0')
{
a[i]=a[i+1];
i++;
}
a[i]='\0';
puts(a);
}
题3编程序实现:
打印杨辉三角形。
/*打印杨辉三角形*/
#include
#defineN11
main()
{inti,j,a[N][N];
for(i=1;i {a[i][i]=1; a[i][1]=1; } for(i=3;i for(j=2;j<=i-1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=1;i {for(j=1;j<=i;j++) printf("%6d",a[i][j]); printf("\n"); } printf("\n"); } 实验三(4学时): 运用函数进行程序设计 题1写一函数判断一个数是否是素数的程序,若是显示“yes",若不是则显示“no”,然后在主函数中调用它。 #include #include voidmain() { intm; intis_susu(intm); printf("inputanumber: "); scanf("%d",&m); if(is_susu(m)==1) printf("yes\n"); else printf("no\n"); } intis_susu(intm) {inti,k,flag; k=sqrt(m); for(i=2;i<=k;i++) if(m%i==0)break; if(i>k)flag=1; elseflag=0; return(flag); } 题2编写求xn和n! 的函数,然后在主函数中调用它。 #include #include floatmi(floatx,intn) {inti; floatz=1; for(i=1;i<=n;i++) z*=x; returnz; } floatjc(intn) {inti; floatz=1; for(i=1;i<=n;i++) z*=i; returnz; } voidmain() {floata,b; a=mi(3,4); b=jc(5); printf("%f,%f\n",a,b); } 题3编写一函数,统计字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出统计结果。 #include intletter,space,num,other; voidmain() {charstr[81]; voidstat(charstr[]); printf("Pleaseenterastring: "); gets(str); stat(str); printf("letter=%d,space=%d,num=%d,other=%d\n",letter,space,num,other); } voidstat(charstr[]) {inti; charc; letter=space=num=other=0; for(i=0;str[i]! ='\0';i++) { c=str[i]; if((c>='A'&&c<='Z')||(c>='a'&&c<='z')) letter++; elseif(c>='0'&&c<='9') num++; elseif(c=='')space++; elseother++; } } 基本要求: 学会典型的常用C程序的设计技巧和常用C函数 实验四(4学时): 综合程序设计 题1编程序实现: 输入人民币金额,显示相应的人民币大小金额,如输入586.79,则显示: 伍佰捌拾陆元柒角玖分。 #include #include"string.h" voidmain() {inti,n,sw=0; voidjiaofen(chartmp[]); voidyuan(chartmp[]); charmoney[20],y[10],jf[10]; printf("输入人民币金额(如586.79): \n"); gets(money); i=0; n=strlen(money); while(i<=n&&money[i]! ='.')i++; money[i]='\0'; strcpy(y,money); strcpy(jf,&money[i+1]); if(n>10||strlen(jf)>2){printf("输入数据不合要求! \n");return;} printf("\n"); yuan(y); jiaofen(jf); printf("\n"); } voidjiaofen(chartmp[]) { charwei[][3]={"角","分"}; charsuhz[][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; inti,n; n=strlen(tmp); for(i=0;i {printf("%s",suhz[tmp[i]-'0']); printf("%s",wei[i]); } } voidyuan(chartmp[]) {charwei[][3]={"","拾","佰","仟","万","拾","佰","仟","亿"}; charsuhz[][3]={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"}; inti,n; n=strlen(tmp); for(i=0;i {printf("%s",suhz[tmp[i]-'0']); printf("%s",wei[n-1-i]); } printf("元"); } 题2求任意两个正整数(不超过8位)之间所有整数所包含的数字0~9出现的次数。 比如: 100到105之间有100、101、102、103、104、105六个数,则0出现的次数为7次,1出现的次数为7次,2、3、4、5出现的次数各为1次,其余的出现次数为0。 #include #include voidmain() { longk,min,max,count[10]={0}; charstr[9]; inti,su,suzi; //输入最小、最大数 printf("inputthefirstnumber: "); scanf("%ld",&min); printf("inputthelastnumber: "); scanf("%ld",&max); if(min>max)//最小数比最大数大,退出 { printf("\ninputerror! "); return; } //统计各数字出现的次数 for(k=min;k<=max;k++) {su=k; do{suzi=su%10; count[suzi]++; su=su/10; }while(su! =0); } for(i=0;i<10;i++)//显示结果 { printf("%d--(%ld)",i,count[i]); if(i==4) printf("\n"); } printf("\n"); } ======= #include #include voidmain() { longk,min,max,count[10]={0}; charstr[9]; inti; //输入最小、最大数 printf("inputthefirstnumber: "); scanf("%ld",&min); printf("inputthelastnumber: "); scanf("%ld",&max); if(min>max)//最小数比最大数大,退出 { printf("\ninputerror! "); return; } //统计各数字出现的次数 for(k=min;k<=max;k++) { sprintf(str,"%8d",k);//将该数字转换为字符串,存入str中 for(i=7;i>=0&&str[i]! ='';i--) count[str[i]-'0']++; } for(i=0;i<10;i++)//显示结果 { printf("%d--(%ld)",i,count[i]); if(i==4) printf("\n"); } printf("\n"); } 四、实验改革与特色 培养学生计算机的应用能力是计算机基础教学的重要任务之一。 为此,制定了“精讲多练,重在实验指导”的教学策略。 “精讲”是前提,“精讲”以C程序设计语言为例讲授高级语言的程序设计过程,软件开发的基本概念、基本规律、基本技能和技巧。 强调基本概念和程序设计算法的灵活运用,淡化各种计算机语言的具体规定等细节问题,对这些细节问题的学习,则通过“多练”——大量的上机调试程序的实验过程中逐步实现。 注重对学生的动手能力和应用能力的培养,加强实验课的指导,强调操作能力的训练。 学生的作业必须是学生在计算机上完成的。 五、教材及实验指导书 教材: 《C程序设计习题解答与上机指导》谭浩强著,出版社: 清华大学出版社,出版或修订时间: 2005第三版 实验指导书: 《C语言大学实用教程学习指导》,主编: 苏小红等,出版社电子工业出版社,出版或修订时间: 2007年4月 执笔: 鄢红国张蕊 审阅: 日期: 2009.7 审定: 日期: 2009.7
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 答案 程序设计 基础 语言 实验教学 大纲
![提示](https://static.bdocx.com/images/bang_tan.gif)