实验2(2)参考程序
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 数据类型和表达式计算(2)
参考程序
【实验内容】
1.编程计算下面数学表达式的值
(1) (2)c× (3)lnln(103.5+2)
参考程序:
(1)
#include <stdio.h>
main()
{
int a,b,c,d,e;
a=24,b=4,c=1200,d=5;
e=c/(a-b*d);
printf("%d\n",e);
y+a%5*(int)(x+y)/2%4=6.500000
参考程序:
#include <stdio.h>
void main()
{
int a;
float x,y;
x=2.7,a=8,y=4.5;
printf("%f\n",y+a%5*(int)(x+y)/2%4);
}
4.输入并运行下面程序,对照程序分析运行结果:
(1)将一个大于32767的长整型数赋给整型变量,会得到什么结果。
(2)将一个负整数赋给一个无符号的变量,会得到什么结果。
(3)将一个字符型变量赋给一个整型变量,会得到什么结果。
程序如下:
#include <stdio.h>
main()
{ int a,b;
long d,e;
unsigned f,g;
}
(2)
#include <stdio.h>
#include <math.h>
void main()
{
int a,b,c;
double d;
a=6,b=8,c=5;
d=c*sqrt(pow(a,2)+pow(b,2));
printf("%f\n",d);
}
(3)
#include <stdio.h>
#include <math.h>
(3)
#include <stdio.h>
void main()
{printf(“%d\n”,10/(5*3));}
(4)
#include <stdio.h>
void main()
{printf(“%f\n”,2*10.0/(5*3));}
3.设:x=2.7,a=8,y=4.5,编程计算下面表达式的值:
(5) ++a-c+b++=9
(6) ++a-c+++b=10
a=d;ຫໍສະໝຸດ Baidu
b=e;
printf("%d,%d\n",a,b);
}
5.写出下面表达式的值(设a=10,b=4,c=5,d=1,x=2.5,y=3.5)
(1) a%=(b%=3)=0
(2) a+=a-=a*=a=0
(3) (float)(a+c)/2+(int)x%(int)y=9.500000
(4) a*=b+c=90
char c;
a=100;
b=-100;
c='a';
d=50000;
e=32767;
printf("%d,%d\n",a,b);
printf("%ld,%ld\n",d,e);
printf("%c,%d\n",c,c);
f=a;
g=b;
printf("%u,%u\n",f,g);
a=c;
printf("%d,%d\n",a,c);
void main()
{
int a,b,c;
double d;
a=10,b=35,c=2;
d=log(log(pow(a,b)+c));
printf("%f\n",d);
}
2.下面表达式计算中,哪些地方会发生类型转换?各个转换从什么类型转换到什么类型?表达式计算的结果是什么?试编程进行验证。
(1) 2.5+2*7%2/4=2.50000(2) 4*(2L+6.5)-12=22.0000000
(3) 10/(5*3)=0(4) 2*10.0/(5*3)=1.333333
(1)
#include <stdio.h>
void main()
{printf(“%f\n”,2.5+2*7%2/4);}
(2)
#include <stdio.h>
void main()
{long a=2;
printf(“%f\n”,4*(a+6.5)-12);}
参考程序
【实验内容】
1.编程计算下面数学表达式的值
(1) (2)c× (3)lnln(103.5+2)
参考程序:
(1)
#include <stdio.h>
main()
{
int a,b,c,d,e;
a=24,b=4,c=1200,d=5;
e=c/(a-b*d);
printf("%d\n",e);
y+a%5*(int)(x+y)/2%4=6.500000
参考程序:
#include <stdio.h>
void main()
{
int a;
float x,y;
x=2.7,a=8,y=4.5;
printf("%f\n",y+a%5*(int)(x+y)/2%4);
}
4.输入并运行下面程序,对照程序分析运行结果:
(1)将一个大于32767的长整型数赋给整型变量,会得到什么结果。
(2)将一个负整数赋给一个无符号的变量,会得到什么结果。
(3)将一个字符型变量赋给一个整型变量,会得到什么结果。
程序如下:
#include <stdio.h>
main()
{ int a,b;
long d,e;
unsigned f,g;
}
(2)
#include <stdio.h>
#include <math.h>
void main()
{
int a,b,c;
double d;
a=6,b=8,c=5;
d=c*sqrt(pow(a,2)+pow(b,2));
printf("%f\n",d);
}
(3)
#include <stdio.h>
#include <math.h>
(3)
#include <stdio.h>
void main()
{printf(“%d\n”,10/(5*3));}
(4)
#include <stdio.h>
void main()
{printf(“%f\n”,2*10.0/(5*3));}
3.设:x=2.7,a=8,y=4.5,编程计算下面表达式的值:
(5) ++a-c+b++=9
(6) ++a-c+++b=10
a=d;ຫໍສະໝຸດ Baidu
b=e;
printf("%d,%d\n",a,b);
}
5.写出下面表达式的值(设a=10,b=4,c=5,d=1,x=2.5,y=3.5)
(1) a%=(b%=3)=0
(2) a+=a-=a*=a=0
(3) (float)(a+c)/2+(int)x%(int)y=9.500000
(4) a*=b+c=90
char c;
a=100;
b=-100;
c='a';
d=50000;
e=32767;
printf("%d,%d\n",a,b);
printf("%ld,%ld\n",d,e);
printf("%c,%d\n",c,c);
f=a;
g=b;
printf("%u,%u\n",f,g);
a=c;
printf("%d,%d\n",a,c);
void main()
{
int a,b,c;
double d;
a=10,b=35,c=2;
d=log(log(pow(a,b)+c));
printf("%f\n",d);
}
2.下面表达式计算中,哪些地方会发生类型转换?各个转换从什么类型转换到什么类型?表达式计算的结果是什么?试编程进行验证。
(1) 2.5+2*7%2/4=2.50000(2) 4*(2L+6.5)-12=22.0000000
(3) 10/(5*3)=0(4) 2*10.0/(5*3)=1.333333
(1)
#include <stdio.h>
void main()
{printf(“%f\n”,2.5+2*7%2/4);}
(2)
#include <stdio.h>
void main()
{long a=2;
printf(“%f\n”,4*(a+6.5)-12);}