SXJ
1.在DEV CPP平台输出“Hello World!”语句
2在DEV CPP 平台上新建一个项目,仿照截图,输入程序代码,观察其输出。(已修改)
3计算每种数据类型所占的空间(已改正错误)![](https://i-blog.csdnimg.cn/blog_migrate/8bd5ffb7b75dde75564e0782475539c4.png)
4课本温度(已修改,原来后边的字也要打上去,终于出来了)
5课本三角型周长代码(已修正)
6溢出问题(已修改)
题目:short short_value = 32767; // short占2个字节,最大值32767;
short_value += 1;
printf(“%d”, short_value);
解:度娘说,在C语言中,整型数据采用补码表示。整型数据能够表示的整数是有限的,当运算结果超出了系统能够表示的整数范围,则运算会得到错误的结果,这种错误现象称为溢出。
32767=0111 1111 1111 1111
32767+1=0111 1111 1111 1111
+0000 0000 0000 0001
=10000 0000 0000 0000
其原码为0000 0000 0000 0000,度娘说为区别认为定义其为-32678即最小
7求值
1)-30*3+21/6
=-90+3
=-87
2)-30+3*21/6
=-30+63/6
=-30+10
=-20
3)30/3*21%6
=10*21%6
=210%6
=0
4)-30/3*21%4
=-10*21%4
=-210%4
=-2
8假设i、j、k都是整数,说明表达式i!=j<k的含义(已改正)
如下:翻书后得知“<”的优先级大于“!=”
因此
计算步骤如下:
a判断 j < k 为 Ture( j 小于 k ) 还是 False( j 不小于 k ),转化成整数值为 1 或 0。
b判断 i 是否不等于 1 或 0;Ture (不等于)为1, False(等于)为0。
c输出的结果为 1 或 0 。
9赋值完毕,i d 的值分别是多少
int i; double d;
(a)d=i=3.5
(b)i=d=3.5
解:(a)先赋值i=3,因为i为整形;因为d是双精度实型,所以d=3.0
(b)同上,先赋值d=3.5,在赋值i=3
10假设如下有定义(已修改)
char cval;
int ival;
unsigned int ui;
float fval;
double dval;
请回答下列表达式是否又发生类型转换。请将有发生的情况指出来。
(a) cval = ‘a’ + 3;
(b) fval = ui – ival * 1.0;
(c) dval = ui * fval;
(d) cval = ival + fval + dval;
a)
① ‘a’ 转换为 int
② ‘a’ 与 3 相加,结果转换为 char
b)
① ival 转换为 double 与 1.0 相乘
② ui 转换为 double
③ 计算结果转换为 float
c)
① ui 转换为 float 与 fval 相乘
② 结果转换为 double
d)
① ival 转换为 float
② 与fval相加后的结果转换为 double
③ 最后的结果转换为char