if语句的基本结构
if是分支结构语句,它可以根据条件的不同,执行、或者不执行某个语句(块)。
对于执行分支只有一行的情况,if语句的基本组成是:
if(条件表达式) 条件成立将要执行的语句;
#include <stdio.h> int main(int argc, char* argv[]) { int nValue = 0; scanf("%d", &nValue); if (nValue > 100) printf("你输入了一个大于100的数字\r\n"); return 0; }
对于执行分支有多行,则需要使用花括号括起,表示是语句块:
if(条件表达式) { 条件成立时要执行的语句块; }
#include <stdio.h> int main(int argc, char* argv[]) { int nValue = 0; scanf("%d", &nValue); if (nValue > 100) { printf("你输入了一个大于100的数字\r\n"); printf("这是我条件成立时的第二个语句\r\n"); } return 0; }
if...else语句
当if表达式为真时,会执行紧接着的语句(块),如果使用else语句,则当if条件为假时,会执行else之后的语句(块)
#include <stdio.h> int main(int argc, char* argv[]) { int nValue = 0; scanf("%d", &nValue); if (nValue > 100) { printf("你输入了一个大于100的数字\r\n"); printf("这是我条件成立时的第二个语句\r\n"); } else { printf("你输入了一个不大于100的数字\r\n"); } return 0; }
else if语句
可以使用else if语句,实现多重判断
#include <stdio.h> int main(int argc, char* argv[]) { int nValue = 0; scanf("%d", &nValue); if (nValue > 100) { printf("你输入了一个大于100的数字\r\n"); printf("这是我条件成立时的第二个语句\r\n"); } else if (nValue > 50) { printf("你输入了一个不大于100的数字\r\n"); printf("但是你输入的数字大于50\r\n"); } else { printf("你输入的数字不大于50\r\n"); } return 0; }
要注意else 与if的配套原则:else总是与上方最近的一个未配对的if配对。
实例
(如上)
if语句的嵌套
if语句是可以嵌套的,比如,要解决:判断一个数字既能被3整除,又能被7整除。
#include <stdio.h> int main(int argc, char* argv[]) { int nValue = 0; scanf("%d", &nValue); if (nValue % 3 == 0) { if (nValue % 7 == 0) { printf("这个数字既可以被3整除,又可以被7整除\r\n"); } else { printf("这个数字可以被3整除,不可以被7整除\r\n"); } } else { printf("这个数字不会被3整除\r\n"); } return 0; }