程序设计技术实验报告Word下载.docx
《程序设计技术实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《程序设计技术实验报告Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
⑴a+=a⑵a-=2
⑶a*=2+3⑷a/=a+a
⑸a%=(n%=2),n的值等于5;
⑹a+=a-=a*=a;
主要仪器设备
台式或笔记本电脑
实验记录(写出实验内容中2,3,4,5的程序代码和运行结果)(可分栏或加页)
实验1.1
#include<
stdio.h>
voidmain()
{
floata,b,sum,average;
scanf("
%f,%f"
&
a,&
b);
sum=a+b;
average=(a+b)/2;
printf("
sum=%f,average=%f\n"
sum,average);
}
实验1.2
floats[10],max,min,sum,score;
inti;
for(i=0;
i<
10;
i++)
scanf("
%f"
s[i]);
max=min=sum=s[0];
for(i=1;
{
if(max<
s[i])max=s[i];
if(min>
s[i])min=s[i];
sum+=s[i];
}
score=(sum-max-min)/8;
score=%.4f"
score);
实验2.2
intmax(intx,inty)
intz;
if(x>
y)
z=x;
else
z=y;
returnz;
voidmain(main)
inta,b,c;
a,b="
);
%d,%d"
c=max(a,b);
max=%d\n"
c);
实验4.1
intx=2,a=7,y=4;
%d\n"
x+a%3*(x+y)%2/4);
遇到的问题和解决方法
存在漏掉字符的问题,还有输出字符时数字与数字间逗号与空格
的使用。
通过返回去检查,问老师问同学,在书上细心寻找,解决了问题。
心得体会
在编写程序时一定要细心仔细,不能马虎,一丁点疏漏就会导致程序的错误,多熟悉书上的知识,多编写多练习,熟能生巧,才能减少程序的错误。
实验三简单程序、分支程序和循环程序设计
实验四数组应用程序设计
1.理解C语言程序的基本结构和实现基本结构的语句;
2.熟练应用赋值、输入和输出语句;
3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;
4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;
5.掌握数组的定义、初始化和数组元素的引用方法;
6.掌握与数组有关的算法,如:
求最大(小)值,排序等;
7.理解字符数组与字符串的关系,掌握字符串的处理过程和常用字符串处理函数。
1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:
π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.在C语言允许的整数范围内验证哥德巴赫猜想,即任意大于6的偶数都可以表示为两个素数之和,如:
100=3+97。
7.有一个已排好序的数组,输入一个数,要求按原来排序的规律将它插入数组中。
8.输入一个英文句子,统计单词的个数。
实验记录(写出实验内容中3,5,6,8的程序代码和运行结果)(可分栏或加页)
实验3
inth=3;
floatr=1.5,a=3.14,c,s,v;
c=%f"
2*a*r);
s=%f"
a*r*r);
v=%f"
s*h);
实验5
math.h>
floata,t,b;
ints;
s=1,a=0,b=t=1.0;
do
s=-s;
a+=t;
b+=2;
t=s/b;
while("
t=%d"
fabs(t)<
1e-6);
a*=4;
a=%4f/n"
a);
实验8
chars[256],prior='
'
;
inti,count=0;
输入一个英文句子:
\n"
gets(s);
s[i]!
='
\0'
if(prior=='
&
(s[i]>
A'
s[i]<
Z'
||s[i]>
a'
z'
))
{
count++;
printf("
}
if(s[i]>
)
%c"
s[i]);
prior=s[i];
\n单词数为:
count);
在编写完语句后少了或多了分号,对循环语句应用的不熟练。
通过仔细回头检查和看书解决了问题。
主要还是细心,并且熟悉书上的内容。
实验五指针应用程序设计
实验六函数应用程序设计
1.理解指针的概念,掌握指针变量的定义和赋值,掌握使用指针变量访问数据的方法;
2.学会使用指针处理数组中的数据,学会用指针处理字符串;
3.了解指针数组和指向指针的指针;
4.掌握C语言函数的定义、调用和声明方法,掌握函数的参数传递方式;
5.了解变量的作用域和存储类别。
1.输入并运行第5章例5-1、例5-3中的程序,观察输出结果,理解指针变量的用法。
2.输入并运行第5章例5-5中的程序,掌握使用指针变量访问数组元素的方法。
3.编程序,输入有一个英文句子,将每个单词的第一个字母改为大写。
(使用指针)
4.设计一函数,判断一个字符串是否是回文。
“回文”是一种顺序读和反序读都一样的字符串,例如:
“121”“abcba”“ABCCBA”。
在主函数中输入字符串并输出判断结果。
5.编写一个程序,由主函数和如下函数构成。
⑴设计函数:
input(),输入n个无序的整数存储在一个数组中;
⑵设计函数:
sort(),用起泡法对数组中的n各数据从大到小排序;
⑶设计函数:
search(),用折半查找法在已排序的n个数种查找指定的数据,若存在,返回其所处的位置,否则,将其插入适当位置使数据仍有序。
在主函数中调用上述函数,验证函数的功能。
6.输入并运行第6章例6-27中的程序,根据输出结果总结局部静态变量的特点。
实验记录(写出实验内容中3,4,5的程序代码和运行结果)(可分栏或加页)
chars[255],prrior='
*p;
输入一行英文:
gets(s);
for(p=s;
*p!
p++)
if(prrior=='
*p>
*p<
*p-=32;
prrior=*p;
puts(s);
实验4
charstr[81],*p,*q;
输入一个人字符串:
gets(str);
for(q=str;
*q!
q++);
for(p=str,q--;
(p<
q)&
(*p==*q);
p++,q--);
if(p<
q)
字符串:
%s不是回文串!
str);
else
%s是回文串!
实验6
#include<
intfac1();
intfac2();
for(i=0;
3;
printf("
%5d"
fac1());
fac2());
intfac1()
staticintx=1;
x*=5;
return(x);
intfac2()
inty=1;
y*=5;
return(y);
在对指针变量运用的时候还是不熟练,对有些定义不熟悉。
通过问同学和仔细看书解决了问题。
要熟悉书上的定义,对每一个知识点运用的时候更加熟练。
实验七结构体应用程序设计
实验八文件操作程序设计
1.理解结构体的概念,掌握结构体类型的定义和结构体变量、数组和指针的定义;
2.掌握结构体变量和结构体数组的初始化方法;
3.掌握结构体变量和结构体成员的引用方法;
4.理解文件、文件类型、文件类型指针,熟悉文件的操作过程。
5.掌握文件打开、关闭和文件读写等文件操作函数的手机用。
1.输入并运行第7章例7-1中的程序。
理解结构体类型、变量和结构体成员。
2.编写一个程序实现如下功能:
定义一个点的结构数据类型,实现下列功能:
⑴输入点的坐标值。
⑵求两个点中点坐标。
⑶求两点间距离。
3.有5个学生,每个学生有3门课的成绩,从键盘输入学生数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件“stud”中。
4.有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
台式或笔记本计算机
实验记录(写出实验内容中2,3,4的程序代码和运行结果)(可分栏或加页)
structcomplex
floatreal;
floatimag;
};
intmain(void)
structcomplexx,y,s,p;
x.real,&
x.imag);
y.real,&
y.imag);
s.real=x.real+y.real;
s.imag=x.imag+y.imag;
p.real=x.real*y.real-x.imag*y.imag;
p.imag=x.real*y.imag+x.imag*y.real;
俩复数的和为:
%f+%fi\n"
s.real,s.imag);
俩复数的积为:
p.real,p.imag);
2
stdlib.h>
structPOINT
doublex,y;
intmain()
structPOINTpoint1,point2,pointmid;
floatlenl;
输入点1坐标(用逗号隔开横纵坐标):
"
%lf,%lf"
point1.x,&
point1.y);
输入点2坐标(用逗号隔开横纵坐标):
point2.x,&
point2.y);
pointmid.x=(point1.x+point2.x)/2;
pointmid.y=(point1.y+point2.y)/2;
lenl=sqrt((point1.x-point2.x)*(point1.x-point2.x)+(point1.y-point2.y)*(point1.y-point2.y));
中点坐标(%.lf,%.lf),两点距离%lf\n"
pointmid.x,pointmid.y,lenl);
return0;
4
string.h>
FILE*fa;
chars1[256],s2[81],t;
inti,j;
fa=fopen("
e:
\\a.txt"
"
r"
fgets(s1,80,fa);
fclose(fa);
\\b.txt"
fgets(s2,80,fa);
puts(s1);
puts(s2);
strcat(s1,s2);
j<
strlen(s1)-1;
for(j=j+1;
strlen(s1);
j++)
if(s1[i]>
s1[j])
{
t=s1[i];
s1[i]=s1[j];
s1[j]=t;
}
\\c.txt"
w"
fputs(s1,fa);
结构体理解不够深通过问老师和查阅资料解决。
要多向别人学习,不会就要问。