永发信息网

c语言小代码,if语句的使用

答案:6  悬赏:10  手机版
解决时间 2021-12-01 09:40
c语言小代码,if语句的使用
最佳答案
if语句一般有三种基本形式,其它扩展形式,也是以下面三种形式为基础,个人活学活用而已。
  1、 if……形式
  一般格式:if(表达式) 语句;
  语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:
#include
  int main(){
  int a,b,max;
  printf("\n input two numbers: ");
  scanf("%d%d",&a,&b);
  max=a;
  if (max  printf("max=%d\n",max);
  return 0;
  }

  2、if……else形式
  一般格式:
  if(表达式)
  语句1;
  else
  语句2;

  语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。
  示例如下:
 
 #include
  int main(){
  int a, b;
  printf("input two numbers: ");
  scanf("%d%d",&a,&b);
  if(a>b)
  printf("max=%d\n",a);
  else
  printf("max=%d\n",b);
  return 0;
  }

  3、if……else……if形式
  一般形式为:
  if(表达式1)
  语句1;
  else if(表达式2)
  语句2;
  else if(表达式3)
  语句3;
  …
  else if(表达式m)
  语句m;
  else
  语句n;
  语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if语句之外继续执行程序。 如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。示例如下:
  
#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;
  }

  4、扩展形式
  if条件控制语句的形式是多种多样的。比如if嵌套、if……if类似的形式,但是都离不开上面介绍的三种基本形式。个人活学活用即可。
全部回答
if(x!=0)
{ if(.........)
{...............;}
if(.........)
{...............;}
}

else
..................................;
if要对应else,或者用花括号括起来,当成单个if使用。

# include 
int main(void)
{
int x;
scanf("%d", &x);
if (x == 0) //如果x=0
{
printf("x = 0 ");
}
else if(x < 0) //如果x≠0
{
printf("x < 0 ");
}
else //如果x≠0切x>0
{
printf("x > 0 ");
}
return 0;
}
// 应该这样写
#include 

int main()
{
    int x;
    
    scanf("%d", &x);
    
    if (x > 0)
    {
        printf("x > 0 ");
    }
    else if (x < 0)
    {
        printf("x < 0 ");
    }
    else
    {
         printf("x = 0 ");
    }
    
    return 0;
}追问这个写法我之前写过,我专门练习一下嵌套的写法.追答你的那个嵌套从语法上讲 是没有问题的,运行是没有问题的。
但是一般不会你那样做,因为逻辑冗余,不过作为练习是可以的。

一个小细节

if语句是这样用的

IF(条件)

{          什么什么       }

ELSE

{         什么什么           }

你的格式弄得好像是对的,但是第一个if没有大括号导致else其实是if(x>0)的else

你开始输入的时候电脑给你的格式不对所以你特地打了空格,但是忘了大括号

if(x!=0)
{
if(x>0)
printf("x>0 ") ;
if(x<0)
printf("x<0 ") ;
}
else
printf("x=0 ") ;追问我改了一下,在问题补充里,你看看语法有没有问题,反正运行没问题追答

语法没问题,但是代码错了

if语句只运行后面大括号的代码,没有大括号只运行后面一个语句,第一个if应该包含后面两个if语句,但是你的代码是第一个if管理第二个if,第三个if连着最后的else

if(x!=0)
  if(x>0)
    printf("x>0 ") ;
if(x<0)
  printf("x<0 ") ;
else 
  printf("x=0 ") ;

懂了么

追问我有改了
# include

int main(void)
{
int x;

scanf("%d", &x);

if (x != 0)
{
if (x < 0)
printf("x < 0\n");
else if (x > 0)//这里这个if是不是多余的?
printf("x > 0\n");
}
else
printf("x = 0\n");

return 0;
}追答如果X<0显示X<0,否则如果x>0,显示x>0
内个if不能删,但是if前的else是多余的,两个if是互斥的不用else,但是也不是错的,它能让计算机运行快那么一丢,不过一般不那样写追问吊!大神!追答好好学,我这点能耐不咋地
if复合语句需要加上{}来表明其控制的语句;特别如果其只控制单个语句,则可以不加{}
你这个if没加{},所以只能控制其顺序下的一个语句,即
if(x!=0)
if(x<0)

printf("");

剩下的if(x>0) printf();语句不在首个if的下辖范围内
而else语句与其相邻最近的if语句搭配,因为没有表明{},所以else语句与if(x>0) printf();语句搭配成为一个完整的if。。。else语句
所以输出不正常
所以要改为
if(x!=0)
{
if(x<0)printf("x<0\n");

else printf("x>0\n");

}
else printf("x=0\n");
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
SUPERJUNIOR有一次演唱会上银赫压根不理东海
是谁最早发现木星的?
简述输电线路工程测量时,在与多条线路形成交
北京中联政企文化传媒有限公司怎么样?
共叔段叫京城太叔,他为什么叫“叔”?
小户型新房装修云兰装潢
怎么查询邯郸通缉犯名单
________动物是脊椎动物中种类最多,数量最大
这种账号怎么弄的?在这买软件安全吗
已知:①S(单斜,s)+O2(g)=SO2(g) △H1=-
求问竞技场的蛆虫,战士和冠军有什么差别
跟我妈妈一人请了一个貔貅,想给貔貅开光。请
脱式计算 17.56-2.57-3.43
改造火星会实现吗?
被母亲抛弃的孩子对父亲有怨恨吗
推荐资讯
刚用新申請的qq创建的新群最多可以邀请多少人
男的深口单鞋穿什么袜子好?比较低的?
为什么最近很多人黑杨紫和邓伦?
DNF大魔导师异界首选什么装备!本人暗冰光3修
48 99 126 261 114 354里面有哪些是除以7余数
梦见树上只剩两串小红果
交易牲畜时为什么要用布遮手
单选题下列各句中,加粗的成语使用恰当的一句
请问大家怎么才能把小饭店的人气搞上去
135传统相机有哪些新的用途
方城特产作文
那个朋友知道现在云南三台播放的是什么电视剧
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?