using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 复习2
{
class Program
{
static void Main(string[] args)
{
/*******关系运算符********/
// > < >= <= == !=
//主要用于比较运算,比较之后会得出一个结果,这个结果只能有真假两种情况(bool)
//也就是说最后的结果需要用一个bool类型的变量来接收
//在C#语言中不能用0代替false,也不能用非0代替true
/*********分割线*********/
//定义一个bool类型的变量,来接收两个整数a,b的比较结果
int a = 5;
int b = 3;
bool result = a > b;
Console.WriteLine(result);
//定义两个整数,判断两个整数是否相等(==),并打印结果
int a1 = 5;
int b1 = 3;
bool result1 = (a1 == b1);
Console.WriteLine("a == b结果为{0}", result1);
//定义两个整数,判断两个整数是否不相等(!=),并打印结果
int a2 = 5;
int b2 = 3;
bool result2 = (a2 != b2);
Console.WriteLine("a2 == b2结果为{0}", result2);
/*********逻辑运算符********/
//逻辑运算符组成的表达式,结果只能用bool类型来接收,非真即假
//逻辑与(&&):运算符两边表达式同时为真的情况下,返回值为真(同真为真,一假全假)
//逻辑与短路事件:一假即假,当运算符在左侧表达式结果为假,那么右侧表达式不再参与运算,整个结果直接为假
//逻辑或(||):运算符两边表达式同时为假的情况下,返回值为假(同假为假,一真全真)
//逻辑或短路事件:一真即真,当运算符左侧表达式结果为真,那么右侧表达式不再参与运算,整个结果直接为真
//逻辑非(!):将表达式结果取反
//逻辑与:
bool a3 = 5 > 4; //真
bool b3 = 3 > 6; //假
bool result3 = (a3 && b3); //假
Console.WriteLine(result3);
//短路事件
int a4 = 3;
int b4 = 4;
bool result4 = (a4 > b4 && (++a4 == b4));
Console.WriteLine(result4);
Console.WriteLine(a4);
//逻辑或:
bool a5 = 5 > 4; //真
bool b5 = 3 > 6; //假
bool result5 = (a5 || b5); //真
Console.WriteLine(result5);
//短路事件
int a6 = 3, b6 = 4;
bool result6 = (a6 < b6 || (++a6 == b6));
Console.WriteLine(result6);
Console.WriteLine(a6);
Console.ReadLine();
//逻辑非
bool a7 = 5 > 4; //真 true
Console.WriteLine(!a7); //假 false
/*********分支结构*********/
//程序的三种结构:
//顺序结构:顺序执行,从上到下,从左到右依次执行
//分支结构:通过一个判断,在两个可选的语序序列之间,选择一个执行
//循环结构:在满足某个特定的条件,反复的执行一个语句序列
//if语句
/*
if(条件表达式)
{
语句a;
}
如果条件表达式结果为真,那么执行语句a
*/
if (false)
{
Console.WriteLine("你成功地打印出该语句");
}
bool resultx = 5 > 3; //true 真
if (resultx)
{
Console.WriteLine("你成功地打印出该语句");
}
//练习:输入两个整数,判断它们的大小,并输出结果
int ax = int.Parse(Console.ReadLine());
int bx = int.Parse(Console.ReadLine());
if (ax > bx)
{
Console.WriteLine("ax >bx");
}
if (ax < bx)
{
Console.WriteLine("ax < bx");
}
//练习:从控制台输入,如果是m则输出男
char c = char.Parse(Console.ReadLine());
if (c == 'm')
{
Console.WriteLine("男");
}
/*
if语句第二种形式
if(条件表达式)
{
语句1;
}
else
{
语句2;
}
如果条件表达式为真,执行语句1,否则执行语句2
*/
bool resultn = true;
if (resultn)
{
Console.WriteLine("真的情况下打印该语句");
}
else
{
Console.WriteLine("假的情况下打印该语句");
}
//练习:输入两个不一样的整数,打印出较大的数
int num1 = int.Parse(Console.ReadLine());
int num2 = int.Parse(Console.ReadLine());
if(num1 > num2)
{
Console.WriteLine("num1 = {0} , num1 > num2", num1);
}
else
{
Console.WriteLine("num2 = {0} , num2 > num1", num2);
}
//练习:输入一个字母,如果是m打印男,否则打印女
char gender = char.Parse(Console.ReadLine());
if (gender == 'm')
{
Console.WriteLine("男");
}
else
{
Console.WriteLine("女");
}
/*
if语句的第三种形式
if(条件表达式1)
{
语句1;
}
else if(条件表达式2)
{
语句2;
}
else
{
语句3;
}
如果条件表达式1为真,则执行语句1,条件表达式2为真,则执行语句2,否则执行语句3
注:else if最多不超过3个
*/
//输入一个整数,判断该年是否是润年?如果是润年,则输出该年是润年,否则输出该年不是润年
Console.WriteLine("请输入一个年份:");
int year = int.Parse(Console.ReadLine());
if ((a % 4 == 0 && a % 100 != 0) || a % 400 ==0)
{
Console.WriteLine(year + "该年是润年");
}
else
{
Console.WriteLine(year + "该年不是润年");
}
// 从键盘输入一个字符,如果是数字打印this is digital,如果是大写字母,打印this is capital letter,
//如果是小写字母,打印this is letter,如果是其他字符,打印other
Console.WriteLine("请输入一个字符:");
char charc = char.Parse(Console.ReadLine());
if (charc >= 'a' && charc <= 'z')
{
Console.WriteLine("this is letter");
}
else if (charc >= 'A' && charc <= 'Z')
{
Console.WriteLine("this is capital letter");
}
else if (charc < 'A' || charc > 'z' || (charc > 'Z' && charc < 'a'))
{
Console.WriteLine("other");
}
/**********条件运算符**********/
/*
格式:
条件表达式1 ? 表达式1 : 表达式2;
如果条件表达式结果为真,那么整个表达式的结果为表达式1的值
如果条件表达式结果为假,那么整个表达式的结果为表达式2的值
*/
//判断两个数中的最大值,并输出
//常规写法
int number1 = 5, number2 = 3;
if (number1 > number2)
{
Console.WriteLine(number1);
}
else
{
Console.WriteLine(number2);
}
//或者
int number3;
number3 = (number1 > number2) ? number1 : number2;
Console.WriteLine(number3);
//判断3个数中最大的值
//常规写法
int numb1 = int.Parse(Console.ReadLine());
int numb2 = int.Parse(Console.ReadLine());
int numb3 = int.Parse(Console.ReadLine());
if (numb1 > numb2 && numb1 > numb3)
{
Console.WriteLine("max number is {0}", numb1);
}
else if (numb2 > numb3 && numb2 > numb1)
{
Console.WriteLine("max number is {0}", numb2);
}
else if (numb3 > numb2 && numb3 > numb1)
{
Console.WriteLine("max number is {0}", numb3);
}
//或者
int max = (numb1 > numb2 ? numb1 : numb2) > numb3 ? (numb1 > numb2 ? numb1 : numb2) : numb3;
Console.WriteLine(max);
/***********switch 语句**********/
/*
格式:
switch(表达式){
case 值1:{语句1; break;}
case 值2:{语句2; break;}
. . . . . .
case 值n:{语句n; break;}
default:{语句n + 1; break;}
}
break:用在switch case之间,接收某个case后,跳出执行switch外的语句
当表达式的值满足值1,执行语句1。满足值2,执行语句2。否则执行语句n
case后面可以跟常量或者常量表达式,不能跟变量
throw:将break替换成throw之后,就可以一直往下执行
*/
//练习:从控制台输入1 - 7,分别打印对应的星期几
Console.WriteLine("请输入一个1到7的数字");
int day = int.Parse(Console.ReadLine());
switch (day)
{
case 1: { Console.WriteLine("星期一,上班"); break; }
case 2: { Console.WriteLine("星期二,上班"); break; }
case 3: { Console.WriteLine("星期三,上班"); break; }
case 4: { Console.WriteLine("星期四,上班"); break; }
case 5: { Console.WriteLine("星期五,上班"); break; }
case 6: { Console.WriteLine("星期六,加班"); break; }
case 7: { Console.WriteLine("星期天,加班"); break; }
default: { Console.WriteLine("输入错误"); break;}
}
//从控制台输入一个运算符,根据输入的结果打印出相应的值
int an = 8, bn = 5;
Console.WriteLine("请输入一个运算符:");
char aly = char.Parse(Console.ReadLine());
switch(aly)
{
case '+': {Console.WriteLine(an + bn); break; }
case '-': { Console.WriteLine(an + bn); break; }
case '*': { Console.WriteLine(an + bn); break; }
case '/': { Console.WriteLine(an + bn); break; }
case '%': { Console.WriteLine(an + bn); break; }
default: { Console.WriteLine("输入错误");break; }
}
}
}
}