实验二 简单的C程序设计和基本数据处理
时间:2025-02-26
时间:2025-02-26
1307080601115 贺杰安
实验二 简单的C程序设计和基本数据处理
实验目的:
1. 掌握C语言的运算符和表达式的正确使用以及C语言的几种基本数据类型和基本输入输出函数的使用方法。
2. 通过编程进一步理解和掌握运算符的确切含义和功能。
3. 理解和掌握运算符与运算对象的关系,优先级和结合方向。
1. 通过编程,掌握C语言的几种基本数据类型,int、char、flloat、double,以及由这些基本数据类型构成的常量和变量的使用方法。
2. 掌握基本输入/输出函数的使用方法,包括printf()、scanf()、getchar()、putchar()。
3. 掌握简单的C程序的查错方法。
实验内容:
一、输入程序,观察输出结果,并对输出结果作出合理的解释。
1./* e1.cpp */
#include<stdio.h>
void main()
{ float x;
double y;
x=213.82631;y=213.82631;
printf("%-4.2f,-6.2e\n",x,y); //改变格式%m.n中m,n的值,理解数据对齐、m,n的含义
} 输出结果:213.83 -6.2e
解释:-6.2e是普通字符而不是格式字符,所以原样输出,输出213.83是因为代码指定域宽只有两位小数
2./* e2.cpp */
#include<stdio.h>
void main()
{ char ch;
int k;
ch=’a’;k=10;
printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);
printf(“k=%%d\n”,k);
}
输出结果:97,61,141,ak=%d //用计
算器验证数据用不同数制显示的结果
解释:格式符%d是输出一个有符号的十进制数,所以a默认转换为他的ASCII码值97
输出,%x是以十六进制数形式输出整数,ch的值为a。便将a的ASCII码值转换为十六进
制数61输出,%o是以八进制数形式输出,同上输出141,%c是以字符形式输出所以输出a,
后面无换行符,紧接着输出下一条输出语句的结果,%%d不是格式符但%%是输出%的命令所
以输出%d
3./* e3.cpp */
#include<stdio.h>
void main()
{ float a1,a2;
double b1,b2;
a1=3141.59;a2=0.000001;
b1=3141.59;b2=0.000001;
printf(“%f,%lf\n”,a1+a2,b1+b2);
}
输出结果:3141.590089 3141.5900001
解释:
溢出
建议运行下面对比程序:
#include<stdio.h>
void main()
{ float a1,a2;
a1=3141.59; //赋值应为3141.590000,将3141.59赋给浮点变量a1时,赋值
前a1
//的物理空间部分不可预知的内容连同赋给浮点变量a1。
a2=0.000001;
printf("(f)a1+a2=%f,(lf)a1+a2=%lf\n",a1+a2,a1+a2);
printf("(f)a1=%f\n",a1);//,b1+b2);
printf("(lf)a2=%lf\n",a2);//,b1+b2);
}
4. /* e4.cpp */
#include<stdio.h>
printf("x=%f,y=%f\n",x,y);
void main()
{ float x=5/2,y=5.0/2; }
输出结果:2.000000 2.500000
解释:因为定义变量时x=5/2,而y=5.0/2
二、编写程序
1. 编程(c1.cpp)定义3个整型变量x,y,z和一个实型变量averge,计算并输出3
个整数的平均值averge,其中x=y=1,z=0。观察运行结果。再将x,y,z和averge改为实型变量,再观察运行结果。理解整除和不同类型数据进行混合运算的转化规律,对结果进行合理的解释。
源程序:
#include<stdio.h>
#include<math.h>
void main()
{ int x,y,z;
float averge;
x=y=1;
z=0;
averge=(float)(x+y+z)/3;
printf("averge=%f\n",averge);
}
输出结果:
解释:
%f只提供六位精确度,所以输出0.666667
2. 改写程序(c2.cpp),针对上一题要求,采用从键盘用scanf()函数输入x,y,z的值。
要求输出结果的形式为averge= 。
源程序:
#include<stdio.h>
#include<math.h>
void main()
{ int x,y,z;
float averge;
x=y=1;
z=0;
averge=(float)(x+y+z)/3;
printf("averge=%f\n",averge); scanf("%d,%d,%d",&x,&y,&z);
averge=(float)(x+y+z)/3;
printf("averge=%f\n",averge);
}
输出结果:
解释:上一行表示输入的x,y,z分别是1,1,1
下一行则是安%f格式符输出结果
3. 输入3个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,把b原来的
值给c,把c中原来的值给a。
源程序:
#include<stdio.h>
main()
{int a,b,c,t;
scanf("%d,%d,%d",&a,&b,&c );
t=b;
b=a;
a=c;
c=t;
printf("%d%d%d",a,b,c);
}
输出结果:
三、调试示例。
1. 求华氏温度100。F对应的摄氏温度。计算公式:C=(5/9)(F-32),其中C表示摄
氏温度,F表示华氏温度。
源程序(有错误)
#include<stdoi.h>
void main()
{ int celsius;fahr;
fahr=100;
celsius=5*(fahr-32)/9;
printf("fahr=d,celsius=%d\n",fahr,celsius);
}
1)输入源程序。
2
)实验一中用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。在工具栏或
菜单栏上单击鼠标右键,出现如图所示的整个工具箱,在“编译”或“编译微型条”项前打上“√”。
图中第1个按钮为“Compile”(编译,Ctrl+F7),第2个按钮为“Build”(构件,F7),第4个按钮为“Build Execute”(执行,Ctrl+F5)。
3)单击“编译”工具 …… 此处隐藏:1384字,全部文档内容请下载后查看。喜欢就下载吧 ……
下一篇:维护客户的祝福短信100条