如题所述
c语言提供了三种形式的if语句:
1、if(表达式)语句。
例如:if(x>y)printf("%d",x);
此时,如果表达式为真,则执行printf语句。
2、if(表达式)语句1 else 语句2
例如:
if(x>y)printf("%d",x);
else printf("%d",y);
此时,如果x>y成立为真,则执行语句printf("%d",x),然后直接跳过else,同时也跳过语句printf("%d",y),去执行之后的语句。
如果x>y不成立为假,则不执行语句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(x>y){printf("%d",x);break;}
扩展资料:
if语句使用的注意事项:
1.if(条件表达式)其后没有分号。
一般来说,有"{}"有没有";",有";"就没有"{}"
2.if语句所控制的语句如果是一条语句,我们可以不写大括号;
如果控制的是两条以上的语句,必须加大括号。
if语句的控制体没有加大括号是其后跟的一条语句。
建议:永远加上大括号。避免不必要的错误。
参考资料:百度百科-if语句
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-07-25
只输入一个字符,用getc更好一些。也好判断。比如你输入了2个字符,scanf("%c",&x);会导致系统崩溃。
#include
<stdio.h>
int
main
()
{
char
x;
while(x
=
getc(stdin))
{
if(x
>=
'a'
&&
x
<=
'z')
x
=
x
-
32;
else
if(x
>=
'A'
&&
x
<=
'Z')
x
=
x
+
32;
printf("%c",x);
}
return
0;
}
#include
<stdio.h>
int
main
()
{
char
x;
while(x
=
getc(stdin))
{
if(x
>=
'a'
&&
x
<=
'z')
x
=
x
-
32;
else
if(x
>=
'A'
&&
x
<=
'Z')
x
=
x
+
32;
printf("%c",x);
}
return
0;
}
第2个回答 2019-07-27
你可以这样子写,当输入的不是字母就提示错误就行了
#include
<stdio.h>
void
main
()
{
char
x;
scanf("%c",&x);
if(x>=`a`&&x<=`z`)
{
x=x-32;
printf("%c",x);
}
else
if(x>=`A`&&x<=`Z`)
{
x=x+32;
printf("%c",x);
}
else
printf("输入有错!");
}
#include
<stdio.h>
void
main
()
{
char
x;
scanf("%c",&x);
if(x>=`a`&&x<=`z`)
{
x=x-32;
printf("%c",x);
}
else
if(x>=`A`&&x<=`Z`)
{
x=x+32;
printf("%c",x);
}
else
printf("输入有错!");
}