《计算机软件基础》实验方案.docx
《《计算机软件基础》实验方案.docx》由会员分享,可在线阅读,更多相关《《计算机软件基础》实验方案.docx(13页珍藏版)》请在冰豆网上搜索。
![《计算机软件基础》实验方案.docx](https://file1.bdocx.com/fileroot1/2022-10/29/18e0ec31-f88e-4c24-b9fc-8ab2d9a6fb2a/18e0ec31-f88e-4c24-b9fc-8ab2d9a6fb2a1.gif)
《计算机软件基础》实验方案
自考专业考试《计算机软件基础》课程
实验环节实施方案
实验一选择结构程序设计
一、实验目的
1、掌握关系运算符和逻辑运算符的使用方法及其表达式的应用。
2、掌握分支语句的使用。
3、结合程序掌握一些简单的算法。
二、实验环境
1、一台能正常启动的个人计算机
2、安装有VC6.0软件
三、实验内容
程序调试步骤:
1、启动VC6.0,创建一个新的C程序文件。
2、在创建的C程序文件中输入相应的代码。
3、保存程序
4、运行程序
编程题:
1、输入3个整数,按大小顺序输出。
程序代码如下:
#include
main()
{inta,b,c,t;
printf("请输入三个整数:
");
scanf("%d%d%d",&a,&b,&c);
if(a
if(aif(bprintf("%d,%d,%d",a,b,c);
}
2、编写程序,当输入字符A时,输出America;输入字符B时,输出Britain;输入字符C时,输出China;输入其它字符时,输出France(要求使用switch语句实现)。
程序代码如下:
#include
main()
{charx;
printf("请输入一个字符:
");
x=getchar();
switch(x)
{case'A':
printf("America");break;
case'B':
printf("Britain");break;
case'C':
printf("China");break;
default:
printf("France");
}
}
3、给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’.90分以上为’A’,80~89分为’B’,
70~79分为’C’,60~69分为’D’,60分以下为’E’。
#include
main()
{floatx;
scanf(“%f”,&x);
if(x>=90)printf(“A”);
elseif(x>=80)printf(“B”);
elseif(x>=70)printf(“C”);
elseif(x>=60)printf(“D”);
elseprintf(“E”);
}
四、思考题
1、输入3个整数,按大小顺序输出的问题,想想其它的编程思路。
2、用多分支来实现输入字符,输出对应字符串的功能。
五、实验报告要求
认真填写试验报告,程序代码清单要完整,准确。
实验二循环结构程序设计
一、实验目的
1、掌握三种循环语句的使用。
2、掌握循环控制变量取值范围的确定。
3、掌握双重循环结构程序的设计思路。
二、实验环境
1、一台能正常启动的个人计算机
2、安装有VC6.0软件
三、实验内容
1、编写程序,输入一个字符串,分别统计其中字母、数字和其它字符的个数。
#include
main()
{intd1,d2,d3;
charch;
d1=d2=d3=0;
while((ch=getchar())!
=‘\n’)
{if((ch>=‘A’&&ch<=‘Z’)||(ch>=‘a’&&ch<=‘z’))
d1++;
elseif(ch>=‘0’&&ch<=‘9’)
d2++;
elsed3++;
}
printf(“%d,%d,%d\n”,d1,d2,d3);
}
2、计算1!
+2!
+3!
+……+20!
。
#include
main()
{doublesum=0.0,s=1;
intn;
for(n=1;n<=20;n++)
{s=s*n;
sum=sum+s;
}
printf("1!
+2!
+3!
+......+20!
=%lf\n",sum);
}
3、编写程序,打印九九乘法口诀表。
#include
main()
{inti,j,k;
for(i=1;i<=9;i++)
{for(j=1;j<=i;j++)
printf("%d*%d=%d",i,j,i*j);
printf("\n");
}
}
四、思考题
1、任意输入10个整数,找出其中的最大值和最小值。
2、输入一个整数,判断它是否为素数。
五、实验报告要求
认真填写试验报告,程序代码清单要完整,准
实验三数组
一、实验目的
1、掌握数组的定义、数组元素的引用及数组的初始化。
2、掌握字符数组的定义、数组元素的引用及对字符数组的初始化。
3、在综合应用中的具体体现。
二、实验环境
1、一台能正常启动的个人计算机
2、安装有VC6.0软件
三、实验内容
1、编写程序,任意输入10个数,按从小到大的顺序排序后输出。
程序代码如下:
#include
main()
{inta[10],t,i,j;
printf("请输入10个整数:
");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
{for(j=0;j<9-i;j++)
if(a[j]>a[j+1])
{t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
for(i=0;i<10;i++)
printf("%4d,",a[i]);
}
2、请在一有序数列中插入一个数,要求该数插入后,应使得该数列仍然有序。
如:
已知数列中有数据60,68,78,88,90,93,95,96,98,100,插入92后,
数列中的数据为60,68,78,88,90,92,93,95,96,98,100
程序代码如下:
#include
main()
{inti,x,p=0,m=9;
inta[11]={60,68,78,88,90,93,95,96,98,100};
scanf("%d",&x);
while((x>=a[p])&&(p<=m))
p++;
for(i=m;i>=p;i--)
a[i+1]=a[i];
a[p]=x;m++;
for(i=0;i<=m;i++)
printf("%4d",a[i]);
}
3、对一个4行4列的二维数组,编程找出最大值以及它的行下标和列下标。
程序如下:
#include
main()
{inta[4][4],i,j,max,c,d;
printf("向4*4的二维数组中输入数据:
");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=a[0][0];c=0;d=0;
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(maxprintf("最大值为:
%d,行标:
%d,列标:
%d\n",max,c,d);
}
四、思考题(宋体小四加粗)
1、试着用其他方法解决该问题。
五、实验报告要求(宋体小四加粗)
认真填写试验报告,操作步骤要完整,准确。
实验四函数
一、实验目的
1、掌握函数的定义、说明和调用方法。
2、理解return语句的作用和使用方法。
3、掌握嵌套调用和递归调用。
二、实验环境
1、一台能正常启动的个人计算机
2、安装有VC6.0软件
三、实验内容
1.编写函数,判断输入的年份是否为闰年.
判断闰年的程序如下:
#include
intfun(intx)
{
if(x%4==0&&x%100!
=0||x%400==0)
return1;
else
return0;
}
voidmain()
{
intx;
scanf("%d",&x);
if(fun(x))printf("%d是闰年",x);
elseprintf("%d不是闰年",x);
}
2、编写函数,计算n的阶乘。
(用递归调用来实现)
计算n的阶乘的程序如下:
#include
longfac(intn)
{longf;
if(n<0)
{printf("n<0,dataerror!
\n");return-1;}
elseif(n==0)f=1;
elsef=fac(n-1)*n;
return(f);
}
main(
{intn;
printf("请输入n的值:
");
scanf("%d",&n);
printf("%d的阶乘为:
%ld\n",n,fac(n));
}
3、编写函数,实现主函数中两个变量中的值交换。
#include
voidswap(int*x,int*y)
{intt;
t=*x;*x=*y;*y=t;
}
main()
{inta=10,b=20;
swap(&a,&b);
printf(“a=%d,b=%d\n”,a,b);
}
四、思考题
1、试着用其他方法解决该问题。
五、实验报告要求(宋体小四加粗)
认真填写试验报告,步骤清单要完整,准确。
实验五线性表的插入和删除
一、实验目的
1、掌握用TurboC上机调试线性表的基本方法;
2、掌握线性表的基本操作,插入、删除、查找,以及线性表合并等运算在顺序存储结构和链接存储结构上的运算。
二、实验环境
1、一台能正常启动的个人计算机
2、安装有VC6.0软件
三、实验内容
线性表基本操作的实现
当我们要在线性表的顺序存储结构上的第i个位置上插入一个元素时,必须先将线性表的第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,再把新元素插入到该位置。
若要删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置。
程序实现:
typedefNull0;
typedefintdatatype;
#definemaxsize1024;
typedefstruct
{datatypedata[maxsize];
intlast;
}sequenlist;
intinsert(L,x,i)
sequenlist*L;
inti;
{intj;
if((*L).last==maxsize-1)
{printf(“overflow”);
returnNull;
}
elseif((i<1)‖(i>(*L).last+1)
{printf(“error”);
returnNull;
}
else
{for(j=(*L).last;j>=i-1;j--)
(*L).data[j+1]=(*L).data[j];