本文主要介绍了C语言中的if else,这里详细介绍了if else语句并提供了简单的示例代码,希望对编程初学者有所帮助。
我们前面看到的代码是顺序执行的,也就是先执行第一条语句,然后是第二条、第三条语句……一直到最后一条语句。
但是在很多情况下,序列结构的代码是远远不够的。比如一个程序只有成年人才能使用,孩子因为年龄不够没有权利使用。这时程序需要做出判断,看用户是否成年,并给出提示。
if-else语句
在C语言中,if和else关键字用于判断。请先看看下面的代码:
#包含stdio.h
int main()
{
int age
Printf('请输入您的年龄:');
scanf('%d ',年龄);
如果(年龄=18岁){
printf(‘恭喜你,你已经成年了,可以使用软件了!\ n’);
}否则{
printf(‘对不起,你未成年,所以你不应该使用这个软件!\ n’);
}
返回0;
}
可能的运行结果:
请输入您的年龄:23
恭喜你,你已经成年了,可以使用软件了!
if else 语句的结构为:
If(表达式){
语句块1
}否则{
语句块2
}
如果表达式的值为true,则执行语句块1;否则,执行语句块2。其执行过程可以表示为下图:
语句块是用{}括起来的一个或多个语句的集合。如果语句块中只有一条语句,也可以省略{},例如:
If(age=18) printf('恭喜你,你已经成年,可以使用软件了!\ n’);
else printf(‘对不起,你是未成年人,所以不应该用这个软件!\ n’);
因为如果else语句可以根据不同的情况执行不同的代码,也叫分支结构或者选择结构。在上面的代码中,有两个分支。
找出两个数字中较大的一个:
#包含stdio.h
int main()
{
int a,b,max
Printf('输入两个整数:');
scanf('%d %d ',a,b);
如果(ab)max=a;
else max=b;
printf(' %d '和% d '中较大的值是:%d\n ',a,b,max);
返回0;
}
运行结果:
输入两个整数:34 28
34和28的较大值是:34
在这个例子中,借助于变量max,用max保存一个更大的值,最后输出max。
如果语句
我们可以只用if语句。也就是如果else不一定要同时出现。if语句的基本形式是:
If(表达式){
语句块
}
含义:如果表达式的值为true,将执行下面的语句块;否则直接跳过。该过程可以表示为下图:
仅使用if语句来查找两个数中较大的一个:
#包含stdio.h
int main()
{
int a,b,max
Printf('输入两个整数:');
scanf('%d %d ',a,b);
max=b;//假设B是最大的
如果(ab)max=a;//如果ab,那么改变max的值
printf(' %d '和% d '中较大的值是:%d\n ',a,b,max);
返回0;
}
运行结果:
输入两个整数:34 28
34和28的较大值是:34
在这个示例程序中,输入两个数字A和b,先给b变量max,然后用if语句判断max和b的大小,如果max小于b,就把b给max。所以max里面总是有一个很大的数,最后输出max的值。
多个if else语句
If else语句也可以同时使用,以下列形式形成多个分支:
If(表达式1){
语句块1
} else if(表达式2){
语句块2
}else if(表达式3){
语句块3
}else if(表达式m){
语句块m
}否则{
语句块n
}
含义:依次判断表达式的值,当某个值为真时,执行其对应的语句。然后跳转到整个if语句之外,继续执行程序。如果所有表达式都为假,则执行语句块n,然后继续后续过程。多个if else语句的执行过程如下图所示:
例如,确定输入字符的类型:
#包含stdio.h
int main(){
char c;
printf('输入一个字符:');
c=getchar();
中频(c32)
printf('这是一个控制字符\ n ');
else if(c='0'c='9 ')
printf('这是一个数字\ n ');
else if(c='A'c='Z ')
printf('这是大写字母\ n ');
else if(c='a'c='z ')
printf('这是小写字母\ n ');
其他
printf('这是另一个字符\ n ');
返回0;
}
运行结果:
输入字符:e
这是一封小信
这个例子需要区分键盘输入字符的类型。可以根据输入字符的ASCII码来判断类型。根据ASCII代码表,小于32的ASCII值是控制字符。“0”和“9”之间的数字为数字,“A”和“Z”之间的大写字母为小写字母,其余为其他字符。这是一个多分支选择问题。用几个if else语句编程,判断输入字符的ASCII码范围,分别给出不同的输出。比如输入是“e”,输出显示是小写。
使用if语句时,还应注意以下问题:
1)在if语句的三种形式中,所有表达式都跟在if关键字后面。该表达式通常是逻辑表达式或关系表达式,但也可以是其他表达式,如赋值表达式,甚至是变量。例如:
If(a=5)语句;
If(b)语句;
都可以。只要表达式的值不为0,就是“真”。例如:
if(a=5)…;
中表达式的值始终为非0,因此必须始终执行后续语句。当然,程序中可能不会出现这种情况,但在句法上是合法的。
作为另一个例子,有程序段:
如果(a=b)
printf('%d ',a);
其他
printf(' a=0 ');
这个语句的语义是将B的值赋给A,如果不为0,则输出该值,否则输出字符串“a=0”。这种用法经常出现在程序中。
2)在if语句中,条件判断表达式必须用括号括起来。
3)语句块用{}括起来,但需要注意的是,}后面不要加多余的标记;例如:
如果(ab){
a;
b;
}否则{
a=0;
b=10
}
if语句的嵌套
If语句也可以嵌套,例如:
#包含stdio.h
int main(){
int a,b;
printf('输入两个数字:');
scanf('%d %d ',a,b);
如果(a!=b){
if(ab)printf(' ab \ n ');
else printf(' ab \ n ');
}否则{
printf(' a=b \ n ');
}
返回0;
}
运行结果:
输入两个数字:12 68
腹肌
嵌套if语句时,注意if和else的配对。c语言规定else总是和前面最近的if成对出现,比如:
如果(a!=b) //
if(ab)printf(' ab \ n ');//
else printf(' ab \ n ');//
用而不是来搭配。
以上是对C语言if else知识的详细讲解,希望对学习C语言的朋友有所帮助。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。