重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
10年积累的成都网站建设、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有泰顺免费网站建设让你可以放心的选择与我们合作。
int main()
{
int x;char y;
loop:{
scanf("%d",x);
if(x=90)y='a';
else
if(80=xx=89)y='b';//要用并且记号连接两个同时满足的条件
else
if (70=xx=79)y='c';
else
if(60=xx=69)y='d';
else y='e';
printf("%c\n",y);
goto loop;}
return 0;
}
有问题继续追问
如果a=5 b=4 c=3,因为ab 固执行第一个if语句 执行后a=4 b=5 c=3 t=5,进入第二个if语句判断a=4c=3故执行第二个if语句,执行后a=3 b=5 c=4 t=4 ,进入第三个if语句判断b=5c=4,故执行第三个if语句,所以当输入为5,4,3时 执行了三个if语句!
if后不加分号
#includestdio.h
int main()
{
int a;
int b;
printf("请输入a:");
scanf("%d",a);
printf("请输b:");
scanf("%d",b);
if(ab)
{
printf("a is bigger.\n");
}
if(a==b)
{
printf("a is equal to b.\n");
}
if(ab)
{
printf("bisbiggerthana.\n");
}
return 0;
}
#includestdio.h
int main()
{
int a;
int b;
printf("请输入a:");
scanf("%d",a);
printf("请输b:");
scanf("%d",b);
if(ab)
{
printf("a is bigger.\n");
}
if(a==b)
{
printf("a is equal to b.\n");
}
if(ab)
{
printf("b is bigger than a.\n");
}
return 0;
}
c语言提供了三种形式的if语句:
1、if(表达式)语句。
例如:if(xy)printf("%d",x);
此时,如果表达式为真,则执行printf语句。
2、if(表达式)语句1 else 语句2
例如:
if(xy)printf("%d",x);
else printf("%d",y);
此时,如果xy成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。
如果xy不成立为假,则不执行语句printf("%d",x),执行语句printf("%d",x)。
3、if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
else if(表达式m)语句m
else 语句 n
此时,哪个表达式为真,则运行哪个if后面的语句。如表达式3成立为真,执行语句3。
在每个语句中,可以有多个语句,但需要加上大括号
例:if(xy){printf("%d",x);break;}
IF函数的参数:
(1)Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。
例如,A10=100 就是一个逻辑表达式,如果单元格 A10 中的值等于 100,表达式即为 TRUE,否则为 FALSE。本参数可使用任何比较运算符(=(等于)、(大于)、=(大于等于)、=(小于等于等运算符))。
(2)Value_if_true表示 logical_test 为 TRUE 时返回的值。
例如,如果本参数为文本字符串“预算内”而且
logical_test 参数值为 TRUE,则 IF 函数将显示文本“预算内”。如果 logical_test 为 TRUE 而
value_if_true 为空,则本参数返回 0。
(3)Value_if_false表示 logical_test 为 FALSE 时返回的值。
例如,如果本参数为文本字符串“超出预算”而且
logical_test 参数值为 FALSE,则 IF 函数将显示文本“超出预算”。如果 logical_test 为 FALSE 且忽略了
value_if_false(即 value_if_true 后没有逗号)。
int main(void)
{
int a=2,b=-1,c=2;
if (ab) //第1个if
if (b0) //第2个if
c = 0;
else
c++;
printf("%d\n",c); //输出结果为: 2
return 0;
}
/**分析如下:
你的理解是不对的,你可能还没有弄明白else与if的匹配规则:else总是与其最近的没有被else匹配的if相匹配,有点绕,以你的程序为例分析:
else的上面有两个if,与其最近的是第2个if,这个if还没有else与其匹配,那么else就与该if匹配,如果我们把上面的语句修改如下:
if (ab) //第1个if
if (b0) //第2个if
c = 0;
else c=1; //这里增加了一个else语句
else
c++;
如果改成了上面这样的话,由于第2个if已经有else与其匹配了,那里else c++;这条语句就是与第1个if匹配了。
*/
希望对你理解if...else语句有所帮助吧。
if函数,说的是假如,然后:
分两种:if……printf;if……else
第一种:if……printf,假如一种情况,直接输出结果。
if……else,是假如一种情况,不发生这种情况该怎样运行:
if()
语句1
else
语句2 这样是单个语句,既if和else各控制一个语句
再有一句是复合语句
if()
语句1
else
{
语句2
语句3
}
这样就是复合的,else里面包括2个语句,else 只包括语句1 语句2是独立的,因为它没有大括号{ }括起来,