编程计算表达式

核心提示我们已经把基础的运算符和表达式,今天我们主要就是根据几个错误的程序来巩固相关的知识。我们先来看第一个代码:#include int main{double x;int i;x=3.6;i=x;printf;return 0;}这是一个类型转

我们已经放了基本的运算符和表达式,今天主要根据几个错误的程序来巩固相关知识。

让我们先看看第一段代码:

#包括

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;

}

复习完以上运算符和表达式的知识,我在下图附上运算符的优先级和组合的总结。希望喜欢我的人能关注我。

 
友情链接
鄂ICP备19019357号-22