实验四 数据类型、运算符和表达式(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四数据类型、运算符和表达式(一)
[实验目的]
1、掌握数据类型、常量、变量的定义与使用。
2、掌握常用运算符、表达式的使用
[实验内容]
1. 数据类型的混合运算
#include
int main(void)
{
char a = 'x';
int b = 3,f = 2;
float c = 2.5678;
double d = 5.2345
long e = 32L;
float x;
printf(“x = %f”,a - b + d / c - e * f);
}
分析一下这段程序:
(1)进行d / c运算时,要将c转换成double型,运算的中间结果为double型(2)进行e * f运算时,将f转换为long型,运算的中间结果为long型;(3)进行a - b运算时,将a转换为int型(数值为ASCⅡ码值120),运算的中间结果为int型;
(4)当(3)的中间结果与(1)的中间结果运算时,将(3)的中间结果转换为double型,运算的中间结果为double型;
(5)当(4)的中间结果与(2)的中间结果运算时,将(2)的中间结果转换为double型,得出最后结果。
于是,程序最后的运行结果为: 55.038515
2. 有以下程序
#include
int main(void)
{
char c1, c2;
c1=’A’+’8’-‘4’;
c2=’A’+’8’-‘5’;
printf (“%c, %d\n”, c1, c2);
}
已知字母A的ASCII码为65,程序运行后的输出结果是什么?E,68 3. “? :”条件运算符使用实例:求出一个数的绝对值。
在程序中,需要对输入的值进行判断,如果大于等于0,则输出原来的变量。如果小于0,则输入这个数的相反数。
程序的代码如下所示。
#include
int main(void)
{
float x,y; //定义变量
printf("please input a number:\n"); //输出提示信息
scanf("%f", &x); //从键盘读取一个数
y=x>=0? x:(-x); //用?操作符判断和赋值
printf("number: %f \n value: %f\n",x,y);//输出原来变量和绝对值
}
[编写程序]
(1)、程序完成的功能是:从键盘输入若干个学生的成绩并输出最高成绩和最低成绩,当输入负数时结束输入。
(2)、用40元钱买苹果、西瓜和梨功100个,且三种水果都有。已知苹果0.4元一个,西瓜4元一个,梨0.2元一个。问可以买多少个?请编写程序输出所有购买方案。
(3)、一个数如果恰好等于它的因子之和,则这个数称为“完数”。如6的因
子是1、2、3,而6=1+2+3。因此6是一个完数。编写程序找出1000之内的所有完数。
(4)、打印出所有的“水仙花数”。所谓“水仙花数”是指一个3位数,其各
位数字的立方和等于该数本身。如333351153++=,所以153是水仙花数。
[实验小结]
通过练习,深刻理解和掌握各种运算符的混合运算,以及“?:”条件运算符的使用,学会根据运算符的优先级和结合方向计算一个表达式的值。