语句

语句是指程序命令,都是按照顺序执行的。语句在程序中的执行顺序称之为“控制流”或“执行流”。根据程序对运行时所收到的输入的响应,在程序每次运行时程序流可能有所不同。
    注意,语句间的标点符号必须是英文半角标点,语句的结束标点是分号”;“。
    语句可以嵌套,可以是以分号结尾的单行代码,也可以是语句块中的单行语句。语句块括在括号{}中,并且可以包好嵌套块。
    语句的类型包括声明语句、表达式语句、选择语句、循环语句、跳转语句、异常语句。
   
    声明语句:引入新的变量或常量。变量声明可以选择为变量赋值。在常量声明中必须赋值
        例如:int i = 0;//声明变量i并赋值,也可以不赋值。
       
    表达式语句:用于计算值得表达式语句必须在变量中存储该值。
        例如:sum =i+j;//变量i和j在此之前必须先赋值,而且sum也需要声明类型。 int x = a+b;//或者在声明的同时运算。
       
    选择语句:if、else、switch、case
    循环语句:do、for、foreach、while
    跳转语句:break、continue、default、return
    异常语句:trg-catch-finally


一、选择语句

if语句:

语法:
        if(判断条件)
        {要执行的代码;}
    判断条件:一般为关系表达式或者bool类型的值。默认判断条件是==true,所以可以省略”==true“。如果需要flase则要写上==flase
    执行过程:程序运行到if处,首先判断if所带的小括号中的判断条件是否成立,如果成立(也就是返回true),则执行if所带的大括号中的代码,如果判断条件不成立(返回false),则跳过if结构,继续向下执行。
   
    特点:先判断,再执行。也有可能一行也不执行。##适用于一种情况的判断##
    // 注意:if所带的小括号后面没有“;”,如果后面只有一个{},则花括号可以省略。

if else语句:

语法:
        if(判断条件)
        {执行代码;}
        else{执行的代码;}
    执行过程:程序执行到if处,先判断if所带的小括号中判断语句是否成立,如果成立则执行if所带大括号中的代码,执行完后,跳出if-else结构。
              如果if所带的小括号中的判断条件不成立,则跳过if语句,执行else所带的大括号中的语句,执行完,跳出if-else结构。
    特点:先判断,再执行,最少都要执行一条代码。##适用于两种情况的判断##
    // 注意:else永远与它最近的if配对

if else-if语句:

作用:用于处理多条件的区间的判断。
    语法:
        if(判断条件)
        {要执行的代码;}
        else if(判断条件)
        {要执行的代码;}
        else if(判断条件)
        {要执行的代码;}
        else if(判断条件)
        {要执行的代码;}
        ......
        else{要执行的代码;}
    执行过程:(待续。。。)程序首先判断第一个if所带的小括号中的判断条件,如果成立,则执行该if所带的大括号中的代码,执行完成好,立即跳出 if else-if 结构语句。如果第一个if所带的判断条件不成立,则继续向下进行判断,依次判断每一个if所带的判断条件,如果成立,就执行该if所带的大括号中的代码,如果不成立,则继续向下判断,如果每一个if所带的判断条件都不成立,就看当前这个 if else-if 结构中是否存在 else 。如果有 else 的话,则执行 else 中所带的代码如果没有 else ,则整个 if else-if 结构什么也不做。#else可省略#

if语句的嵌套

略···

例题:

          //让用户输入一个年份,判断是否是闰年。
// a.能被400整除
// b.能被4整除,但不能被100整除。
// 思路:
// 1.从键盘接收一个年份,并转化整数 year。
// 2.判断是否满足上面的两个条件。
// 3.根据判断结果分别显示“平年”“闰年” console.write("判断是否闰年,请输入年份:");
int year = convert.toint32(convert .todouble(console.readline()));//convert.todouble嵌套在里面 当用户输入double类型时将其转换为int类型
if ((year % 400 == 0) || (year % 4 == 0) && (year % 100 != 0))
{ console.writeline("是闰年"); }
else
{ console.writeline("是平年"); }
        #region //判断ax*x+bx+c=0是不是一元二次方程

            Console.Write("请输入a的值:");
