⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 例5.3.txt

📁 C语言课件,清华大学出版的书的配套的.很好用,尽管下载.
💻 TXT
字号:
例5.3有一函数:
y=-1(x<0)
 0(x=0)
 1(x>0)
编一程序,输入一个x值,输出y值。
可以先写出算法:
输入x
若 x < 0y =-1
若 x = 0y = 0
若 x > 0y = 1
输出y
或:
输入x
若   x < 0y = -1 
否则:
若 x = 0y = 0
若 x > 0y = 1
输出y
也可以用流程图表示,见图5.7。

有以下几个程序,请读者判断哪个是正确的?
  程序1:
    main()
       {int x,y;
         scanf("%d",&x);
         if(x<0)y=-1;
         else if(x==0) y=0;
                else y=1;
         printf("x=%d,y=%d\n",x,y);
程序2: 将上面程序的if语句(第4~6行)改为:
    if (x>=0)
         if (x>0)y= 1;
         else           y= 0;

else              y=-1;

  程序3: 将上述if语句改为:
    y=-1;

        if(x!=0)

          if(x>0) y=1;

        else            y=0;

  程序4:
    y=0;

        if(x>=0)

         if(x>0) y=1;

        else y=-1;
只有程序1和程序2是正确的。程序1体现了图5.7的流程,显然它是正确的。程序2的流程图见图5.8。它也能实现题目的要求。程序3的流程图见图5.9。程序4的流程图见图5.10。它们不能实现题目的要求。请注意程序中的else与if的配对关系。例如程序3中的else子句是和它上一行的内嵌的if语句配对,而不与笫2行的if语句配对。为了使逻辑关系清晰,避免出错,一般把内嵌的if语句放在外层的else子句中(如程序1那样),这样由于有外层的else相隔,内嵌的else不会被误认为和外层的if配对,而只能与内嵌的if配对,这样就不会搞混,如像程序3和程序4那样写就很容易出错。
出错。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -