c 语言ifelse语句例子,C if else 语句

本文详细介绍了C语言中的if...else语句,包括基本结构、语句块的概念、不同情况下的使用示例,如求两个数的最大值、判断字符类型等,以及if语句的嵌套和多个if...else语句的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在接触if else 语句之前, 我们的代码都是顺序执行的,从第一条语句,到第二条,第三条...从上往下一直到最后一条语句。

但是往往事情并不总那么顺利,经常会出现这样那样的情况。

比如我们经常看的恐怖片,会提示18岁以上观影。

#include

int main()

{

int age;

printf("请输入你的年龄:");

scanf("%d", &age);

if(age>=18){

printf("恭喜,你已经成年,可以观看!\n");

}else{

printf("抱歉,你还未成年,不宜观看!\n");

}

return 0;

}

可能的运行结果:

请输入你的年龄:23↙

恭喜,你已经成年,可以观看!

if else 的结构

if(表达式){

语句块1

}else{

语句块2

}

意思是:如果表达式的值为真,则执行语句块1,否则执行语句块2 。下面我们画图来描述其过程:

449d9fa40e99

1.gif

所谓语句块(Statement Block),就是由{ }包围的一个或多个语句的集合。如果语句块中只有一个语句,也可以省略{ },例如:

if(age>=18)

printf("恭喜,你已经成年,可以观看!\n");

else

printf("抱歉,你还未成年,不宜观看!\n");

if else 语句是根据不同的情况而执行不同的代码。也被叫为分支结构或者选择结构。

例子:用if else 来求两个整数的较大值

#include

int main()

{

int a, b, max;

printf("输入两个整数:");

scanf("%d %d", &a, &b);

if(a>b) max=a;

else max=b;

printf("%d和%d的较大值是:%d\n", a, b, max);

return 0;

}

运行结果:

输入两个整数:38 18↙

38和18的较大值是:38

if 语句

有时候我们只需要用到if。

if else 并不是必须同时出现的。

if 语句的结构:

if(表达式){

语句块

}

意思是:如果表达式的值为真,则执行其后的语句块,否则直接跳过。下面我们画图来描述其过程:

449d9fa40e99

2.gif

例子:只用if 语句来求两个数的较大值

#include

int main()

{

int a, b, max;

printf("输入两个整数:");

scanf("%d %d", &a, &b);

max=b; // 假设b最大

if(a>b) max=a; // 如果a>b,那么更改max的值

printf("%d和%d的较大值是:%d\n", a, b, max);

return 0;

}

运行结果:

输入两个整数:38 18↙

38和18的较大值是:38

本例子,输入两个整数 a, b。 先假设 b是较大的值,并且赋值给max, 再用if 语句 a > b 比较是否为“真”,如果是 则把 max 的值 换成 a的值。 最后输出结果。

多个if else 语句

当程序判断多种不同的情况,if else语句可以多个同时使用,构成多个分支。结构如下:

if(表达式1){

语句块1

} else if(表达式2){

语句块2

}else if(表达式3){

语句块3

}else if(表达式m){

语句块m

}else{

语句块n

}

意思是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。完成后则跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句块n。然后继续执行后续程序。多个 if else 语句的执行过程如下图所示:

449d9fa40e99

3.jpg

例子:判断输入字符是属于什么类型

#include

int main(){

char c;

printf("Input a character:");

c=getchar();

if(c<32)

printf("This is a control character\n");

else if(c>='0'&&c<='9')

printf("This is a digit\n");

else if(c>='A'&&c<='Z')

printf("This is a capital letter\n");

else if(c>='a'&&c<='z')

printf("This is a small letter\n");

else

printf("This is an other character\n");

return 0;

}

运行结果:

Input a character:f

This is a small letter

解释:

要求用户输入一个字符,然后输出字符的类别。

根据ASCII码来判断类型。

<32的是属于控制字符

0 ~ 9 之间为数字

A ~ Z 大写字母

a ~ z 小写字母

if语句的嵌套

if 语句内部也可以不断嵌套。

例子

#include

int main(){

int a,b;

printf("Input two numbers:");

scanf("%d %d",&a,&b);

if(a!=b){

if(a>b) printf("a>b\n");

else printf("a

}else{

printf("a=b\n");

}

return 0;

}

运行结果:

Input two numbers:12 68

a

注意注意:if 语句嵌套时,要注意 if 和 else 的配对问题。C语言规定,else 总是与它前面最近的 if 配对,例如:

if(a!=b) // ①

if(a>b) printf("a>b\n"); // ②

else printf("a

③和②配对,而不是和①配对。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值