//int a = Convert.ToInt32(Console.ReadLine());
double a = double.Parse(Console.ReadLine());
Console.Write("请输入b的值:");
//int b = Convert.ToInt32(Console.ReadLine());
double b = double.Parse(Console.ReadLine());
Console.Write("请输入c的值:");
//int c = Convert.ToInt32(Console.ReadLine());
double c = double.Parse(Console.ReadLine());
double d = b * b - 4 * a * c; if (a == 0)
{
Console.WriteLine("方程不是一元二次方程。");
}
else
{
Console.WriteLine("是一元二次方程");
if (d >= 0)
{
double x1 = (-b + Math.Sqrt(d)) / (2 * a);//Math.Sqrt引用函数 开平方
double x2 = (-b - Math.Sqrt(d)) / (2 * a);
if (d > 0)
{
Console.WriteLine("方程有两个相等的实根");
Console.WriteLine("x1:" + x1.ToString() + "x2:" + x2.ToString());
}
else
{
Console.WriteLine("方程有两个不同的实根");
Console.WriteLine("x1=x2=" + x1.ToString()); }
} else if (d < 0)
Console.WriteLine("此方程没有实根");
} //简单方法
Console.Write("a:");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("b:");
int b = Convert.ToInt32(Console.ReadLine());
Console.Write("c:");
int c = Convert.ToInt32(Console.ReadLine());
int d = b * b - 4 * a * c;
if (a == 0)
{
Console.WriteLine("不是一元二次方程");
}
else
{
if (d > 0)
{
Console.WriteLine("有两个不相等的实根");
}
else if (d == 0)
{
Console.WriteLine("有两个相等的实根");
}
else
{
Console.WriteLine("无实根");
}
} #endregion
           #region//体重问题:男士体重:身高-100+(-)+3

            Console.Write("请输入性别:");
string s = Console.ReadLine();
Console.Write("请输入体重(kg):");
double t = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入身高(cm):");
double g = Convert.ToDouble(Console.ReadLine()); if (s == "男")
{
double n = t - g + 100;
if (n >= -3 && n <= 3)
{
Console.WriteLine("你的体重是标准体重");
}
else if (n > 3)
{
Console.WriteLine("你该减肥了");
}
else
{
Console.WriteLine("你需要增加营养");
} }
else if (s == "女")
{
double n = t - g + 110;
if (n >= -3 && n <= 3)
{
Console.WriteLine("你的体重是标准体重");
}
else if (n > 3)
{
Console.WriteLine("你该减肥了");
}
else
{
Console.WriteLine("你需要增加营养");
}
}
else { Console.WriteLine("你输入的有误"); }
// #endregion
#region if判断年月日输入是否正确

            Console.Write("请输入年份:");
int year = Convert.ToInt32(Console.ReadLine());
if (year > 0 && year <= 9999)
{
Console.Write("请输入月份:");
int month = Convert.ToInt32(Console.ReadLine());
if ((month > 0 && month < 13) == false)
{
Console.WriteLine("输入的月份有误");
}
else
{
Console.Write("月份输入正确,请输入日:");
int day = Convert.ToInt32(Console.ReadLine());
if ((day > 0 && day <= 31) == false)
{
Console.WriteLine("输入的日期有误");
}
else
{
if (month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
Console.WriteLine("{0}年{1}月{2}", year, month, day);
}
else if (month == 4 || month == 6 || month == 9 || month == 11)
{
Console.WriteLine("{0}年{1}月{2}", year, month, day);
}
else
{
if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0)))
{
if (day < 1 || day > 29)
{
Console.WriteLine("输入天数不正确,闰年2月最多29");
}
else
{
Console.WriteLine("{0}闰年{1}月{2}日", year, month, day);
}
}
else
{
if (day < 1 || day > 28)
{
Console.WriteLine("输入天数错误,平年二月最多28天");
}
else
{
Console.WriteLine("{0}年{1}月{2}日", year, month, day);
}
}
} } } }
else
{
Console.WriteLine("输入年份有误");
} #endregion
#region//生成随机数,做猜拳

            ////产生随机数
