黑马程序员技术交流社区

标题: if的作用? [打印本页]

作者: lipeiaiwo    时间: 2014-7-10 02:07
标题: if的作用?
if 都有些什么用?视频里面都没有介绍...下面这个if是用来干什么的?

/*
题目:程序运行的时候提示下列信息
请输入相应数字选择需要执行的运算:
1 加法
2 减法

用户选择运算后,再提示用户输入两个需要进行运算的整数,输入完毕后就输出运算结果
*/
#include <stdio.h>

int main()
{
    // 1. 提示用户选择计算类型
    printf("请输入相应数字选择需要执行的运算:\n");
    printf("1 加法\n");
    printf("2 减法\n");
   
    // 2. 定义变量存储用户选择的计算类型
    int type = 0;
   
    // 3. 让用户输入计算类型
    scanf("%d", &type);
   
    if (type!=1 && type!=2)
    {
        // type值输入不合理,就直接退出程序
        printf("非法选择\n");
        return 0;
    }
   
    // 4.提示用户输入两个计算的数值
    printf("请连续输入两个需要进行运算的整数,并且以空格隔开\n");
   
    // 5.定义2个变量存储数值
    int num1, num2;
    scanf("%d %d", &num1, &num2);
   
    // 6.计算
    int result;
    if (type == 1) {
        result = num1 + num2;
        printf("%d + %d = %d\n", num1, num2, result);
    } else if (type == 2) {
        result = num1 - num2;
        printf("%d - %d = %d\n", num1, num2, result);
    }
    return 0;
}

作者: YKS    时间: 2014-7-10 05:16
虽然我也刚学,C语言部分刚才才看完。但是你这个程序不完善,3和4要改一下需要一个循环结构。int type= 0;--->int type;就可以了。6计算的程序也可以再完善一下。 目前只能看到这些了。
作者: Medwyn    时间: 2014-7-10 09:24

if语句的三种基本形式:第一种形式为基本形式:

if(表达式)

语句


其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。
  1. #include <stdio.h>

  2. void main()
  3. {
  4.     int a,b,max;

  5.     printf("n input two numbers:   ");
  6.     scanf("%d%d",&a,&b);
  7.     max=a;
  8.     if(max < b)
  9.         max = b;
  10.     printf("max=%d",max);
  11. }
复制代码

第二种形式为:

if(表达式)

语句1;

else

语句2;

  1. #include <stdio.h>

  2. void main()
  3. {
  4.     int a, b;

  5.     printf("input two numbers:     ");
  6.     scanf("%d%d",&a,&b);
  7.     if( a > b )
  8.          printf("max=%dn",a);
  9.     else
  10.          printf("max=%dn",b);
  11. }
复制代码

第三种形式为 if-else-if 形式:

前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if语句,其一般形式为:

  1. #include <stdio.h>

  2. void main()
  3. {
  4.     char c;

  5.     printf("input a character:    ");
  6.     c = getchar();

  7.     if( c < 32 )               
  8.         printf("This is a control charactern");
  9.     else if( c>='0' && c<='9' )
  10.         printf("This is a digitn");
  11.     else if( c>='A' && c<='Z' )
  12.         printf("This is a capital lettern");
  13.     else if( c>='a' && c<='z' )
  14.         printf("This is a small lettern");
  15.     else     
  16.         printf("This is an other charactern");
  17. }
复制代码



在使用if语句中还应注意以下问题:1) 在三种形式的if语句中,在if关键字之后均为表达式。

该表达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。

例如:

if( a = 5 )

语句;

if( b )

语句;

都是允许的,只要表达式的值为非0,即为“真”。

2) 在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。3) 在if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

但要注意的是在}之后不能再加分号。

例如:

  1. if( a > b )
  2. {
  3.     a++;
  4.     b++;
  5. }
  6. else
  7. {
  8.     a = 0;
  9.     b = 10;
  10. }
复制代码

以上节选自我的博客笔记,希望对楼上及刚开始学习的大家有用。





作者: 幕夏    时间: 2014-7-10 10:22
if语句是一种选择结构,也称分支,通过条件判断做出程序执行的方向。
作者: lipeiaiwo    时间: 2014-7-10 12:43
Medwyn 发表于 2014-7-10 09:24
if语句的三种基本形式:第一种形式为基本形式:if(表达式)语句
其语义是:如果表达式的值为真,则执行其后 ...

好详细.但是有的还是看不懂,,,,,,,但有一点知道了,就是相当于判断的,符合他的要求就往下执行,否则就关闭.
等我视频看多点,在来看看你这个...
作者: 54lier    时间: 2014-7-10 15:12
用来条件判断的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2