A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Ammar 中级黑马   /  2015-4-12 11:11  /  1139 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、 if分支
if(表达式 1)
{ 语句 1
}else if (表达式 2)
{ 语句 2
}else{ 语句3
}
int main(int argc, const char * argv[])
{
    // 定义一个变量接受用户输入的分数
    double score = -1;
    // 检验分数是否合法
    while (score < 0 || score > 100)
    {
        // 提示用户输入一个分数
        printf("请输入分数:\n");
        // 接受分数
        scanf("%lf", &score);
    }
   
    // 判断分数的等级
    if (score <= 100 && score >= 90)
    {
        printf("A\n");
    }else if (score < 90 && score >= 80)
    {
        printf("B\n");
    }else if (score < 80 && score >= 70)
    {
        printf("C\n");
    }else if (score < 70 && score >= 60)
    {
        printf("D\n");
    }else
    {
        printf("E\n");
    }
   
    return 0;
}

注意事项:
  • if(条件)可以直接写分号;  表示什么都不干,;-->空语句
  • 如果if之后的代码块,如果只有一句话,则可以省略{ }。
  • 永真式和永假式:if(1){ } 大括号中永远执行  if(0){ }永远不执行
  • if语句结合return语句:
    int main(int argc, const char * argv[])
    {
        if (a == 3)
        {
            return 0; // 在一个函数中,return语句之后的语句都不会执行
        }
        return 0;
    }
  • if作用域的问题:


    int main(int argc, const char * argv[])
    {
        if (a == 3)
        {
            int num = 10;
        }
        printf("num = %d", num);  //报错,访问不到num
    }
  • 作用域的紊(wen)乱

实现和计算机猜拳对决
<stdlib.h>
产生随机数的方法:arc4random_uiform(int)
表示:产生0~int-1的随机数


#include <stdio.h>
#include <stdlib.h>

// 实现跟计算机猜拳,并将结果打印出来

// 规定:0.石头 1.剪刀 2.布

// 提示:产生随机数的方法:arc4random_uiform(int)表示产生0~int的随机数

int main(int argc, const char * argv[])
{
    // 定义一个数组存储规定
    char *str[3] = {"石头", "剪刀", "布"};

    // 定义变量存储用户输入的拳和计算机输入的拳
    int player = -1, computer = -1; //

    // 使计算机随机产生一个拳
    computer = arc4random_uniform(3);

    // printf("计算机输出的拳是:%s\n", str[computer]);

    // 提示用户输入一个拳
    printf("请输入一个拳:0.拳头,1.剪刀,2.布\n");
    scanf("%d", &player);

    while (player < 0 || player > 2)
    {
        printf("输入错误,请重新输入一个拳:0.拳头,1.剪刀,2.布\n");
        scanf("%d", &player);
    }

    // 比较两个拳判断输赢并输出
    if (player == computer % 3)
    {
        printf("平手,电脑出了%s,我出了%s\n", str[computer], str[player]);
    } else if (player == (computer + 1) % 3)
    {
        printf("我输了,电脑出了%s,我出了%s\n", str[computer], str[player]);
    } else
    {
        printf("我赢了,电脑出了%s,我出了%s\n", str[computer], str[player]);
    }

    return 0;

}





复制代码

1 个回复

倒序浏览
一楼,楼主总结的好详细啊。必须赞一个。加油

评分

参与人数 1黑马币 +4 收起 理由
Ammar + 4 淡定

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马