时间:2022-11-09 09:13:33 | 栏目:C代码 | 点击:次
格式:
if ( 条件 )
{
if( 嵌入一个条件 )
{
else {就近原则,对应上面的if}
}else{ 对应最开始那个if }
}
代码:
#include <stdio.h> int main (void) { int score; // 定义一个分数变量 printf("请输入您的分数:"); scanf("%d",&score); // 键盘输入数值 if (score >700) // if条件判断 >700读清北 <700读蓝翔 { printf("我要上清北!!\n"); if (score > 730) // if里面在嵌入一个条件 >730 可以读挖掘机和清北 { printf("我要学挖掘机!!!\n"); } else if (score >720) //继续嵌入条件 720- 730 这个区间 { printf("我要学厨师!!!!\n"); } else //对应上面 else if 700-720 这个区间 { printf("我要学计算机~~~~\n"); } } else //<700读蓝翔 { printf("我要上蓝翔!!!!!\n"); } return 0; }
解释:
1、if嵌套格式如上,其中注意else 是和同级别的尚未使用的if使用(就近原则);
2、if嵌套可以相当于一个区间之间的判断,当条件符合这个区间就执行这个区间内容。
3、else if ()
,相当于else 执行上面那个if ,if对应下一个条件。
结果:
①第一种方法if语句判断
代码:
#include <stdio.h> int main (void) { int a,b; printf("请输入您需要的a和b的数值:"); scanf("%d%d",&a,&b); if (a>b) { printf("最大值为:%d\n",a); } else { printf("最大值为:%d\n",b); } return 0; }
解释:
1、开始定义 a b两个变量;
2、键盘输入a b 的值;
3、引入一个条件判断if(a>b)
;
4、如果a>b则条件为真最大值为a,否则最大值是b;
结果:
②第二种方法三目运算
在之前的运算等级那篇文章里面有一个运算优先级表格,里面有关于运算的优先级表达式。
代码:
#include <stdio.h> int main (void) { int a,b; printf("请输入您需要的a和b的数值:"); scanf("%d%d",&a,&b); /* if (a>b) { printf("最大值为:%d\n",a); } else { printf("最大值为:%d\n",b); } */ /* */ //这个是块注释,可以方便注释整块代码 printf("最大值为:%d\n",a>b?a:b); return 0; }
解释:
1、/* */
这个是注释块,不用的那一段代码可以直接注释,非常方便。
2、三目运算 表达式?值1:值2
,这个比较两个数字的大小非常的实用。
结果:
1、if 语句可以判断区间性问题,执行效率比较低。
2、switch 语句执行效率比较块,但是不可以进行区间判断。
3、三目运算 , 结构清晰 , 不适于嵌套。