贵州做网站公司
贵州做网站公司~专业!靠谱!
10年网站模板开发经验,熟悉国内外开源网站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等网站程序,可为您提供网站建设,网站克隆,仿站,网页设计,网站制作,网站推广优化等服务。我们专注高端营销型网站,企业官网,集团官网,自适应网站,手机网站,网络营销,网站优化,网站服务器环境搭建以及托管运维等。为客户提供一站式网站解决方案!!!

else if语句怎么用(C语言的if else语句怎么使用)

来源:网络转载 时间:2024-05-02 10:48:01

1、前言

(1)C语言是结构化的程序设计语言。C语言的三种基本程序结构分别是:

  • 顺序结构:按照程序顺序执行

  • 选择结构:根据判断结果选择分支方向

  • 循环结构:指有一个循环体,可以根据判断条件决定循环多少次

(2)分支语句(选择语句)和循环语句

(3)什么是语句?

C语言中由一个分号(;)隔开的就是一条语句。

2、if语句的语法结构

大致分为三种:

<blockquote>

if(表达式)
语句;

if(表达式)
语句1;
else
语句2;

//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;

3、关于if else语句的示例

示例一:了解if else结构

#include<stdio.h>intmain(){intage=10;if(age>=18)printf("成年\n");return0;}

运行该程序,将不会有打印结果;如果在此基础上加上

elseprintf("未成年\n");

则运行结果为:

未成年

示例二:if或else默认只执行它下面的一句

将示例一中的年龄10改为20,再在else的语句下加上一句,查看运行结果。

#include<stdio.h>intmain(){intage=20;if(age>=18)printf("成年\n");elseprintf("未成年\n");printf("不能去网吧\n");return0;}

运行结果:

成年

不能去网吧

显然这个结果是不合理的,我们想要的是如果是“未成年”,才要打印“不能去网吧”,但是输入的年龄是20,显示“成年”就可以了,它还是显示了“不能去网吧”。这就证明if/else默认的是只执行它下面的一条语句。在我敲这段代码的时候,实际上这个编译器它已经很智能了,能体现出if/else默认的是只执行它下面的一条语句这个性质的一个表现就是:else下的第二条语句它是自动和else对齐的,为了查看程序是否能只打印“成年”,本次代码特地手动给else下的第二条printf语句之前敲了tab键。

那么怎样才能让程序实现我们想要的功能呢?

将else里面要执行的两条语句给它用大括号括起来,一个“{}”就是一个代码块,就是一个逻辑。

{
语句列表;
}

代码修正如下:

#include<stdio.h>intmain(){intage=20;if(age>=18){printf("成年\n");}else{printf("未成年\n");printf("不能去网吧\n");}return0;}

示例三:if else的多分支情况

错误示例:

intmain(){intage=60;if(age<18)printf("少年\n");elseif(18<=age<26)printf("青年\n");return0;}

运行该程序以后,会打印“青年”。为什么会出现这样的结果呢?

因此虽然60并不在18到26之间,也会打印“青年”。

正确写法:

intmain(){intage=60;if(age<18)printf("少年\n");elseif(age>=18&&age<26)printf("青年\n");elseif(age>=26&&age<40)printf("壮年\n");elseif(age>=40&&age<60)printf("中老年\n");elseprintf("老年\n");return0;}

运行结果为:老年

示例四:悬空else

intmain(){inta=0;intb=2;if(a==1)if(b==2)printf("hi\n");elseprintf("hello\n");return0;}

运行该代码之后,打印窗口无结果。为什么呢?

来看一下如果我不手动删除tab间隔,编译器是怎么识别这段代码的。(我再给它加上{}使得程序的可读性更高一些)

intmain(){inta=0;intb=2;if(a==1){if(b==2){printf("hi\n");}else{printf("hello\n");}}return0;}

可以看到,else与离他最近的那个if匹配了,因为a的值是0,所以就不会进入第一个if,自然也就不会有打印结果了。所以说代码的分隔很重要,加上{}将代码分隔开可以使得程序的可读性提高。

4、if else 书写形式的对比

代码一以及代码二实际上实现的功能是一样的。下面利用一段代码来解释一下为什么说代码一和代码二实际上是一样的。

inttest(){if(1)return0;printf("haha\n");return1;}intmain(){test();return0;}

运行该程序的时候,发现什么都不会打印。摁下fn+f10调试代码,可以看到执行完test中的return 0就直接跳过了printf(“haha\n”);return 1;这两句。

修改代码如下:

inttest(){if(0)return0;return1;}intmain(){test();return0;}

可以看到代码走到if (0)后,再走就走到return 1了。

代码三与代码四也是一样的,为什么把num == 5 写为 5 == num 呢?为了避免出现一下情况

intmain(){intnum=1;if(num=5){printf("hello\n");}}

将 == 写成了 =,就变成了将5赋值给num,此时判断条件为真,就不是判断num是否是5了,程序最终会打印hello。但是在代码四里面如果将5 == num 写为 5 = num程序就报错了。

5、例子

输出1-100之间的奇数

intmain(){inti;for(i=0;i<100;i++)if(i%2==1){printf("%d\t",i);}else{printf("");}return0;}

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99

“C语言的ifelse语句怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注本站网站,小编将为大家输出更多高质量的实用文章!

抖音(Tiktok)是由北京字节跳动科技有限公司(ByteDance)孵化的音乐创意短视频社交网站。它于2016年9月20日上线,主要面向全年龄段的用户,尤其是...

飞极速为您提供高清在线电影、电视剧大全、动画片,综艺等,飞极速在线更新及时,播放速度快,给您带来最好的观影体验!飞极速在线,免费提供日本新番动漫、最新电影和最新...

《南华早报》(英语:South China Morning Post, SCMP)和星期日出版的《星期日南华早报》(英语:Sunday Morning Post...

(相关资料图)在我们的生活中,大改很多人都不知道人生4大喜事是什么意思,其实是非常简单的,下面就是小编搜索到的人生4大喜事相关的一些知识,一起了解下吧!1、人生第一大喜便是“洞房花烛”夜。洞房者,新房之意,当然也有不少高人曲解了这个词儿,这里权当是婚房吧。古人把结婚之喜称作洞房花烛,新人行过传统礼仪之后,会被送进充满喜庆的婚房里,房间里点着两支红色的喜烛,弥漫着诱人的香气,一对有情人终于走到了爱情...

民生银行贵宾卡额度:金卡额度: 3,000元- 50,000元;标准白金卡: 10,000元100,000元;豪华白金卡: 100,000元-30000元; 钻石卡本卡: 300,000元及以上。具体额度由民生银行根据提供的申请资料,以及人行记录等综合测评确定。申请民生信用卡的三种方式:1、电话银行办卡:没有民生银行信用卡的用户可拨打客服热线400-66- 95568按3#进行信用卡申;2、纸质申...

【资料图】7月27日消息,据了解,第五届进博会将于2022年11月5日至10日举办。据了解,进博会按照“办出水平、办出成效,越办越好”的总要求,已连续成功举办四届,累计成交额达到2722.7亿美元,引进了多种优质消费品和先进技术产品,从供需两端发力,有力促进了双循环良性互动。中国国际进口博览会(China International Import Expo,缩写:CIIE)...

TOP