我们已经放了基本的运算符和表达式,今天主要根据几个错误的程序来巩固相关知识。
让我们先看看第一段代码:
#包括
int main
{
双x;
int I;
x = 3.6
I = x;
printf
返回0;
}
这是一个类型转换程序。没有编译器的警告我们能做什么?
我们都知道转换有两种,一种是自动类型转换,一种是强制转换。然后,自动转换有时会给出警告。我们如何消除这种警告?我们需要进行强制转换。强制转换的类型通常有:
我们需要把双精度变量加到整数变量上,所以我们程序修正后的代码如下:
#include
Int main
{
双x;
int I;
x = 3.6
I = x;
printf
返回0;
}
接下来我们来看第二个节目:
#包括
int main
{
int I;
I = 5;
printf
返回0;
}
这是一个自我递减的程序。这段代码没有错误,但是它的输出值是4。如何利用自减特性使其输出为5?
自加和自减有两种书写格式:
++a、a++、a、a——
那么它们不仅书写格式不同,而且得到的数值也不同。先计算前面的符号再计算数值,后面的符号先输出。因此,如果我们希望I输出为5,我们应该添加符号作为后缀,输出语句应该为:
#include
Int
{
int I;
I = 5;
printf
返回0;
}
这是增加和减少的相关知识。让我们对这部分优先权有另一种认识:
#包括
int main
{
char Cchar = ' A
int i=2,j = 8;
float Ffloat = 1.2f
双y;
y = Cchar-I * ff loat/j;
printf
返回0;
}
这个程序的最终输出值是y=64.700000,但是我们想通过改变优先级,让这个程序输出y=9.450000,那么我们怎么操作呢?
我们先来看Y的值,当Y = Cchar-I * ff loat/j;根据优先级,我们知道此时应该要执行I * ffload/j的操作,从左到右。因为“*”和“/”的优先级比“-”高,所以程序会先执行这部分操作,所以我们需要的值应该是让它先执行“-”,所以要在这部分加上“”,这样优先级就会提高。
所以我们应该这样写这个程序:
#include
Int main
{
char Cchar = ' A
int i=2,j = 8;
float Ffloat = 1.2f
双y;
y = * Ffloat/j;
printf
返回0;
}
复习完以上运算符和表达式的知识,我在下图附上运算符的优先级和组合的总结。希望喜欢我的人能关注我。
免责声明:本平台仅供信息发布交流之途,请谨慎判断信息真伪。如遇虚假诈骗信息,请立即举报
举报