C语言上机实验讲义.docx

上传人:b****4 文档编号:5467067 上传时间:2022-12-16 格式:DOCX 页数:39 大小:28.45KB
下载 相关 举报
C语言上机实验讲义.docx_第1页
第1页 / 共39页
C语言上机实验讲义.docx_第2页
第2页 / 共39页
C语言上机实验讲义.docx_第3页
第3页 / 共39页
C语言上机实验讲义.docx_第4页
第4页 / 共39页
C语言上机实验讲义.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

C语言上机实验讲义.docx

《C语言上机实验讲义.docx》由会员分享,可在线阅读,更多相关《C语言上机实验讲义.docx(39页珍藏版)》请在冰豆网上搜索。

C语言上机实验讲义.docx

C语言上机实验讲义

实验一上机操作初步(2学时)

一、实验方式:

一人一机

二、实验目的:

1、熟悉VC++语言的上机环境及上机操作过程。

2、了解如何编辑、编译、连接和运行一个C程序。

3、初步了解C程序的特点。

三、实验内容:

说明:

前三题为必做题目,后两题为选做题目。

1、输出入下信息:

(实验指导书P79)

*************************

VeryGood

*************************

2、计算两个整数的和与积。

(实验指导书P81)

3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。

(书P3)

4、在屏幕上显示一个文字菜单模样的图案:

=================================

1输入数据2修改数据

3查询数据4打印数据

=================================

5、从键盘上输入两个整数,交换这两个整数。

四、参考答案:

1、#include

voidmain()

{printf(“********************\n”);

printf(“VeryGood\n”);

printf(“********************\n”);

}

2、#include

voidmain()

{inta,b,c,d;

printf(“Pleaseentera,b:

”);

scanf(“%d,%d”,&a,&b);

c=a+b;d=a*b;

printf(“%d+%d=%d\n”,a,b,c);

printf(“%d*%d=%d\n”,a,b,d);

}

3、#include

#include

voidmain()

{doublex,s;

printf(“Pleaseinputvalueofx:

”);

scanf(“%lf”,&x);

s=cos(x);

printf(“cos(%lf)=%lf\n”,x,s);

}

4、#include

voidmain()

{printf(“==================================\n”);

printf(“1输入数据2修改数据\n”);

printf(“3查询数据4打印数据\n”);

printf(“===================================\n”);

}

5、#include

voidmain()

{intx,y,t;

printf(“Pleaseenterxandy:

”);

scanf(“%d%d”,&x,&y);

t=x;x=y;y=t;

printf(“Afterswap:

x=%d,y=%d\n”,x,y);

}

实验二简单的C程序设计(4学时)

一、实验方式:

一人一机

二、实验目的:

1、掌握C语言的数据类型。

2、学会使用C语言的运算符及表达式。

3、掌握不同数据类型的输入输出方法。

三、实验内容:

说明:

前四题为必做题目,后两题为选做题目。

1、输入r1、r2,求出圆形垫片面积。

(实验指导书P84)

2、输入华氏温度h,输出摄氏温度c。

(实验指导书P85)

3、从键盘输入一个3位整数,将输出该数的逆序数。

(实验指导书P89)

4、输入并运行以下程序,分析运行结果。

#include

voidmain()

{inti,j;

i=8;j=10;

printf(“%d,%d\n”,++i,++j);

i=8;j=10;

printf(“%d,%d\n”,i++,j++);

i=8;j=10;

printf(“%d,%d\n”,++i,i);

i=8;j=10;

printf(“%d,%d\n”,i++,i);}

5、输入三角形三条边的边长,求三角形的面积。

(书P55、实验指导书P5)

6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。

(书P55、实验指导书P6)

四、参考答案:

1、#include

#definePI3.14

voidmain()

{floatr1,r2;

doubles1,s2,s;

printf(“Pleaseenterr1,r2:

\n”);

scanf(“%f%f”,&r1,&r2);

s2=r2*r2*PI;

s1=r1*r1*PI;

s=s2-s1;

printf(“s=%lf\n”,s);

}

2、#include

voidmain()

{floath,c;

printf(“请输入华氏温度:

”);

scanf(“%f”,&h);

c=5.0/9*(h-32);

printf(“\n摄氏温度:

%f\n”,c);

}

3、#include

voidmain()

{inta,b,c,x,y;

printf(“请输入一个3位的正整数:

\n”);

scanf(“%d”,&x);

a=x/100;/*求x的百位数*/

b=(x-a*100)/10;/*求x的十位数*/

c=x-a*100-b*10;/*求x的个位数*/

y=c*100+b*10+a;

printf(“%d:

%d\n”,x,y);

}

