c语言 if()函数式如何实现的?

学习一段时间后,感觉C语言就是一个一个函数的调用,那么这些最基本的函数他们是如何产生的?谢谢... 学习一段时间后,感觉C语言就是一个一个函数的调用,那么这些最基本的函数他们是如何产生的?谢谢 展开
 我来答
小星星教育知识分享
高粉答主

2019-12-07 · 用教师的智慧点燃学生的智慧火花
小星星教育知识分享
采纳数:202 获赞数:67134

向TA提问 私信TA
展开全部

if语句的一般形式如下:

if(表达式)语句1

[else语句2]

if语句中的“表达式”可以是关系表达式、逻辑表达式,甚至是数值表达式。其中最直观、最容易理解的是关系表达式。所谓关系表达式就是两个数值进行比较的式子。

例如:

if(x>y)

printf("%d",x);

else

printf("%d",y);

扩展资料

if-else语句引入了一种二义性问题称为空悬else(dangling-else)问题,这种问题出现在当if子句多于else子句时。问题是这些else子句分别和哪一个if子句匹配。

例如:

if(minVal<=ivec[i])

if(minVal==ivec[i])

++occurs;

else

{

minVal=ivec[i];

occurs=1;

}

KummerWu
推荐于2018-02-26 · TA获得超过694个赞
知道小有建树答主
回答量:378
采纳率:0%
帮助的人:416万
展开全部

if是c语言的关键字,所有c语言的基本语句都是有编译器(比如VC,GCC等)将C语言翻译成机器语言(汇编语言)。比如下面简单的if语句,我们看看编译器将其转换为什么样子。

源代码:

对应的编译器(我用的VC)编译后的结果(汇编语言)

我们看到,if语句转换为了一个比较(cmp)和一个条件跳转(jne)

先比较1和i,如果不相等,就跳转到if括号的后一个语句(这儿是0x411534)。

 

如果有兴趣,你可以找VC自己研究一下各个基本语句是如何编译的。(VC中鼠标右键,然后点击【转到反汇编】)

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
千锋教育
2015-12-03 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
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是独立的,因为它没有大括号{ }括起来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菊隐逸者也
2013-05-13 · TA获得超过832个赞
知道小有建树答主
回答量:536
采纳率:0%
帮助的人:530万
展开全部
if()内部是一个判断真假的条件语句,如果该语句为真,就执行其下的一条语句。若有多条语句则应用花括号括起来算作一条语句。一般if和else连用。就是说,满足if条件就执行这个,否则就执行else下的语句。比如:
if(a>b)
{
a=b;t=a;b=t;
}
else
printf("%d%d",a,b);
printf("%d%d",a,b);
就是说a>b时,交换a,b并输出。a<=b,就直接输出a,b。明白了吧。有不懂可以追问。
追问
你误解了 我的意思是fi()语句是如何实现的 不是说他的用法  比如while()函数有它的实现代码
追答
if就是一个判断语句,并非什么函数。其用法我已经说的很清楚了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
whyaiw
2013-05-13 · TA获得超过121个赞
知道答主
回答量:13
采纳率:0%
帮助的人:5.8万
展开全部
if是关键字,不是函数。如果还想再弄懂C语言底层的,看汇编语言。
追问
就是说IF是用汇编写的吗?那为什么C语言中还能有汇编语言出现?
追答
你需要明白“编译”这个概念,最基本语句就没有“是用什么编写”这个说法了。请参考这篇文章:http://kb.cnblogs.com/page/131718/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式