C语言 实验一二.docx
《C语言 实验一二.docx》由会员分享,可在线阅读,更多相关《C语言 实验一二.docx(15页珍藏版)》请在冰豆网上搜索。
C语言实验一二
实验一最简单的C程序---顺序程序设计
(验证性实验2学时)
(一)、实验目的
1.熟悉VC++6.0/C-Free等C语言程序编译软件运行环境
2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法
3.掌握C语言中使用最多的一种语句——赋值语句
4.掌握数据的输入输出方法,能正确使用各种格式控制符
(二)、实验内容
1.写出下列程序的运行结果
(1)#include
voidmain()
{
printf(“*****************\n”);
printf(“Thisisacprogram.\n”);
printf(“****************\n”);
}
运行结果及分析:
将程序中的\n去掉后,运行结果及分析:
(2)#include
voidmain()
{
inta=100,b=20,sum,sb;
sum=a+b;
sb=a/b;
printf("sum=%d,sb=%d",sum,sb);
}
运行结果及分析:
(3)#include
voidmain()
{
charc1,c2;
c1=97;c2=98;
printf("%c,%c\n",c1,c2);
printf("%d,%d\n",c1,c2);
printf("%c%c\n",c1+1,c2+2);
}
运行结果及分析:
2.程序填空
任意输入一个有五位数字的正整数x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1表示),请将程序补充完整。
#include
main()
{
intb1,b2,b3,b4,b5;
intx;
Scanf(“%ld”,&x);
b5=(x/10000)%10;;
b4=(x/1000)%10;
b3=(x/100)%10;;
b2=(x/10)%10;
b1x%10;;
printf(“thenumberis⑤%d\n”,x);
printf(“itsbitis:
%d,%d,%d,%d,%d\n”,b5,b4,b3,b2,b1);
}
程序分析:
3.程序改错(注意:
题中的编号为行序号,并非程序本身)
(1)计算任意一个半径为r的圆的面积和周长(结果保留两位小数)
1)#include
2)main()
{
3)floatr;p=3.14,c,area;
4)printf(“inputr:
”);
5)scanf(“%f”,r);
6)c=2p*r;
7)area=p*r*r
8)printf(“c=%-7.2f,area=%-7.2f”,c,area);
9)}
错误语句的行号:
3
改正后的语句全行:
floatr,p=3.14,c,area;
错误语句的行号:
5
改正后的语句全行:
scanf(“%f”,&r);
错误语句的行号:
6
改正后的语句全行:
c=2*p*r
错误语句的行号:
7
改正后的语句全行:
area=p*r*r,
改错分析:
(2)修改下面的源程序,并调试出运行结果,并以sum.c命名保存。
#include
mian( );
{intabsum;
a=4,b=15;
sum=a*b;
prinf(“sumis%d\n”,sum);
}
运行结果及分析:
t
4.编写程序
(1)编写程序,输入两个整数:
1500和350,求出它们的商数和余数并进行输出。
程序清单:
#include
voidmain()
{
inta;
intb;
intc,d;
a=1500,b=350;
c=a/b;
d=a%b;
printf("%d\n",c);
printf("%d\n",d);
}
d
程序编写注意事项:
(2)输入一个双精度类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理后,输出此数,以便验证处理是否正确。
程序清单:
#include
voidmain()
{
doublex;
printf("enterx:
\n");
scanf("lf%",&x);
printf("x1=%d\n",x);
x=x*100;
x=x+0.5;
x=(int)(x);
x=x/100;
printf("x2=%f\n",x);
}
程序编写注意事项:
(3)编写程序,输入三个数a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。
程序清单:
#include
voidmain()
{
inta=1;
intb=2;
intc=3;
inttemp;
temp=a;
a=c;
c=b;
b=temp;
printf("%d,%d,%d\n",a,b,c);
}
l
程序编写注意事项:
(4)输入一个华氏温度,要求输出摄氏温度,公式为:
C=5/9(F-32)(要求保留3位小数)。
程序清单:
#include
voidmain()
{
floatf,c;
scanf("%f",&f);
c=(f-32)*5/9;
printf("%.3f\n",c);
}
程序编写注意事项:
实验二逻辑运算&顺序结构的程序设计
(验证性实验2学时)
(一)、实验目的
1.了解输入输出的方式;
2.了解逻辑量在C语言中的表示方法
3.学会使用逻辑运算符和逻辑表达式
3.掌握C的基本数据类型及其使用规则;
4.重点熟悉C语言的基本语法单位;
5.难点学习编写简单C程序。
(二)、实验内容
1.写出下列程序的运行结果
(1)#include
voidmain()
{
inta,b,x=10,y=9;
a=(--x==y++)?
--x:
++y;
b=y;
printf(“%d,%d\n”,a,b);
}
运行结果及分析:
(2)#include
voidmain()
{
‘inti=8,j=10,m,n;
m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
运行结果及分析:
再将本程序的第3行改为m=i++;n=++j;
运行结果及分析:
(3)先计算以下程序的结果,然后上机运行
main()
{
intx,y,z;
x=y=z=1;
x+=y+=z;
printf("
(1)%d\n",xy:
x);
printf("
(2)%d\n",xx++:
y++);
printf("x=%d,y=%d\n",x,y);
printf("(3)%d\n",z+=xx++:
y++);
printf("x=%d,y=%d,z=%d\n",x,y,z);
x=5;
y=z=6;
printf("(4)%d\n",(z>=y>=x)?
1:
0);
printf("(5)%d\n",(z>=y&&y>=x));
}
程序运行结果分析:
(4)分析以下程序,并输入软件调试。
(掌握符号常量的用法)
#definePI3.14159
main()
{
floatr,s,l;
r=5.0;
s=PI*r*r;
l=2*PI*r;
printf(“s=%f,l=%f\n”,s,l);
}
程序清单:
程序编写注意事项:
(5).先计算以下程序的结果,然后上机运行
intsum=10,cap=10;
cap=sum++,cap++,++cap;
printf("%d\n",cap);
程序清单:
#include
voidmain()
{
intsum=10,cap=10;
cap=sum++,cap++,++cap;
printf("%d\n",cap);
}
程序编写注意事项:
2.改错
以下程序多处有错。
要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。
main()
{doublea,b,c,s,v;
printf(inputa,b,c:
\n);
scanf(“%d%d%d”,a,,b,c);
s=a*b;
v=a*b*c;
printf(“%d%d%d”,a,b,c);
printf(“s=%f\n,s”,”v=%d\n,v”)
#include
main()
{doublea,b,c,s,v;
printf("inputa,b,c:
\n");
scanf("%d%d%d",&a,&b,&c);
s=a*b;
v=a*b*c;
printf("%d%d%d",a,b,c);
printf("s=%f\n,s","v=%d\n,v");
}
程序分析:
3.编写程序
(1)求下面算术表达式的值。
1)x+a%3*(int)(x+y)%2/4
设x=2.5,a=7,y=4.7
2)(float)(a+b)/2+(int)x%(int)y
设a=2,b=3,x=3.5,y=2.5
先自己分析,再试着用程序求解,看得到的结果是否一致。
程序清单:
ojrt
1’#include
main()
{
floatx=2.5;
inta=7;
floaty=4.7;
doublez;
z=x+a%3*(int)(x+y)%2/4;
printf("z=%f\n",z);
}
2’voidmain()
{#include
inta=2,b=3;
floatx=3.5,y=2.5;
floatm=(float)(a+b)/2+(int)x%(int)y;
printf("%f",m);
}
程序编写注意事项:
(2)用程序的形式求出计算结果:
已知整型变量a的初值是5,b的初值是3,计算下列表达式的值。
1).!
a&&b++;0
2).a||b+4&&a*b;1
3).a=1,b=2,a>b?
++a:
++b;1
4).++b,a=10,a+5;4
5).a+=b%=a+b;8
6.)a!
=b>2<=a+1;1
程序清单:
(1)#include
voidmain()
{k
inta,b,c;
a=5;
b=3;
printf("%d",!
a&&b++);
}
程序编写注意事项:
(3)要将“China”译成密码,密码规律是:
用原来的字母后面第4个字母代替原来的字母。
程序清单:
#include
voidmain()
{charc1,c2,c3,c4,c5;
c1='C';
c2='h';
c3='i';
c4='n';
c5='a';
printf("%c%c%c%c%c\n",c1+5,c2+5,c3+5,c4+5,c5+5);
}
程序编写注意事项:
(4)从键盘输入一个大写字母,要求用小写字母形式输出该字母及对应的ASCII码值。
程序清单:
#include
voidmain()
{
charc;
printf("请输入一个大写字母:
\n");
scanf("%c",&c);
printf("您输入的大写字母是%c\n其对应的ASCII码值是%d\n",c,c);
printf("小写字母是%c\n其对应的ASCII码值是%d\n",c+32,c+32);
}
程序编写注意事项:
(5)从键盘输入三个数,求它们的平均值,并将最后的结果保留三位小数。
程序清单:
#include
voidmain()
{
inta,b,c;
doubleavg=0.0;
scanf("%d%d%d",&a,&b,&c);
avg=(a+b+c)/3;
printf("%.3f",avg);
}
程序编写注意事项:
(6)已知圆柱体半径6米,高7米,求体积。
v=p*r*r*h;
程序清单:
#include
voidmain()
{
floatr,h,p,v;
r=6;
h=7;
p=3.14;
v=p*r*r*h;
printf("%f",v);
}
程序编写注意事项:
(7)编写一个程序,求出给定半径r的圆的周长和面积,并且输出计算结果,其中r的值由用户输入,3.14的值用符号常量表示,结果保留三位有效数据.
程序清单:
#include
voidmain()
{
floatr,p,c,s;
scanf("%f",&r);
p=3.14;
c=2*p*r;
s=p*r*r;
printf("%f,%f",c,s);
}
程序编写注意事项:
p
(8)编写一个程序根据输入的年利率I和存款总额S计算一年后的本息和并输出.
程序清单:
#include
voidmain()
{
floats,i;
scanf("%f,%f",&i,&s);
s+=s*i*0.01;
printf("%f\n",s);
}
程序编写注意事项: