问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-04-26 16:20

我来回答

5个回答

热心网友 时间:2023-10-14 03:44

  if语句一般有三种基本形式,其它扩展形式,也是以下面三种形式为基础,个人活学活用而已。
  1、 if……形式
  一般格式:if(表达式) 语句;
  语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。语句可以是单条语句,也可以是用花括号{}包括起来的复合语句。示例如下:
#include <stdio.h>
  int main(){
  int a,b,max;
  printf("\n input two numbers: ");
  scanf("%d%d",&a,&b);
  max=a;
  if (max<b) max=b;
  printf("max=%d\n",max);
  return 0;
  }

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

  语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。语句1和语句2可以是复合语句。
  示例如下:
 
 #include <stdio.h>
  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 <stdio.h>
  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类似的形式,但是都离不开上面介绍的三种基本形式。个人活学活用即可。

热心网友 时间:2023-10-14 03:44

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");

热心网友 时间:2023-10-14 03:45

一个小细节

if语句是这样用的

IF(条件)

{          什么什么       }

ELSE

{         什么什么           }

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

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

if(x!=0)
{
if(x>0)
printf("x>0\n") ;
if(x<0)
printf("x<0\n") ;
}
else
printf("x=0\n") ;

热心网友 时间:2023-10-14 03:46

// 应该这样写
#include <stdio.h>

int main()
{
    int x;
    
    scanf("%d", &x);
    
    if (x > 0)
    {
        printf("x > 0\n");
    }
    else if (x < 0)
    {
        printf("x < 0\n");
    }
    else
    {
         printf("x = 0\n");
    }
    
    return 0;
}

追问这个写法我之前写过,我专门练习一下嵌套的写法.

追答你的那个嵌套从语法上讲 是没有问题的,运行是没有问题的。
但是一般不会你那样做,因为逻辑冗余,不过作为练习是可以的。

热心网友 时间:2023-10-14 03:46


# include <stdio.h>
int main(void)
{
int x;
scanf("%d", &x);
if (x == 0) //如果x=0
{
printf("x = 0\n");
}
else if(x < 0) //如果x≠0
{
printf("x < 0\n");
}
else //如果x≠0切x>0
{
printf("x > 0\n");
}
return 0;
}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
社会消费品零售总额反映什么问题社会消费品零售总额反映什么 我的头发发质很软 不想每天做头发 是烫发根还是怎么 就能让头发蓬起来... ...的时候如果想让软化完头顶的头发能蓬起来一些,应该可以做到吧?那... 我拿建设银行卡在邮政夸行转给农业银行可不可以 ...银行卡在自助取款机上可不可以跨行转账到农业银行卡上。可以的话手 ... 邮政银行卡转农业银行卡帐号怎么转(在自动取款上转) 邮政卡自助取款机内给外省农业银行卡转账需要多久到账 请问广州D1857在广州哪个站 薄壁不锈钢管什么型号的氩弧焊机能焊 韶关常年平均温度是多少 小代码的解释(C语言) 谁有c语言的小代码啊 C语言小代码,求注解 c语言小代码咨询 c语言小代码,switch的使用 C语言小代码求助~ c语言小代码入门问题 C语言小代码 c语言小代码的疑问· 写一个简短的C语言代码 筷子在古代叫什么﹖ 筷子为什么叫筷子而不叫木棍或其它呢? 古代筷子叫什么? 筷子最早叫“箸”后为什么叫“筷子”? 中国古代筷子叫啥? 有谁了解筷子在古代叫什么 在古代一般把筷子叫做什么? 筷子原名叫著,为什么后来叫筷子 筷子古代叫什么 筷子在古代叫什么 c语言小代码,逗号表达式的问题 如何 共享 移动硬盘 c语言小代码,do...while循环的使用 c语言小代码,运算顺序问题 华为路由器外接移动硬盘怎样共享 c语言小代码,子函数问题 如何通过路由器来共享移动硬盘? c语言小代码问题,自增运算 c语言小代码,逗号表达式问题 两台不上网的电脑如何同时共享一个移动硬盘 c语言小代码,使用自编函数对三个数排序问题 如何共享移动硬盘 三星的笔记本电脑中如何把三星的移动硬盘设置为共享? 请高手帮忙解决,电视,电脑,移动硬盘共享的问题? 如何不通过网络使两台PC机共享一个移动硬盘。 苹果5S 指南针 不转了 怎么回事 iPhone5s指南针不能用了怎么办? iPhone 5指南针不动是主板坏了吗?手机信号差是否和主板坏了有关? iphone5指南针不转了是什么原因?图中ic芯片在主板的什么位置? 王者荣耀微信防沉迷怎么解除 已经成年人了