C语言中的if(1)是什么意思啊

有两个程序一直没搞明白
int a=0;
if(1)
{
a=3;
if(0)
a=4;
}
else a=5;
还一个是
int a=0;
if(1)
a=3;
if(0)
a=4;
else a=5;
请一步步的说一下是什么意思啊··想了半天也没想明白··

if(表达式)表达式的值为1后面的程序执行,若为0则不执行。

比如if(1>2)其中1>2是个逻辑判断,1<2当然是假,所以就是false(false为0,true为1),但cpu不认false只认0和1,所以1《2的逻辑返回值就是0,所以if(0)等价于if(1>2),其他的同理。

还有一种就是if(5),c语言默认if(判别的返回值)是0就不执行,不是0就是执行!所以if(5)等同于if(1)也就是说if(表达式结果为0(逻辑判断只返回0和1,但若是某个数值则不为0则当做是1))。

所以f(0)等价于f(1<2)等价于f((1+4)<9),f(!1)等,不执行。

if(1)相当if(5),if(1<2);

int a=0;

if(1)执行;

a=3;结果a=3;

if(0)不执行跳过;

a=4;

else a=5;执行a=5;

扩展资料:

C语句常用语句:

一,表达式语句

表达式语句由表达式加上分号“;”组成。

其一般形式为:表达式;执行表达式语句就是计算表达式的值。

例如: x=y+z;a=520;赋值语句;

y+z;加法运算语句,但计算结果不能保留,无实际意义;

i++; 自增1语句,i值增1。

i++; 是先运算i后再加1。

++i; 是先把i值增1后运算。

二,函数调用语句

由函数名、实际参数加上分号“;”组成。

其一般形式为: 函数名(实际参数表) ;

执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值。

调用库函数,输出字符串。

例如:

printf(a,b,c); /*调用名为"printf"的函数*/

三,控制语句

控制语句用于控制程序的流程, 以实现程序的各种结构方式。

它们由特定的语句定义符组成。C语言有九种控制语句。 可分成以下三类:

(1). 条件判断语句

if语句、switch语句;

(2) .循环执行语句

do while语句、while语句、for语句;

(3). 转向语句

break语句、goto语句(此语句尽量少用,因为这不利结构化程序设计,滥用它会使程序流程无规律、可读性差)、continue语句、return语句。

条件判断

int x,y;

if(x>y)

printf("x,\n");

else

printf("y,\n");

四,复合语句

把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句,例如

{

x=y+z;

a=b+c;

printf(“%d%d”,x,a);

}

是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾;此外,在括号“}”外不能加分号。

五,空语句

只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。

例如 while(getchar()!='\n'); 本语句的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-09-18

if(表达式)表达式的值为1后面的程序执行,若为0则不执行。

比如if(1>2)其中1>2是个逻辑判断,1<2当然是假,所以就是false(false为0,true为1),但cpu不认false只认0和1,所以1《2的逻辑返回值就是0,所以if(0)等价于if(1>2),其他的同理。

还有一种就是if(5),c语言默认if(判别的返回值)是0就不执行,不是0就是执行!所以if(5)等同于if(1)
也就是说if(表达式结果为0(逻辑判断只返回0和1,但若是某个数值则不为0则当做是1))。

所以f(0)等价于f(1<2)等价于f((1+4)<9),f(!1)等,不执行。

if(1)相当if(5),if(1<2);

int a=0;

if(1)执行;

a=3;结果a=3;

if(0)不执行跳过;

a=4;

else a=5;执行a=5;

扩展资料:

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

本回答被网友采纳
第2个回答  推荐于2019-08-07

if()括号里面跟的是条件句,如果条件成立,也就是if(1),则后面的程序执行。c语言默认if(判别的返回值)是0就不执行,不是0就是执行、所以if(5)等同于if(1)。

C# 中 if 语句的语法:

if(boolean_expression){
/* 如果布尔表达式为真将执行的语句 */

}

