实验三 数据的输入输出
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三数据的输入输出
一、实验目的
1.进一步熟悉VC环境的使用方法和C程序的编辑、编译、连接和运行的过程。
2.学习C语言基本的输入、输出语句,以及如何进行格式的控制。掌握常用的C语言语句,熟练应用赋值、输入、输出语句。
3.编写顺序结构程序并运行,了解如何去完成一个简单的C程序。
二、实验内容
题目1 阅读程序加注释,并给出运行结果
(1)已知三角形边长求面积。
请给出运行结果,并对每条程序加以注释。
#include
#include
void main( )
{ double a,b,c,s,area;
a=3;
b=4;
c=5;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c)); //函数sqrt()用于求一个数的平方
printf("%4.1f, %4.1f, %4.1f,area is %4.2f\n",a,b,c,area);
}
运行结果:
(2)键入以下代码,观察输出结果。
#include
void main()
{ printf("This prints a character,%c\n a number,%d \n a float,\
%f\n",'z',123,456.789);
}
(提示:printf()函数占了两行,在第一行末尾使用了一个反斜杠(\)指出字符串将延续到下一行,因此编译器将把这两行代码视为一行)
运行结果:
(3)运行结果,并对每条程序加以注释。
#include
#include
main()
{ float a,b,c,disc,x1,x2,p,q;
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a); q=sqrt(disc)/(2*a);
x1=p+q; x2=p-q;
printf("\n\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
}
输入:a=1,b=3,c=2
运行结果:
(4)观察以下代码的运行结果是否会显示在同一行?
#include
void main()
{
printf(“hello, ”);
printf(“world”);
}
运行结果:
(5)学习使用按位与& 运算。
程序分析:0&0=0; 0&1=0; 1&0=0; 1&1=1
#include
void main()
{
int a,b;
a=077;
b=a&3;
printf("\40: The a & b(decimal) is %d \n",b);
b&=7;
printf("\40: The a & b(decimal) is %d \n",b);
}
运行结果:
题目2 体验数据格式输入、输出的效果
分析以下程序,假设依据给定的内容输入,其输出会怎样?实际运行并按照要求输入,比较其输出结果与分析的结果是否一致。
(1)十、八、十六进制数的输入与输出
#include "stdio.h"
void main()
{
int a,b,c,d;
scanf("%d,%x,%o,%c",&a,&b,&c,&d);
printf("a=%d,b=%d,c=%d,d=%c\n",a,b,c,d);
}
输入:10,10,10,10↵输出:
输入:10 10 10 10↵输出:
正确否?为什么?
(2)控制字符与修饰符使用1
#include "stdio.h"
void main()
{
int a,d;
float b;
char c;
scanf("%2d%*2d%2f%2c%d",&a,&b,&c,&d);
printf("a=%d,b=%f,c=%c,d=%d\n",a,b,c,d);
}
输入:12345678900↵输出:
输入:123456789m0↵输出:
输入:12 34 56 78900 输出:
输入:1,23,456,7890 输出:
正确否?为什么?
输入:使用回车键输入,下列哪一组正确?为什么?
12↙12↙
34↙34↙
56↙5678900↙
78900↙
(3)格式字符与修饰符使用2
#include
void main( )
{
int a=1234;
float f=123.456;
char c[]="Hello,world!";
printf("%8d,%-8d\n",a,a);
printf("%10.2f,%-10.1f\n",f,f);
printf("%10.5s,%-10.3s\n",c,c);
printf("%08d\n",a);
printf("%010.2f\n",f);
printf("%0+8d\n",a);
printf("%0+10.2f\n",f);
}
(4)getchar与putchar的使用
#include
void main()
{ char c1,c2; /*思考:此处能否为int型*/ c1=getchar();
c2=getchar();
putchar(c1);