今天的心得并不多,但是我还是觉得很有必要记录一下。

一、一个数的n次方是属于double型的

二、使用if……else if……else语句作逻辑判断

#include<stdio.h>
int main()
{
int a,b,max;
scanf("%d%d",&a,&b);
if(a>b)
{
max=a;
printf("%d",max);
}
else if(b>a)
{
max=b;
printf("%d",max);
}
else
{
printf("两个数字相等");
}
return 0;
}

  上面的代码目的是比较两个整数的大小,首先输入两个整数值,从上面的if(a>b)就开始了if判断。其中这段代码:

if(a>b)
{
max=a;
printf("%d",max);
}

  这是先判断a与b哪一个大,当a大于b的时候,max这个变量名的数值就会等于a的数值,然后就会把a的值作为最大值输出。这里说明一下,max是在上面就定义的一个变量名,顾名思义是用来存储最大值的。

  让我们看看下一段代码:

else if(b>a)
{
max=b;
printf("%d",max);
}

  在这段代码中,lese if是指当if("这里是表达式")也就是if之后的括号里的条件不成立的时候,此时计算机会进行下一步的判断,会判断else if之后的括号里的条件是否成立。在上面的代码中,当a小于b时,接下来计算机就会做出如上判断。当b>a时,b的数值会被赋予max,然后就会把b的值作为最大值输出。

else
{
printf("两个数字相等");
}

  上面的这段代码是当if以及else if两次判断都无法判断出结果,只剩下唯一的可能性时,所做出的最后判断。众所周知,两个数字比较大小一共有三种情况:

  a>b
  a<b
  a=b

  同样的,我们先看一下示例代码:在示例代码中,if和else if两个语句分别将a>b和b>a两种情况都讨论完了,只剩下a=b的条件尚未讨论,此时else语句后面就不用加此判定条件。因为计算机会默认认为else的判断条件就是剩下的最后的一个可能性。

  所以最后一段代码的意思是,当a=b时,将直接输出printf函数中的“两个数字相等”。

三、if判断语句中“=”的使用

  同样的,我们先看一下示例代码:

#include<stdio.h>
int main()
{
int N;
scanf("%d",&N);
if(N>0)
{
printf("positive");
}
else if(N==0)
{
printf("zero");
}
else
{
printf("negative");
}
return 0;
}

  上面的这段代码目的是判断“N”这个数字的正负性。细心的同学会看见在这段代码中有这样一个现象:

else if(N==0)
{
printf("zero");
}

  在上面的这段代码中,你会发现在else if(N==0)里面,“N”的后面有两个等于号。这里强调一下,在if语句作等于判断的时候,需要在括号里填上两个等于号。这段语句所要判断的是“N”会不会等于“0”,如果等于,则输出printf函数里的“zero”。具体为什么要加两个“=”呢?可以理解为把“=”的赋值功能与之区别。如果将“N”后面的“=”缩减为一个,那么计算机则会认为你将N赋值为0,即N=0。

  今天就写到这儿,明天再说吧!