【2017-2-21】C#分支语句,分支嵌套,变量的作用域

本文详细解析了if-else语句的使用方法,包括基本语法、随机变量生成、条件判断以及嵌套使用。并通过实际案例,如手势游戏、日期验证和标准体重计算,加深对条件语句的理解。

分支语句

句式:if else(必须是if开头,可以是else if或者else结束,也可以直接结束)

if(bool型比较表达式)

{

如果上面的条件成立,则执行这里面的代码

}

else if(bool型比较表达式)

{

如果上面的条件成立,则执行这里面的代码

}

else(必须为空,不能写比较表达式)//只要上面条件都不成立,那么必走else里的代码

{

}

每一行最左侧红点称为断点,选中后表示即将执行本行代码;可以配合逐语句查看每一行代码的执行情况;

多个if从句之间为并列关系;

如果if,else if,else里面只有一句代码,则可以省略{};

新建一个随机变量

Random x=new Random();

int a=x.Next(0,n)

表示从0到n-1这n个数中随机抽取一个

            Console.Write("请输入您的手势 (石头/剪子/包袱)");
            string gesture = Console.ReadLine();
            int user;
            if (gesture=="石头")
            {
                user = 1; 
            }
            else if (gesture == " 剪子")
            {
                user = 2;
            }
            else 
            {
                user = 3;
            } 
            Random r = new Random();
            int cp = r.Next(1,4);
            if (user == cp)
            { 
                Console.WriteLine("平局");
            }
            else if (user == cp + 1 || user == cp - 2)
            {
                Console.WriteLine("电脑赢了");
            }
            else
            {
                Console.WriteLine("用户赢了");
            }

            Console.ReadLine();

 

 

分支嵌套

在if或者else if执行代码段里面继续插入if else分支语句;

表示满足该条件的状况下,继续进行其他条件的判断;

 

作用域

在main函数中,对象的作用域为他所在的最近的一对花括号内;

同一个作用域里面,不能重复定义同一个变量;

 

练习题1:

“请输入年份:”(1-9999)
“请输入月份:”(1-12)
“请输入日期:”(要判断大小月,判断闰年)
判断输入的时间日期是否正确

            Console.Write("请输入年份:");
            int year = Convert.ToInt32(Console.ReadLine());
            if (year <= 0 || year > 9999)
            {
                Console.Write("您输入的年份有误");
            }
            else
            {
                Console.Write("请输入月份:");
                int month = Convert.ToInt32(Console.ReadLine());
                if (month < 1 || month >12)
                {
                    Console.Write("您输入的月份有误");
                }
                else
                {
                    Console.Write("请输入日期:");
                    int day = Convert.ToInt32(Console.ReadLine());
                    if (day > 31||day<1)
                    {
                        Console.Write("您输入的日期有误");
                    }
                    else if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && (day > 0 && day <= 31))
                    {
                        Console.WriteLine("您输入的日期正确");
                    }
                    else if ((month == 4 || month == 6 || month == 9 || month == 11) && (day > 0 && day <= 30))
                    {
                        Console.WriteLine("您输入的日期正确");
                    }
                    else if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
                    {
                        if(month == 2 && (day > 0 && day <= 29))
                        {
                            Console.WriteLine("您输入的日期正确");
                        }
                        else
                        {
                            Console.WriteLine("您输入的日期有误");
                        }
                    }
                    else
                    {
                        if(month == 2 && (day > 0 && day < 29))
                        {
                            Console.WriteLine("您输入的日期正确");
                        }
                        else
                        {
                            Console.WriteLine("您输入的日期有误");
                        }

                    }
                }     
            }
            
            Console.ReadLine();

 

 

练习题2:

标准体重
男士体重 = 身高 - 100 +-3
kg cm
女士体重 = 身高 - 110 +-3

            Console.WriteLine("标准体重");
            Console.WriteLine("男士体重(kg)=身高(cm)-100+-3");
            Console.WriteLine("女士体重(kg)=身高(cm)-110+-3");
            Console.Write("请输入您的性别:");
            string sex = Console.ReadLine();
            Console.Write("请输入您的身高:");
            int height = Convert.ToInt32(Console.ReadLine());
            Console.Write("请输入您的体重:");
            int weight = Convert.ToInt32(Console.ReadLine());
            if (sex == "")
            {
                if (height - weight - 100 <= 3 && height - weight - 100 >= -3)
                {
                    Console.WriteLine("恭喜您属于标准体重!");
                }
                else
                {
                    Console.WriteLine("不好意思,您未达到标准体重!");
                }
            }
            else
            {
                if (height - weight - 110 <= 3 && height - weight - 110 >= -3)
                {
                    Console.WriteLine("恭喜您属于标准体重!");
                }
                else
                {
                    Console.WriteLine("不好意思,您未达到标准体重!");
                }
            }



            Console.ReadLine();

 

转载于:https://www.cnblogs.com/snow22546/p/6431174.html

### DxOMark测试的具体流程及其对消费者购买决策的影响 #### 测试流程 DxOMark的测试流程基于严格的科学方法,确保结果的客观性和可重复性。以下是其主要测试环节: - **传感器测试**:在受控实验室环境下,使用标准化光源和标板拍摄一系列图像。通过分析这些图像,评估相机传感器的关键性能指标,包括动态范围、色彩深度和低光照表现等[^1]。 - **镜头测试**:针对不同品牌和型号的镜头进行详细测量,涵盖畸变、色差、暗角以及锐度等多个维度。每款镜头会在多个焦距和光圈值下进行测试,生成详尽的数据报告。 - **智能手机摄像头测试**:除了传统单反和无反相机外,DxOMark还对大量智能手机摄像头进行了评测。测试内容涉及照片质量(如曝光准确性、细节保留)、视频录制能力和特定场景下的表现(例如夜景模式或人像模式)[^2]。 #### 评估标准 DxOMark采用了一套综合评分体系来量化相机和镜头的表现: - **子分数结构**:每个设备都会根据不同的性能方面获得单独的子分数,例如曝光对比度、色彩还原能力、自动对焦速度等。最终得分由这些子分数加权计算得出[^1]。 - **真实世界应用考量**:虽然技术参数很重要,但DxOMark也强调实际拍摄体验的重要性。因此,在制定评分标准时会充分考虑摄影师在日常工作中可能遇到的各种情况[^2]。 #### 对消费者购买决策的影响 DxOMark的成绩已经成为许多摄影爱好者和专业用户选择产品的重要参考依据之一: - **透明度提升**:通过提供详尽的技术数据和直观的比较工具,帮助消费者更清楚地了解各款设备之间的差异。 - **市场导向作用**:制造商往往将取得高分作为营销亮点,促使他们在设计新产品时更加注重图像质量和用户体验优化[^2]。 - **风险降低**:对于普通消费者而言,依靠权威第三方机构提供的评测信息可以有效减少因缺乏专业知识而导致的错误决策可能性[^2]。 ```python # 示例代码:如何查询某款相机在DxOMark上的得分 import requests def get_dxo_score(camera_model): url = f"https://www.dxomark.com/search?q={camera_model}" response = requests.get(url) if response.status_code == 200: # 假设可以从HTML中提取总分 total_score = extract_total_score_from_html(response.text) return total_score else: return None def extract_total_score_from_html(html_content): # 实现具体的HTML解析逻辑以获取总分 pass # 使用示例 camera_model = "Nikon Z7 II" score = get_dxo_score(camera_model) if score: print(f"{camera_model} 的 DxOMark 总分为 {score}") else: print(f"未能找到关于 {camera_model} 的 DxOMark 评测信息") ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值