1、C语言上机实验讲义实验一 上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC+语言的上机环境及上机操作过程。2、了解如何编辑、编译、连接和运行一个C程序。3、初步了解C程序的特点。三、实验内容:说明:前三题为必做题目,后两题为选做题目。1、输出入下信息:(实验指导书P79) * Very Good *2、计算两个整数的和与积。(实验指导书P81)3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书P3)4、在屏幕上显示一个文字菜单模样的图案: = 1 输入数据 2 修改数据 3 查询数据 4 打印数据 =5、从键盘上输入两个整数,交换这两个整数。
2、四、参考答案:1、#include void main( ) printf(“*n”); printf(“ Very Goodn”); printf(“*n”);2、#include void main( ) int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%dn”,a,b,c); printf(“%d*%d=%dn”,a,b,d);3、#include #include void main( ) double x,s; printf(“Please inpu
3、t value of x:”); scanf(“%lf”,&x); s=cos(x); printf(“cos(%lf)=%lfn”,x,s);4、#include void main( ) printf(“=n”); printf(“ 1 输入数据 2 修改数据n”); printf(“ 3 查询数据 4 打印数据n”); printf(“=n”);5、#include void main( ) int x,y,t; printf(“Please enter x and y:”); scanf(“%d%d”,&x,&y); t=x; x=y; y=t; printf(“After swap:
4、x=%d,y=%dn”,x,y);实验二 简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。2、学会使用C语言的运算符及表达式。3、掌握不同数据类型的输入输出方法。三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、输入r1、r2,求出圆形垫片面积。(实验指导书P84)2、输入华氏温度h,输出摄氏温度c。(实验指导书P85)3、从键盘输入一个3位整数,将输出该数的逆序数。(实验指导书P89)4、输入并运行以下程序,分析运行结果。 #include void main( ) int i,j; i=8; j=10; printf(“%d,%dn”,+
5、i,+j); i=8; j=10; printf(“%d,%dn”,i+,j+); i=8; j=10; printf(“%d,%dn”,+i,i); i=8; j=10; printf(“%d,%dn”,i+,i);5、输入三角形三条边的边长,求三角形的面积。(书P55、实验指导书P5)6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(书P55、实验指导书P6)四、参考答案:1、#include #define PI 3.14 void main( ) float r1,r2; double s1,s2,s; printf(“Please enter r1,r2:n”)
6、; scanf(“%f%f”,&r1,&r2); s2=r2*r2*PI;s1=r1*r1*PI;s=s2-s1; printf(“s=%lfn”,s);2、#include void main( ) float h,c; printf(“请输入华氏温度:”); scanf(“%f”,&h); c=5.0/9*(h-32); printf(“n摄氏温度:%fn”,c);3、#include void main( ) int a,b,c,x,y; printf(“请输入一个3位的正整数:n”); scanf(“%d”,&x); a=x/100; /*求x的百位数*/b=(x-a*100)/10;
7、 /*求x的十位数*/c=x-a*100-b*10; /*求x的个位数*/y=c*100+b*10+a;printf(“%d:%dn”,x,y); 4、运行结果:9,11 8,10 9,8 8,85、#include #include void main( ) int a,b,c; double area,s; printf(“Please enter a,b,c:”); scanf(“%d,%d,%d”,&a,&b,&c); s=(double)(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%.2lfn”,area);6、#incl
8、ude void main( ) char a,b,c; float x; printf(“Please enter:n”); scanf(“%c%c%c”,&a,&b,&c); x=(a+b+c)/3.0; printf(“(a+b+c)/3=%.2fn”,x);实验三 选择结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、熟练掌握if语句和switch语句。2、练习并掌握多分支选择结构的编程方法。3、学习调试和修改程序的步骤。三、实验内容:说明:前三题为必做题目,后两题为选做题目。1、读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。(实验指导书P10
9、4)2、输入某一年月,输出该月的天数。(实验指导书P105)3、有一函数: x (x1)y= 2x-1 (1x10) 3x-11 (x10) 编写程序,输入x值,输出y值。4、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。(书P94、实验指导书P15)5、从键盘输入4个整数,分别存入整型变量a、b、c、d中,并按从大到小的顺序显示出来。(实验指导书P12)四、参考答案:1、#include void main( ) int l,w,h; printf(“请输入箱子的长、宽、高:n”); scanf(“%d%
10、d%d”,&l,&w,&h); if(l=w&w=h) /*如果长、宽、高相等,则为立方体*/ printf(“该箱子是立方体。”); else printf(“该箱子是长方体。”);2、#include void main( ) int year,month,days; printf(“Please enter year and month:n”); switch(month) case 2: if(year%4=0&year%100!=0|year%400=0) days=29; else days=28; break; case 1:case 3:case 5:case 7:case 8
11、:case 10:case 12: days=31; break; case 4: case 6: case 9: case 11: days=30;printf(“%d年%d月有%d天n”,year,month,days);3、方法1:#include void main( ) float x,y; printf(“Please input x:n”); scanf(“%f”,&x); if(x1) y=x; else if(x10) y=2*x-1; else y=3*x-11; printf(“y=%fn”,y); 方法2:#include void main( ) float x,y;
12、 printf(“Please input x:n”); scanf(“%f”,&x); if(x=1&x=10) y=3*x-11; printf(“y=%fn”,y);4、#include void main( ) char x; printf(“Enter a char:n”); x=getchar();if(x=a&x=A&x=Z) x=x+32;putchar(x);5、#include void main( ) int a,b,c,d,t; printf(“请输入4个整数:”); scanf(“%d%d%d%d”,&a,&b,&c,&d); if(ab) t=a; a=b; b=t
13、; if(ac) t=a; a=c; c=t; if(ad) t=a; a=d; d=t; if(bc) t=b; b=c; c=t; if(bd) t=b; b=d; d=t; if(cd) t=c; c=d; d=t; printf(“从大到小排序后:n”); printf(“%d,%d,%d,%dn”,a,b,c,d);实验四 循环结构程序设计(4学时)一、实验方式:一人一机二、实验目的:1、熟练掌握while语句、do-while语句和for语句。2、练习并掌握循环结构的嵌套形式。3、掌握循环结构的程序设计方法。三、实验内容:说明:前四题为必做题目,后两题为选做题目。1、从键盘上输入若
14、干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。(实验指导书P117)2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验指导书P118)3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(书P123、实验指导书P19)4、计算的近似值。公式如下:/4=1-1/3+1/5-1/7+,直到最后一项的绝对值小于10-6为止。(书P123、实验指导书P21)5、计算1!+2!+n! 的值,n值由键盘输入。(实验指导书P29)6、输入10个整数,统计并输出其中正数、负数和零的个数。四、参考答案:1、#include void ma
15、in( ) float x,max,min; printf(“Please input scores:”); scanf(“%f”,&x); max=min=x; while(x=0) if(xmax) max=x; if(xmin) min=x; scanf(“%f”,&x);printf(“nmax=%fnmin=%fn”,max,min);2、#include void main( ) int x,y,z; int k=100; while(k=999) x=k/100; y=(k-x*100)/10; z=k-x*100-y*10; if(k=x*x*x+y*y*y+z*z*z) pr
16、intf(“%dn”,k); k+;3、方法1:#include #include void main( ) int i,x,yes,a; printf(“Enter integer number:”); scanf(“%d”,&x); yes=1; i=2; a=(int)sqrt(double)x); while(yes&i=a) if(x%i=0) yes=0; i+;printf(“%d”,x);if(yes) printf(“YESn”);else printf(“NOn”); 方法2:#include #include void main( ) int i,x,yes,a;prin
17、tf(“Enter integer number:”);scanf(“%d”,&x);yes=1;i=2;a=(int)sqrt(double)x);while(i=a) if(x%i=0) yes=0; break; i+;if(yes=1) printf(“%d is YESn”,x);else printf(“%d is NOn”,x);4、#include #include void main( ) float pi,t,n; int sign=1; pi=0; n=1; t=1; while(fabs(t)=1e-6) t=sign/n; pi+=t; n+=2; sign=-sig
18、n;pi=pi*4;printf(“pi=%fn”,pi);5、#include void main( ) int i,j,n;double m,s=0; printf(“Enter n:”); scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1,m=1;j=i;j+)m*=j; s+=m;printf(“result is:%lfn”,s);6、#include void main( ) int x,i,a=0,b=0,c=0; for(i=1;i0) a+;if(x0) b+;if(x=0) c+;printf(“正数有%d个,负数有%d个,零有%d个n”,a,
19、b,c);实验五 综合实验1:结构化程序设计(2学时)一、实验方式:一人一机二、实验目的:1、进一步掌握选择结构、循环结构的编程特点。2、掌握C语言的结构化程序设计思想。3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。三、实验内容:说明:前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设:90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(书P86、实验指导书P14)2、百马百担问题。(实验指导书P121)3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的
20、个数。4、输出如下图案: * * * * * * *四、参考答案:1、方法1: #include void main( ) int s; printf(“Enter a score:”); scanf(“%d”,&s); if(s=90) printf(“An”); else if(s=80) printf(“Bn”); else if(s=70) printf(“Cn”); else if(s=60) printf(“Dn”); else printf(“En”); 方法2: #include void main( ) int s; printf(“Enter a score:”); sca
21、nf(“%d”,&s); if(s=90&s=80&s=70&s=60&s70) printf(“Dn”); if(s60) printf(“En”); 方法3:#include void main( ) int s,logic; char grade;logic=1;while(logic) printf(“Input score:”); scanf(“%d”,&s); if(s100|s0) printf(“nError,Input again!n”); else logic=0; printf(“n”);switch(s/10) case 10:case 9: grade=A;break
22、; case 8: grade=B;break;case 7: grade=C;break;case 6: grade=D;break;default: grade=E;printf(“Score is %d,the grade is %c.n”,s,grade);2、#include void main( ) int m,n,k; int sum=0; printf(“各种驮法如下:n”); for(m=1;m=100;m+) for(n=1;n=100-m;n+) k=100-m-n; if(k%2=0&m*3+n*2+k/2=100) printf(“大马%3d匹;中马%3d匹;小马%3
23、d匹.n”,m,n,k); sum+;printf(“共有%d种驮法.n”,sum); 3、#include void main( ) char c; int letter=0,space=0,digit=0,other=0; printf(“请输入一行字符:n”); while(c=getchar( )!=n) if(c=a&c=A&c=0&c=9) digit+;else other+;printf(“字母数=%d,空格数=%dn”,letter,space);printf(“数字数=%d,其他字符数=%dn”,digit,other); 4、#include void main( ) i
24、nt i,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=4-2*i;k+) printf(“*”);printf(“n”);实验六 函数程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言中函数的三要素:函数定义、函数调用和函数说明。2、掌握通过参数在函数间传递数据的方法。3、掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。
25、三、实验内容: 说明:前四题为必做题目,后两题为选做题目。1、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。(实验指导书P130)2、输入整数n,输出高度为n的等边三角形。当n=5时的等边三角形如下:(实验指导书P134) * * * * *3、输入并运行以下程序,分析运行结果。 #include int a=5;int b=7; void main( ) int a=4,b=5,c; c=plus(a,b); printf(“a+b=%dn”,c);plus(int x,int y) int z; z=x+y; return (z);4、求500以内的所有亲密数对。若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。(实验指导书P136)5、输入并运行以下程序,分析运行结果。 #include int d=1; fun(int p) static int d=5; d+=p; printf(“%d ”,d); return (d);void main( ) int a=3; printf(“%d ”,fun(a+fun(d);6、设计一个函数,输出整数n的所有素数因子。(书P157、实验指导书
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1