4、运行结果:

9,11

8,10

9,8

8,8

5、#include

#include

voidmain()

{inta,b,c;

doublearea,s;

printf(“Pleaseentera,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=%.2lf\n”,area);

}

6、#include

voidmain()

{chara,b,c;

floatx;

printf(“Pleaseenter:

\n”);

scanf(“%c%c%c”,&a,&b,&c);

x=(a+b+c)/3.0;

printf(“(a+b+c)/3=%.2f\n”,x);

}

实验三选择结构程序设计(2学时)

一、实验方式:

一人一机

二、实验目的:

1、熟练掌握if语句和switch语句。

2、练习并掌握多分支选择结构的编程方法。

3、学习调试和修改程序的步骤。

三、实验内容:

说明:

前三题为必做题目,后两题为选做题目。

1、读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。

(实验指导书P104)

2、输入某一年月,输出该月的天数。

(实验指导书P105)

3、有一函数:

x(x<1)

y=2x-1(1≤x<10)

3x-11(x≥10)编写程序,输入x值,输出y值。

4、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。

(书P94、实验指导书P15)

5、从键盘输入4个整数,分别存入整型变量a、b、c、d中,并按从大到小的顺序显示出来。

(实验指导书P12)

四、参考答案:

1、#include

voidmain()

{intl,w,h;

printf(“请输入箱子的长、宽、高:

\n”);

scanf(“%d%d%d”,&l,&w,&h);

if(l==w&&w==h)/*如果长、宽、高相等,则为立方体*/

printf(“该箱子是立方体。

”);

else

printf(“该箱子是长方体。

”);

}

2、#include

voidmain()

{intyear,month,days;

printf(“Pleaseenteryearandmonth:

\n”);

switch(month)

{case2:

if(year%4==0&&year%100!

=0||year%400==0)

days=29;

else

days=28;

break;

case1:

case3:

case5:

case7:

case8:

case10:

case12:

days=31;break;

case4:

case6:

case9:

case11:

days=30;

}

printf(“%d年%d月有%d天\n”,year,month,days);

}

3、方法1:

#include

voidmain()

{floatx,y;

printf(“Pleaseinputx:

\n”);

scanf(“%f”,&x);

if(x<1)

y=x;

elseif(x<10)

y=2*x-1;

else

y=3*x-11;

printf(“y=%f\n”,y);

}

方法2:

#include

voidmain()

{floatx,y;

printf(“Pleaseinputx:

\n”);

scanf(“%f”,&x);

if(x<1)y=x;

if(x>=1&&x<10)y=2*x-1;

if(x>=10)y=3*x-11;

printf(“y=%f\n”,y);

}

4、#include

voidmain()

{charx;

printf(“Enterachar:

\n”);

x=getchar();

if(x>=‘a’&&x<=‘z’)

x=x-32;

elseif(x>=‘A’&&x<=‘Z’)

x=x+32;

putchar(x);

}

5、#include

voidmain()

