if条件语句试题

本页面包含了从简单到复杂的if条件语句试题,涵盖了基本结构、if-else、if-else if-else以及嵌套if等多种形式。建议先学习完if条件语句详解后再进行练习。

题目说明

  • 题目按难度从易到难排列
  • 包含选择题和编程题两种类型
  • 点击"显示答案"按钮查看解析
  • 建议独立完成后再查看答案

一、简单难度

简单
1. 以下代码的输出结果是什么?
int x = 5;
if (x > 3)
{
    Console.WriteLine("Hello");
}
  • A. Hello
  • B. 无输出
  • C. 编译错误
  • D. 运行错误
  • 答案:A
    解析:因为x的值为5,大于3,所以条件x > 3为true,执行Console.WriteLine("Hello")语句,输出"Hello"。
    简单
    2. 以下代码的输出结果是什么?
    int x = 2;
    if (x > 3)
    {
        Console.WriteLine("Hello");
    } else {
        Console.WriteLine("World");
    }
  • A. Hello
  • B. World
  • C. Hello World
  • D. 无输出
  • 答案:B
    解析:因为x的值为2,不大于3,所以条件x > 3为false,执行else分支,输出"World"。
    简单
    3. 以下代码的输出结果是什么?
    bool isRaining = false;
    if (!isRaining)
    {
        Console.WriteLine("今天不下雨");
    }
  • A. 今天不下雨
  • B. 无输出
  • C. 编译错误
  • D. 运行错误
  • 答案:A
    解析:!isRaining是逻辑非操作,isRaining的值为false,所以!isRaining为true,执行输出语句。

    二、中等难度

    中等
    4. 以下代码的输出结果是什么?
    int score = 75;
    if (score >= 90)
    {
        Console.WriteLine("优秀");
    } else if (score >= 80)
    {
        Console.WriteLine("良好");
    } else if (score >= 60)
    {
        Console.WriteLine("及格");
    } else {
        Console.WriteLine("不及格");
    }
  • A. 优秀
  • B. 良好
  • C. 及格
  • D. 不及格
  • 答案:C
    解析:score的值为75,依次判断条件:75不大于等于90,也不大于等于80,但大于等于60,所以输出"及格"。
    中等
    5. 以下代码的输出结果是什么?
    int a = 10, b = 20;
    if (a > 5 || b < 15)
    {
        Console.WriteLine("条件成立");
    } else {
        Console.WriteLine("条件不成立");
    }
  • A. 条件成立
  • B. 条件不成立
  • C. 编译错误
  • D. 运行错误
  • 答案:A
    解析:使用了||(逻辑或)运算符,只要有一个条件为true,整个条件就为true。a > 5为true,所以条件成立。
    中等
    6. 以下代码的输出结果是什么?
    int x = 5;
    if (x > 5)
    {
        Console.WriteLine("A");
    } else if (x == 5)
    {
        Console.WriteLine("B");
    } else if (x < 5)
    {
        Console.WriteLine("C");
    }
  • A. A
  • B. B
  • C. C
  • D. 无输出
  • 答案:B
    解析:x的值为5,所以第二个条件x == 5为true,输出"B"。注意,if-else if结构中只要有一个条件成立,就不会执行后面的条件。

    三、困难难度

    困难
    7. 以下嵌套if代码的输出结果是什么?
    int x = 10, y = 5;
    if (x > 5)
    {
        if (y > 8)
        {
            Console.WriteLine("A");
        } else {
            Console.WriteLine("B");
        }
    } else {
        Console.WriteLine("C");
    }
  • A. A
  • B. B
  • C. C
  • D. 无输出
  • 答案:B
    解析:外层if条件x > 5为true,进入内层if判断。内层条件y > 8为false(y=5),所以执行内层else分支,输出"B"。
    困难
    8. 以下复杂嵌套代码的输出结果是什么?
    int a = 3, b = 5, c = 7;
    if (a > b)
    {
        if (b > c)
        {
            Console.WriteLine("X");
        } else {
            Console.WriteLine("Y");
        }
    } else if (a < b)
    {
        if (b < c)
        {
            Console.WriteLine("Z");
        } else {
            Console.WriteLine("W");
        }
    }
  • A. X
  • B. Y
  • C. Z
  • D. W
  • 答案:C
    解析:a=3,b=5,c=7。外层条件a < b为true,进入第二个else if分支。内层条件b < c也为true(5 < 7),所以输出"Z"。
    困难
    9. 以下代码的输出结果是什么?
    int x = 5;
    int y = 10;
    if (x > 3 && y > 5)
    {
        if (x < y)
        {
            Console.WriteLine("Success");
        }
    }
    else
    {
        Console.WriteLine("Failure");
    }
  • A. Success
  • B. Failure
  • C. SuccessFailure
  • D. 无输出
  • 答案:A
    解析:外层条件x > 3 && y > 5为true(5>3且10>5),进入外层if块。内层条件x < y也为true(5<10),所以输出"Success"。

    四、编程题

    中等
    10. 编写一个程序,根据用户输入的整数判断其是正数、负数还是零。
    要求:
    - 使用if-else if-else结构
    - 输入一个整数
    - 输出对应的判断结果
    参考代码:
    using System;
    
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入一个整数:");
            int number = int.Parse(Console.ReadLine());
            
            if (number > 0)
            {
                Console.WriteLine("这是一个正数");
            } else if (number < 0)
            {
                Console.WriteLine("这是一个负数");
            } else
            {
                Console.WriteLine("这是零");
            }
        }
    }
    困难
    11. 编写一个程序,根据用户输入的三个整数,输出其中的最大值。
    要求:
    - 使用嵌套if或if-else if结构
    - 输入三个整数
    - 输出最大值
    参考代码:
    using System;
    
    class Program
    {
        static void Main(string[] args)
        {
            Console.Write("请输入第一个整数:");
            int num1 = int.Parse(Console.ReadLine());
            
            Console.Write("请输入第二个整数:");
            int num2 = int.Parse(Console.ReadLine());
            
            Console.Write("请输入第三个整数:");
            int num3 = int.Parse(Console.ReadLine());
            
            int max;
            
            if (num1 > num2)
            {
                if (num1 > num3)
                {
                    max = num1;
                } else
                {
                    max = num3;
                }
            } else
            {
                if (num2 > num3)
                {
                    max = num2;
                } else
                {
                    max = num3;
                }
            }
            
            Console.WriteLine("最大值是:" + max);
        }
    }