// //1、创建能够产生随机数的对象
//Random r = new Random();
// // 2、让产生随机数的这个对象调用方法来产生随机数
//int rNumeber =r.Next(1,11);//产生的随机数的范围是1-10,左闭右开区间
//Console.WriteLine(rNumeber); /*
try
{可能出现异常的代码;}
catch
{出现异常后要执行的代码;}
*/
第二遍
while (true)
{
Random sj = new Random();
int computer = sj.Next(1, 4);
Console.Write("进行猜拳游戏,请用户出拳(剪子-1,包袱-2,锤-3)\n请输入:");
int ren;
try
{
ren = Convert.ToInt32(Console.ReadLine());
if (ren == 1)//人出1的情况
{
if (computer == 1)
{
Console.WriteLine("电脑出剪子{0},平局。", computer);
}
else if (computer == 2)
{
Console.WriteLine("电脑出包袱{0},您赢。", computer);
}
else if (computer == 3)
{
Console.WriteLine("电脑出锤{0},您输。", computer);
}
}
else if (ren == 2)//人出2的情况
{
if (computer == 1)
{
Console.WriteLine("电脑出剪子{0},您输。", computer);
}
else if (computer == 2)
{
Console.WriteLine("电脑出包袱{0},平局。", computer);
}
else if (computer == 3)
{
Console.WriteLine("电脑出锤{0},您赢。", computer);
}
}
else if (ren == 3)//人出3的情况
{
if (computer == 1)
{
Console.WriteLine("电脑出剪子{0},您赢。", computer);
}
else if (computer == 2)
{
Console.WriteLine("电脑出包袱{0},平输。", computer);
}
else if (computer == 3)
{
Console.WriteLine("电脑出锤{0},平局。" + computer);
}
}
else
{ Console.WriteLine("输入错误"); }
}
catch
{
Console.WriteLine("输入有误");
} } while (true)
{
//Console.WriteLine("要开始猜拳游戏吗?(y/n)"); Random rand = new Random();
int n = rand.Next(3);
Console.WriteLine("进行猜拳游戏,请用户出拳(剪子-0,包袱-1,锤-2)"); int m = Convert.ToInt32(Console.ReadLine());
if (m == 0)
{
if (n == 0)
{
Console.WriteLine("平局");
}
else if (n == 1)
{
Console.WriteLine("您赢了");
}
else
{
Console.WriteLine("电脑赢");
} }
else if (m == 1)
{
if (n == 1)
{
Console.WriteLine("平局");
}
else if (n == 2)
{
Console.WriteLine("您赢了");
}
else
{
Console.WriteLine("电脑赢");
}
}
else if (m == 2)
{
if (n == 2)
{
Console.WriteLine("平局");
}
else if (n == 1)
{
Console.WriteLine("您赢了");
}
else
{
Console.WriteLine("电脑赢");
}
}
else
{
Console.WriteLine("你输入的内容有误");
} Console.ReadKey(); }
#endregion
#region //try catch异常捕获应用

            bool b = true;//让代码满足某些条件去执行的话,使用bool类型
int n = 0;//声明一个变量赋一个初值0
Console.WriteLine("请输入一个数字");
try//把可能出异常的代码踹下
{
n = Convert.ToInt32(Console.ReadLine());
}
catch
{
Console.WriteLine("你输入的内容不能转换为数字");
b = false; }
if (b == true)
{
Console.WriteLine(n * 2);//b==true 这句代码才会输出
}
#endregion

