重庆邮电大学c语言上机实验期末实验报告.docx
- 文档编号:28737609
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:46
- 大小:561.76KB
重庆邮电大学c语言上机实验期末实验报告.docx
《重庆邮电大学c语言上机实验期末实验报告.docx》由会员分享,可在线阅读,更多相关《重庆邮电大学c语言上机实验期末实验报告.docx(46页珍藏版)》请在冰豆网上搜索。
重庆邮电大学c语言上机实验期末实验报告
C语言程序实验报告
姓名:
班级:
学号:
学院:
自动化
第一章熟悉c语言编程环境
实验目的及要求
(1)了解c语言编程环境visualc++6.0的组成。
(2)了解并掌握c语言集成开发环境visualc++6.0的使用方法
(3)了解并掌握c语言程序的基本结构,能够编写简单的程序
(4)掌握c语言程序的上机步骤
实验步骤:
例1-1:
编写一个简单的c语言程序,在屏幕上显示:
”HelloWorld!
”。
#include
voidmain()
{
printf("HelloWorld!
\n");
}
实习题目1.4
1.写出下面程序执行结果。
#include
voidmain()
{
printf("我可以写c语言程序了!
\n");
}
2编写c程序
#include
voidmain()
{
printf("*\n");
printf("**\n");
printf("***\n");
}
第二章简单c语言程序设计
实验目的及要求
(1)进一步熟悉并掌握visualc++6.0集成开发环境的使用
(2)熟练掌握c语言程序上机编写的步骤
(3)掌握算术表达式、赋值表达式的使用
(4)掌握c语言输入、输出函数的使用
(5)能够编写简单的c语言程序
(6)掌握简单c语言程序的差错方法
实验步骤:
例2-1:
已知两个变量a、b,其值分别为100和200,编程求它们的和sum。
#include
voidmain()
{
inta,b,SUM;
a=100;
b=200;
SUM=a+b;
printf("他们的和是%d\n”,SUM);
}
例2-2已知一个圆柱体的半径r为6,高h为7,编写程序求圆柱体的体积。
#include
voidmain()
{
floatr,h;
floats;
floatv;
r=6.0;
h=7.0;
s=3.14*r*r;
v=s*h;
printf("圆柱体的体积为%f\n",v);
}
2.4实习题目
1写程序结果
#include
voidmain()
{
inta;
floatb;
a=4;
b=9.5;
printf("a=%d,b=%4.2f\n",a,b);
}
2已知直角三角形的两个直角边长分别为3、4,求此直角三角形的斜边长c及面积s。
#include
#include
voidmain()
{
intc;
floats;
c=sqrt(3*3+4*4);
s=(3*4)/2.0;
printf("斜边长为%d,面积为%.2f",c,s);
}
第三章选择结构程序设计
实验目的及要求
(1)熟练掌握visualc++集成开发环境的使用
(2)了解并掌握c语言表示逻辑量的方法
(3)熟练掌握逻辑运算符合逻辑表达式的使用
(4)熟练掌握关系运算符和关系表达式的使用
(5)掌握选择结构的编程
(6)掌握使用短点调试程序的方法
实验步骤:
例3-1:
下面程序是输入x的值,输出分段函数y的值。
#include
voidmain()
{
intx,y;
printf("Inputthevalueofx:
");
scanf("%d",&x);
if(x>0)
y=1;
if(x=0)
y=0;
if(x<0)
y=-1;
printf("Thevalueofyis%d\n",y);
}
例3-2读入两个数x、y,将大数存入x,小数存入y。
#include
voidmain()
{
intx,y,t;
printf("inputx,y:
");
scanf("%d,%d",&x,&y);
if(x { t=x; x=y; y=t; } printf("result: %d\t%d\n",x,y); } 实习题目3.4 2给出一个不多于3位的正整数,求出它是几位数。 #include voidmain() { intbai,shi,ge,num,place; scanf("%d",&num); if(num>=100&&num<=999) { printf("输入的是3位数! \n"); place=3; } elseif(num>=10&&num<=99) { printf("输入的是2位数! \n"); place=2; } else { printf("输入的是1位数! \n"); place=1; } if(place==3) { bai=num/100; shi=(num-bai*100)/10; ge=(num-bai*100-shi*10); printf("数位分别是%d,%d,%d\n",bai,shi,ge); } if(place==2) { shi=num/10; ge=num-shi*10; printf("数位分别是%d,%d\n",shi,ge); } if(place==1) { ge=num; printf("数位分别是%d\n",ge); } } 3从键盘上输入4个数,按由小到大的顺序输出。 #include voidmain() { inta,b,c,d,temp; scanf("%d,%d,%d,%d",&a,&b,&c,&d); if(a>b) { temp=a; a=b; b=temp; } if(a>c) { temp=a; a=c; c=temp; } if(a>d) { temp=a; a=d; d=temp; } if(b>c) { temp=b; b=c; c=temp; } if(b>d) { temp=b; b=d; d=temp; } if(c>d) { temp=c; c=d; d=temp; } printf("%d,%d,%d,%d\n",a,b,c,d); } 第四章循环机构程序设计 实验目的及要求 (1)理解循环结构程序三要素 (2)熟练使用for、while、do…while语句实现循环结构程序设计 (3)掌握break、continue语句的使用 (4)掌握使用Debug调试程序的方法 实验步骤: 例4-1求一个数n的阶乘 #include voidmain() { intn,i; longints; printf("pleaseinputn(n>=0): "); scanf("%d",&n); if(n>=0) { s=1; if(n>0) { i=1; while(i<=n) { s*=i; i=i+1; } } printf("%d! =%ld\n",n,s); } else printf("Invalidinput! \n"); } 例4-2编程求自然数1到n的各数的平方和qs,假设n=5,。 #include voidmain() { intqs=0,i; for(i=1;i<6;i++) qs+=i*i; printf("1*1+2*2+3*3+4*4+5*5=%d\n",qs); } 实习题目4.4 1输入两个正整数m和n,求其最大公约数和最小公倍数。 #include voidmain() { inta,b,num1,num2,temp; printf("pleaseinputtwonumbers: \n"); scanf("%d,%d",&num1,&num2); if(num1 { temp=num1; num1=num2; num2=temp; } a=num1; b=num2; while(b! =0) { temp=a%b; a=b; b=temp; } printf("thehcfid: %d\n",a); printf("thelcdis: %d\n",num1*num2/a); } 2输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 #include voidmain() { charc; intletters=0,space=0,digit=0,other=0; printf("pleaseinputastring: \n"); while((c=getchar())! ='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') letters++; elseif(c=='') space++; elseif(c>='0'&&c<='9') digit++; else other++; } printf("letters=%d,space=%d,digit=%d,other=%d",letters,space,digit,other); } 第五章控制结构综合程序设计 实验目的及要求 (1)熟练掌握c语言三种基本结构的综合应用 (2)掌握嵌套循环结构程序设计 (3)掌握穷举、迭代与递推等常见算法的应用 (4)熟练掌握c程序的调试方法 实验步骤: 例5-1输出九九乘法口诀表 #include voidmain() { inti,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf("%d*%d=%d",j,i,i*j); printf("\n"); } } 例5-2编程求解百钱百鸡问题。 已知公鸡值五钱,母鸡值三钱,三小鸡值一钱,现有一百钱,问可以买公鸡、母鸡、小鸡各多少? #include voidmain() { intcocks,hens,chicks; for(cocks=0;cocks<20;cocks++) for(hens=0;hens<33;hens++) for(chicks=0;chicks<99;chicks++) { if((5*cocks+3*hens+chicks/3.0==100)&&(cocks+hens+chicks==100)) printf("cocks=%d,hens=%d,chicks=%d\n",cocks,hens,chicks); } } 实习题目5.4 1编程输出如下图形。 #include voidmain() { inti,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(""); for(k=0;k<=2*i;k++) printf("*"); printf("\n"); } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(""); for(k=0;k<5-2*i;k++) printf("*"); printf("\n"); } } 2输出100—200间的素数。 #include #include voidmain() { intnum,k,i; for(num=100;num<200;num++) { k=sqrt(num); for(i=2;i<=k;i++) if(num%i==0) break; if(i>k) printf("%disaprimenumber.\n",num); } } 第六章模块化程序设计 实验目的及要求 (1)理解模块化程序设计思想,掌握函数的定义方法 (2)掌握函数的实参与形参的对应关系,以及“值传递”的方式 (3)掌握函数正确的返回值方法 (4)掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法 (5)进一步提高c语言程序设计调试能力以及编写的能力 实验步骤: 例6-1已知num1=3,num2=4,求num1和num2的平方和。 #include voidmain() { intfunc(); intnum1=3; intnum2=4; intsum; sum=func(num1,num2); printf("%d\n",sum); } intfunc(intx,inty) { inttemp; temp=x*x+y*y; returntemp; } 例6-2输出2的i次方和-3的i次方的值。 #include voidmain() { intpower(); inti; for(i=1;i<10;i++) printf("%d%d%d\n",i,power(2,i),power(-3,i)); } intpower(intx,intn) { intp; for(p=1;n>0;--n) p=p*x; return(p); } 6.4实习题目 1用函数调用计算1—7的平方及平方和。 #include #include voidheader(); voidsquare(intnumber); voidending(); intsum; voidmain() { intindex; header(); for(index=1;index<=7;index++) square(index); ending(); } voidheader() { sum=0; printf("Thisistheheaderforthesquareprogram\n\n"); } voidsquare(intnumber) { intnumsq; numsq=number*number; sum+=numsq; printf("thesquareof%dis%d\n",number,numsq); } voidending() { printf("\nThesumofthesquaresis%d\n",sum); } 2写一个判断素数的函数,在主函数中输入一个整数,输出是否是素数的信息。 #include intprime(intn); voidmain() { intm,flag; printf("请输入一个正整数: \n"); scanf("%d",&m); flag=prime(m); if(flag) printf("%d是一个素数\n",m); else printf("%d不是一个素数\n",m); } intprime(intn) { inti,flag; for(i=2;i<=n/2;i++) if(n%i==0) { flag=0; break; } elseflag=1; returnflag; } 第七章模块化综合程序设计 实验目的及要求 (1)掌握模块化程序设计的函数递归、迭代算法思想 (2)掌握函数嵌套交叉引用的传递 (3)掌握函数递归过程和调试手段 (4)进一步巩固提高c语言模块化程序设计能力 实验步骤: 例7-1使用递归的算法实现求一个输入整数的阶乘,并在主函数中输出。 #include intfun(intn) { intz; if(n==0) else z=fun(n-1)*n; returnz; } voidmain() { intn; printf("Pleaseinputanumber: "); scanf("%d",&n); if(n<0) printf("Thenumberiswrong,it'smustover0\n"); else printf("The%d! is%d\n",n,fun(n)); } 例7-2利用下列公式求近似计算自然数e。 e=1+1/1i+1/2i+1/3i+1/4i+…+1/ni此为近似度为n的自然数e计算公式。 #include voidmain() { intm; doublecal_e(intn); printf("请输入一个整数(e的近似度n): "); scanf("%d",&m); printf("自然是e的值是: %lf\n",cal_e(m)); } doublecal_e(intn) { doublef(inti); doublee=1.0; while(n) e=e+f(n--); returne; } doublef(inti) { doublex=1.0; while(i) x/=i--; returnx; } 7.4实习题目 1编写程序,用递归方法求两个数的最大公约数。 #include intcomdiv(intx,inty) { inttemp; temp=x%y; if(temp==0) { returny; } else { returncomdiv(y,temp); } } voidmain() { inta,b,cdiv; printf("请输入两个正整数: \n"); scanf("%d%d",&a,&b); cdiv=comdiv(a,b); printf("%d和%d的最大公约数是%d\n",a,b,cdiv); } 2一个球从100m高度自由落下后,反弹回原来高度的一半,按此规律,到第10次落地时,行程共有多少米? 然后将反弹起多高? #include voidmain() { inti,n; floatl,total=100; scanf("%d",&n); for(i=1;i<=n;i++); { l=f(i); total=total+2*l;} printf("最后一次反弹高度为%f米\n",l); printf("总共行程为%f米\n",total); } floatf(intn) { floatresult; if(n==0) result=100; else result=f(n-1)/2; returnresult; } 第八章一维数组程序设计 实验目的及要求 (1)掌握一维数组的定义和赋值方法 (2)掌握整型数组、字符数组的定义和使用 (3)掌握与数组有关的相关算法,如排序算法等 (4)进一步巩固c语言循环结构程序的设计 (5)巩固所学的理论知识,提高c语言程序设计的能力 实验步骤: 8.2基础实验 例8-1下面程序将0—9的值赋给一个一维数组中的各元素。 #include voidmain() { inti; inta[10]; for(i=0;i<=9;i++) { a[i]=i; } for(i=0;i<=9;i++) { printf("%d\n",a[i]); } } 例8-2一个简单的字符数组,对该数组进行初始化并输出。 #include voidmain() { charchararray[100]; scanf("%s",chararray); printf("%s",chararray); } 8.4实习题目 1从键盘输入任何一个数据,判断是否在数组a[10]={1,2,3,4,5,6,7,8,9,10}中。 如果在给出该数在数组中的位置,否则“数组中不存在”的信息。 #include voidmain() { inta[10]={1,2,3,4,5,6,7,8,9,10}; inti,x; scanf("%d",&x); for(i=0;i<10;i++) if(a[i]==x) break; if(i<10) printf("数组有%d,该数组元素是a[%d]\n",x,i); else printf("数组中不存在%d\n",x); } 2要求用函数完成查找n个数的最大值和最小值。 #include floatmax(floata[],intn); floatmin(floata[],intn); voidmain() { floata[20],maxnum,minnum; inti,n; printf("请输入需要输入的数的数目<20\n"); scanf("%d",&n); printf("请输入需要输入%d个数: \n",n); for(i=0;i scanf("%f",&a[i]); maxnum=max(a,n); minnum=min(a,n); printf("输入的最大数是%f\n",maxnum); printf("输入的最小数是%f\n",minnum); } floatmax(floata[],intn) { inti; floatmax; max=a[0]; for(i=0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 重庆 邮电大学 语言 上机 实验 期末 报告