如果布尔表达式为 true(1),则 if 语句内的代码块将被执行。如果布尔表达式为 false(0),则 if 语句结束后的第一组代码(闭括号后)将被执行。你的代码解释如下:

int a=0;

if(1)//执行

{

a=3//结果a=3

if(0)//不执行跳过

a=4;

}

else a=5//执行a=5

扩展资料:

1、一般形式 if(表达式)表达式1 else 表达式2   :表达式成立(为真)则执行表达式1,否则执行表达式2.

适用范围:真假,对错,开关,对立面的条件

注意:如果if语句中只包括一条语句,可以省略{}但最好不要省略,如果有多条语句,一定要加{}

如果else不包含任何语句,则可以省略掉else

2、分支 if(表达式1){语句1}else if(表达式){语句2} else if(表达式3){语句3}。。。。。else(语句4)

表达式1成立立即执行语句1,否则判断表达式2,表达式2成立则立即执行语句2,否则判断表达式3,表达式3成立则立即执行语句3,表达式1,表达式2,表达式3都不成立,则执行语句4

分支if语句中条件是互斥的,不能有重复或互相包含的情况。如果有,必须重新理清程序思路。

if的条件是一段连续的范围,要把所有的情况都涵盖完

适用范围:条件互斥,没有相重合的条件,且条件都是一段连续的范围的时候用

3、嵌套形式:

if (表达式) {

if(表达式1)

{

语句1   //表达式和表达式1同时成立

}else{

语句2    //表达式成立且表达式1不成立

}

}else{

if (表达式2) {

语句3   //表达式不成立且表达式2成立

}else{

语句4    //表达式不成立且表达式2不成立

}

}

使用范围:适合逐层递进,从大到小细分条件,可用嵌套。

参考资料:

Microsoft中文API-if语句

百度百科-C#

菜鸟教程C#-if语句



本回答被网友采纳
第3个回答  推荐于2017-10-05
逻辑判断
if(表达式)表达式的值为1后面的程序执行,若为0则不执行
{
执行
}
比如if(1>2)其中1>2是个逻辑判断,1<2当然是假,所以就是false(false为0,true为1),但cpu不认false只认0和1,
所以1《2的逻辑返回值就是0,所以if(0)等价于if(1>2),其他的同理
还有一种就是if(5),c语言默认if(判别的返回值)是0就不执行,不是0就是执行!所以if(5)等同于if(1)
也就是说if(表达式结果为0(逻辑判断只返回0和1,但若是某个数值则不为0则当做是1))
所以f(0)等价于f(1<2)等价于f((1+4)<9),f(!1)等,不执行
if(1)相当if(5),if(1<2)
int a=0;
if(1)执行
{
a=3;结果a=3
if(0)不执行跳过
a=4;
}
else a=5;执行a=5
还一个是,*************这个自己动脑,按上面的方法试试
int a=0;
if(1)
a=3;
if(0)
a=4;
else a=5;
请一步步的说一下是什么意思啊··想了半天也没想明白··追问

是不是说··在这个问题中···if(1)总是成立···而if(0) 总是不成立的··

追答

刚才写错了1》2当然是假,你说的对,(上面我有写错的地方,你注意甄别,笔误)注意f(5)f(-1)也成立只要不是f(0)就成立

追问

我懂了···第二个执行完是a=3```因为最后的else是和if(0)配对的··万分感谢··

追答

是的

int a=0;定义一个变量a
if(1)执行if的表达式结果不是0,执行
{
a=3;结果a=3,
if(0)当上一个if执行后进行判断,if的不执行跳过
a=4;
}
else a=5;对应上一个模块的if(1)所以不执行
还一个是,*************这个自己动脑,按上面的方法试试
int a=0;
if(1)
a=3;
if(0)
a=4;
else a=5;

来自:求助得到的回答本回答被提问者采纳
第3个回答  推荐于2017-10-05
if(1)里的1同时被理解为真假值,代表真,也就是如果为真,就进行if后边的操作追问

您能将那两个程序从开头一步步的解说一下么···我得出的答案还是不对··

相似回答