C#编程--第三天的更多相关文章

  1. Javascript模块化编程(三):require.js的用法

    Javascript模块化编程(三):require.js的用法 原文地址:http://www.ruanyifeng.com/blog/2012/11/require_js.html 作者: 阮一峰 ...

  2. 5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task

    5天玩转C#并行和多线程编程系列文章目录 5天玩转C#并行和多线程编程 —— 第一天 认识Parallel 5天玩转C#并行和多线程编程 —— 第二天 并行集合和PLinq 5天玩转C#并行和多线程编 ...

  3. 【转】apue《UNIX环境高级编程第三版》第一章答案详解

    原文网址:http://blog.csdn.net/hubbybob1/article/details/40859835 大家好,从这周开始学习apue<UNIX环境高级编程第三版>,在此 ...

  4. WCF编程系列(三)地址与绑定

    WCF编程系列(三)地址与绑定   地址     地址指定了接收消息的位置,WCF中地址以统一资源标识符(URI)的形式指定.URI由通讯协议和位置路径两部分组成,如示例一中的: http://loc ...

  5. 转:JavaScript函数式编程(三)

    转:JavaScript函数式编程(三) 作者: Stark伟 这是完结篇了. 在第二篇文章里,我们介绍了 Maybe.Either.IO 等几种常见的 Functor,或许很多看完第二篇文章的人都会 ...

  6. 【unix网络编程第三版】阅读笔记(五):I/O复用:select和poll函数

    本博文主要针对UNP一书中的第六章内容来聊聊I/O复用技术以及其在网络编程中的实现 1. I/O复用技术 I/O多路复用是指内核一旦发现进程指定的一个或者多个I/O条件准备就绪,它就通知该进程.I/O ...

  7. 【unix网络编程第三版】阅读笔记(三):基本套接字编程

    unp第三章主要介绍了基本套接字编程函数.主要有:socket(),bind(),connect(),accept(),listen()等. 本博文也直接进入正题,对这几个函数进行剖析和讲解. 1. ...

  8. 脑残式网络编程入门(三):HTTP协议必知必会的一些知识

    本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...

  9. 斐波那契数列-java编程:三种方法实现斐波那契数列

    题目要求:编写程序在控制台输出斐波那契数列前20项,每输出5个数换行 斐波那契数列指的是这样一个数列:1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, … 这个数列 ...

  10. [Java并发编程(三)] Java volatile 关键字介绍

    [Java并发编程(三)] Java volatile 关键字介绍 摘要 Java volatile 关键字是用来标记 Java 变量,并表示变量 "存储于主内存中" .更准确的说 ...

随机推荐

  1. linux下的软链接与硬链接

    在 Linux 底下的连结档有两种,一种是类似 Windows 的快捷方式功能的文件,可以让你快速的链接到目标文件(或目录);这种链接称为软链接. 另一种则是透过文件系统的 inode 连结来产生新档 ...

  2. 记录每个action执行时间

    import org.apache.commons.lang.time.StopWatch; import org.aspectj.lang.JoinPoint; import org.aspectj ...

  3. java正则表达式移除网页中注释代码

    /** * 移除网页中注释掉的代码 * * @param str * @return */ public static String removedisablecode(String str) { P ...

  4. ConcurrentLinkedQueue和LinkedBlockingQueue区别

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11394436.html 线程安全队列类图 两者的区别在于 ConcurrentLinkedQueue基 ...

  5. mobx学习笔记04——mobx常用api

    1 可观察的数据(observable) observable是一种让数据的变化可以被观察的方法. 那些数据可被观察? -原始类型 String.Number.Boolean.Symbol -对象 - ...

  6. 阿里云数据库备份DBS商业化发布,数据库实时备份到OSS

    数据库备份DBS已于2018年5月17日正式商业化发布. 数据库备份(Database Backup,简称DBS)是为数据库提供连续数据保护.低成本的备份服务. 它可以为多种环境的数据提供强有力的保护 ...

  7. wamp环境的搭建

    本文详细介绍了在Windows2003下使用Apache2.2.21/PHP5.3.5/Mysql5.5.19/phpMyAdmin3.4.9搭建php开发环境. 第一步:下载安装的文件 1. Apa ...

  8. python 收集测试日志--格式

    Python的logging模块提供了通用的日志系统,这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现方式记录 ...

  9. ansible控制winserver笔记

    原文地址: https://www.cnblogs.com/kingleft/p/6391652.html 环境描述: ansible控制远程windows .系统必须是sp1 .安装framewor ...

  10. python中常用内置函数用法总结

    强制类型转换:int()float()str()list()tuple()set()dict()总结,这几种类型转换函数得用法基本一致,基本就是int(要转换得数据).返回值类型为对应得数据类型   ...