{inta,b,c,d,t;

printf(“请输入4个整数:

”);

scanf(“%d%d%d%d”,&a,&b,&c,&d);

if(a

if(a

if(a

if(b

if(b

if(c

printf(“从大到小排序后:

\n”);

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

实验四循环结构程序设计(4学时)

一、实验方式:

一人一机

二、实验目的:

1、熟练掌握while语句、do-while语句和for语句。

2、练习并掌握循环结构的嵌套形式。

3、掌握循环结构的程序设计方法。

三、实验内容:

说明:

前四题为必做题目,后两题为选做题目。

1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

(实验指导书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

voidmain()

{floatx,max,min;

printf(“Pleaseinputscores:

”);

scanf(“%f”,&x);

max=min=x;

while(x>=0)

{if(x>max)max=x;

if(x

scanf(“%f”,&x);

}

printf(“\nmax=%f\nmin=%f\n”,max,min);

}

2、#include

voidmain()

{intx,y,z;

intk=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)

printf(“%d\n”,k);

k++;

}

}

3、方法1:

#include

#include

voidmain()

{inti,x,yes,a;

printf(“Enterintegernumber:

”);

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(“YES\n”);

else

printf(“NO\n”);

}

方法2:

#include

#include

voidmain()

{inti,x,yes,a;

printf(“Enterintegernumber:

”);

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(“%disYES\n”,x);

elseprintf(“%disNO\n”,x);

}

4、#include

#include

voidmain()

{floatpi,t,n;

intsign=1;

pi=0;n=1;t=1;

while(fabs(t)>=1e-6)

{t=sign/n;

pi+=t;

n+=2;

sign=-sign;

}

pi=pi*4;

printf(“pi=%f\n”,pi);

}

5、#include

voidmain()

{inti,j,n;

doublem,s=0;

printf(“Entern:

”);

scanf(“%d”,&n);

for(i=1;i<=n;i++)

{for(j=1,m=1;j<=i;j++)

m*=j;

s+=m;

}

printf(“resultis:

%lf\n”,s);

}

6、#include

voidmain()

{intx,i,a=0,b=0,c=0;

for(i=1;i<=10;i++)

{printf(“\n请输入第%d个数:

”,i);

scanf(“%d”,&x);

if(x>0)a++;

if(x<0)b++;

if(x==0)c++;

}

printf(“正数有%d个,负数有%d个,零有%d个\n”,a,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、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

4、输出如下图案:

*

***

*****

*******

*****

***

*

四、参考答案:

1、方法1:

#include

voidmain()

{ints;

printf(“Enterascore:

”);

scanf(“%d”,&s);

if(s>=90)printf(“A\n”);

elseif(s>=80)printf(“B\n”);

elseif(s>=70)printf(“C\n”);

elseif(s>=60)printf(“D\n”);

elseprintf(“E\n”);

}

方法2:

#include

voidmain()

{ints;

printf(“Enterascore:

”);

scanf(“%d”,&s);

if(s>=90&&s<=100)printf(“A\n”);

if(s>=80&&s<90)printf(“B\n”);

if(s>=70&&s<80)printf(“C\n”);

if(s>=60&&s<70)printf(“D\n”);

if(s<60)printf(“E\n”);

}

方法3:

#include

voidmain()

{ints,logic;

chargrade;

logic=1;

while(logic)

{printf(“Inputscore:

”);

scanf(“%d”,&s);

if(s>100||s<0)

printf(“\nError,Inputagain!

\n”);

else

logic=0;

printf(“\n”);

}

switch(s/10)

{case10:

case9:

grade=‘A’;break;

case8:

grade=‘B’;break;

case7:

grade=‘C’;break;

case6:

grade=‘D’;break;

default:

grade=‘E’;

}

printf(“Scoreis%d,thegradeis%c.\n”,s,grade);

}

2、#include

voidmain()

{intm,n,k;

intsum=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匹;小马%3d匹.\n”,m,n,k);

sum++;

}

}

printf(“共有%d种驮法.\n”,sum);

}

3、#include

voidmain()

{charc;

intletter=0,space=0,digit=0,other=0;

printf(“请输入一行字符:

\n”);

while((c=getchar())!

=‘\n’)

{if(c>=‘a’&&c<=‘z’||c>=‘A’&&c<=‘Z’)

letter++;

elseif(c==‘’)

space++;

elseif(c>=‘0’&&c<=‘9’)

digit++;

else

other++;

}

printf(“字母数=%d,空格数=%d\n”,letter,space);

printf(“数字数=%d,其他字符数=%d\n”,digit,other);

}

4、#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<=4-2*i;k++)printf(“*”);

printf(“\n”);

}

}

实验六函数程序设计(4学时)

一、实验方式:

一人一机

二、实验目的:

1、掌握C语言中函数的三要素:

函数定义、函数调用和函数说明。

2、掌握通过参数在函数间传递数据的方法。

3、掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。

三、实验内容:

说明:

前四题为必做题目,后两题为选做题目。

1、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。

(实验指导书P130)

2、输入整数n,输出高度为n的等边三角形。

当n=5时的等边三角形如下:

(实验指导书P134)

*

***

*****

*******

*********

3、输入并运行以下程序,分析运行结果。

#include

inta=5;

intb=7;

voidmain()

{inta=4,b=5,c;

c=plus(a,b);

printf(“a+b=%d\n”,c);

}

plus(intx,inty)

{intz;

z=x+y;

return(z);

}

4、求500以内的所有亲密数对。

若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数对。

(实验指导书P136)

5、输入并运行以下程序,分析运行结果。

#include

intd=1;

fun(intp)

{staticintd=5;

d+=p;

printf(“%d”,d);

return(d);

}

voidmain()

{inta=3;

printf(“%d”,fun(a+fun(d)));

}

6、设计一个函数,输出整数n的所有素数因子。

(书P157、实验指导书

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1