关系运算符
作用:描述前后表达式之间的大小关系,关系运算符的结果一定是一个bool类型
逻辑运算符
作用:描述前后表达式之间的逻辑关系,逻辑运算符的结果一定是一个bool类型
if语句
C#程序的三大结构 顺序结构:程序的入口都是Main函数,代码从上往下,从左往右,依次执行; 分支结构:当我们的程序执行到某个位置的时候,进行条件判断,根据判断的结果来执行不同的操作; 循环结构:在满足某个条件的时候反复执行一个语句序列(循环)。 *
其中if语句属于分支结构中的语句*
if语句的第一种形式
代码语言:javascript复制if(条件表达式){
语句1;
}
当条件表达式为真,执行大阔号中的所有语句(语句1),否则,跳过大括号中的所有语句,继续执行大括号后面的语句。
if语句的第二种形式
代码语言:javascript复制if (条件表达式){
语句1;}
else{
语句2;
}
当条件表达式为真,执行if大阔号中的所有语句(语句1),否则,执行else大括号中的所有语句(语句2)。
if语句的第三种形式(级联式)
代码语言:javascript复制if (条件表达式1){
语句1;
}
else if
(条件表达式2){
语句2;
}
else
{ 语句3;
}
如果条件表达式1为真,执行语句1,如果条件表达式1为假,条件表达式2为真,执行语句2,如果条件表达式1与条件表达式2都为假,执行语句3;
练习 1.从控制台输入两个整数,并输出两个数中的最大值。
代码语言:javascript复制 string a = Console.ReadLine();
string b = Console.ReadLine();
int numb1 = Convert.ToInt32(a);
int numb2 = Convert.ToInt32(b);
if (numb1 > numb2){
Console.WriteLine(numb1);
}
else{
Console.WriteLine(numb2);
}
2.从控制台输入两个小数,并输出两个数中的最小值。
代码语言:javascript复制 float c, d;
c = float.Parse(Console.ReadLine());
d = float.Parse(Console.ReadLine());
if (c<d) {
Console.WriteLine(c);
}
else
{
Console.WriteLine(d);
}
3.输入一个年份,判断该年份是否是闰年?如果是闰年,则输出该年是闰年,否则输出该年不是闰年。 闰年:能被400整除或者(能被4整除,但是不能被100整除)。
代码语言:javascript复制int a;
Console.WriteLine("请输入一个年份来判断是否为闰年");
a = Convert.ToInt32(Console.ReadLine());
if (a@0==0 && a%4==0 && a0!=0)
{
Console.WriteLine("该年为闰年");
}
else
{
Console.WriteLine("该年不是闰年");
}
4.从键盘输入一个月份,如果是3-5,输出春季,如果是6-8,输出夏季,如果是9-11,输出秋季,如果是12-2,输出冬季。
代码语言:javascript复制 int a;
Console.WriteLine("请输入一个月份");
a = Convert.ToInt32(Console.ReadLine());
switch (a)
{
case 3:
case 4:
case 5:Console.WriteLine("该月份为春天");
break;
case 7:
case 8:
case 6: Console.WriteLine("该月份为夏天");
break;
case 9:
case 10:
case 11: Console.WriteLine("该月份为秋季");
break;
default:
Console.WriteLine("该月份为冬季");
break;
}
三目运算符
语法描述:布尔类型 ? 结果a : 结果b 结果:如果前面布尔类型为true,则结果为结果a,否则结果为结果b 举例: a > b ? a : b 即:如果a > b,则结果为a,否则结果为b
switch语句
语法规范
代码语言:javascript复制switch(表达式)
{
case值1:{语句1;break;}
case值2:{语句1;break;}
case值3:{语句1;break;}
......
case值n:{语句1;break;}
default:{语句n 1;break;}
}
执行过程: 根据表达式的值,去大括号中查找与该值相匹配的分支。 如果匹配成功,就立即执行分支后对应的语句,直到遇到break关键字,跳出switch继续往下执行。 如果没有匹配的结果,就执行default后的语句,直到遇到break关键字,结束switch语句。
break关键字 break用在switch…case中用于结束某个case,然后执行switch之外的语句。 注意事项 整个default语句都可以舍掉,default语句只能有一个。 case后边的标签只能是常量或者常量表达式,不能用变量作为case的标签。 case后面只要有操作,最后一定要加break。 多个case可以运行一个语句块。
练习 输入一个月份,打印该月份的天数
代码语言:javascript复制 int a;
Console.WriteLine("请输入一个月份");
a = Convert.ToInt32(Console.ReadLine());
switch (a)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:Console.WriteLine("该月份总共31天");
break;
case 4:
case 6:
case 9:
case 11: Console.WriteLine("该月份总共31天");
break;
default:
Console.WriteLine("闰年时29天,平年时28天");
break;
}
文字游戏
代码语言:javascript复制using System;
using System.Reflection.Metadata;
namespace test1
{
class Program
{
//变量声明
static string name = ""; //姓名
static int hp; //最大血量
static int c_hp; //当前血量
static int g_hp; //成长血量
static int atk; //攻击力
static int g_atk; //成长攻击力
static int speed; //速度
static int g_speed; //成长速度
static int level = 0; //等级.1000经验升一级
static int exp = 0; //经验
static int money = 10; //金钱
//新手村
static void xinShouCun()
{
//引导
Console.WriteLine("您的前方有一名乞丐,另一侧站着一名富豪,您要与谁交谈?");
Console.WriteLine("1.乞丐 2.富豪 3.不对话");
string str = Console.ReadLine();
//判断
if (str =="1")
{
//乞丐
if (new Random().Next(0,100)>70)
{
c_hp -= 30; //残废
speed -= 5; //速度
//提示
Console.WriteLine("乞丐拿出一本绝世武功,可惜没领悟!血量减30!");
}
else
{
//成长提升
g_hp = 5;
g_atk = 1;
g_speed = 5;
//提示
Console.WriteLine("乞丐拿出本绝世武功,你练完后,感觉飘飘欲仙!各项数值得到增长!");
}
}else if (str == "2")
{
//富豪
if (new Random().Next(0,100)>70)
{
//赚钱了
money = 20;
//提示
Console.WriteLine("富豪看你面善,送你20两银子出去历练。");
}
else
{
//血本无归
money -= 9;
//提示
Console.WriteLine("富豪心情不好,让手下打了你一顿,损失了9两银子。");
}
ShowInfo();
}
//离开新手村提示
Console.WriteLine("你伴随着黄昏的到来,离去了新手村,向着太阳落幕的地方走去。。。");
//当前属性
ShowInfo();
}
//创建角色
static void CreateCharacter()
{
Console.WriteLine("请输入你的角色名称:");
//输入角色名称
name = Console.ReadLine();
//判断名称是否正确
if (string.IsNullOrEmpty(name)) //判断名字是否为空类型
{
//给与默认名称
name = "憨憨";
}
//血量 随机90到111之间
hp = new Random().Next(90,111); //随机在范围里产生一个数
c_hp = hp;
//成长血量
g_hp = new Random().Next(7, 12);
//攻击力
atk = new Random().Next(7, 12);
//成长攻击
g_atk = new Random().Next(2, 5);
//速度
speed = new Random().Next(90, 111);
//速度成长
g_speed = new Random().Next(10,16);
//给出提示
Console.WriteLine("恭喜你,角色创建成功!您的角色名称为:{0},血量为:{1},攻击力为:{2},速度为:{3}。",name,hp,atk,speed);
//187-232 <200 200-210 210>
//基础数值总和
int num = hp speed atk;
if (num < 200)
{
Console.WriteLine("您的角色数值超低,脸太黑了!");
}
else if (num < 210)
{
Console.WriteLine("您的角色看起来平凡到底,做了一个正常人。");
}
else
{
Console.WriteLine("您的角色看起来充满了王八之气!将来定是夺取天下之人");
}
//成长数值总和 19-30 19-23 24-27 28-30
num = g_atk g_hp g_speed;
if (num<=23)
{
Console.WriteLine("您的角色潜力看起来好像没什么潜力。。。");
}else if (num<=27)
{
Console.WriteLine("您的角色潜力看起来一般般。");
}
else
{
Console.WriteLine("您的角色看起来潜力无穷的样子!");
}
//当前属性
ShowInfo();
}
//查看信息
static void ShowInfo()
{
Console.WriteLine("您当前的属性为hp:{0}/{1},atk:{2},speed:{3},money:{4}",c_hp,hp,atk,speed,money);
}
//郊区
static void jiaoQu()
{
//提示
Console.WriteLine("村口站着一名满口大金牙开着豪车的商人,是否对话?1.对话 2.抢劫 3.无视");
string str = Console.ReadLine();
if (str =="1")
{
//对话
Console.WriteLine("商人嘴里咬着雪茄笑嘻嘻的说道:‘只要你给我20两银子,就能让你飘飘欲仙!’是否给与?1.给 2.不给");
//输入
string str2 = Console.ReadLine();
if (str2=="1" && money >= 20)
{
//扣钱
money -= 20;
//加属性
g_hp = 10;
g_atk = 2;
g_speed = 8;
Console.WriteLine("经过商人的锻炼,你感觉自己全身充满了力量!");
}
else
{
Console.WriteLine("商人看了你一眼,离开了这里");
}
}else if (str == "2")
{
//抢劫
int num = hp atk speed;
//如果大于210,天资聪慧,能抢劫成功
if (num>210)
{
money = 30;
Console.WriteLine("商人吓得屁滚尿流,丢下30两银子跑了");
}else
{
money -= 10;
Console.WriteLine("商人掏出了他的大炮,抢劫失败,拿出10两银子自保。。");
}
}
ShowInfo();
}
//野外
static void yeWai()
{
Console.WriteLine("碰到一头野猪,是否攻击?1.攻击 2.释放技能‘大威天龙’ 3.逃跑");
string str1 = Console.ReadLine();
if (str1 == "1")
{
int num = hp atk speed;
//如果大于200,天资聪慧,能打败野猪
if (num>200)
{
//升级后的属性加成
exp = 1000;
level = 1;
hp = g_hp;
atk = g_atk;
speed = g_speed;
Console.WriteLine("你战胜了野猪,获得经验 1000,等级升级为2。");
}else
{
c_hp -= 30;
Console.WriteLine("你没打过野猪,当前血量损失了30点。");
}
}else if (str1 =="2")
{
//升级后的属性加成
money -= 2;
exp = 1000;
level = 1;
hp = g_hp;
atk = g_atk;
speed = g_speed;
Console.WriteLine("你战胜了野猪,获得经验 1000,等级升级为2。");
}
else if (str1 == "3")
{
money -= 1;
Console.WriteLine("你选择了逃跑,损失了1银两。");
}
ShowInfo();
//离开野区提示
Console.WriteLine("随着你升到了二级,你觉得这个地方已经无法满足你的,于是你向更远的皇宫方向走去。");
}
static void huangGong()
{
Console.WriteLine("刚来到皇宫的大门口,你看到了一个气质超凡的靓女正在愁眉苦脸的等待着什么。你是否上去搭讪?1.搭讪 2.给她一两银子 3.不理她,继续赶路。");
string str = Console.ReadLine();
if (str == "1")
{
//搭讪
Console.WriteLine("靓女对你微微一笑,并没有发生什么其他事情。");
}else if (str == "2")
{
money -= 1;
Console.WriteLine("靓女深情脉脉的看着你,她好像疯狂的爱上了你,她想要嫁给你,你是否同意?1.同意 2.不同意");
string str1 = Console.ReadLine();
if (str1 == "1")
{
Console.WriteLine("你同意了,从此和她过上了没羞没躁的日子");
}
else if(str1 == "2")
{
Console.WriteLine("你果断拒绝了,声明自己乃是正人君子,绝无任何非分之想。");
hp -= 999;
Console.WriteLine("该女子十分生气,趁你不注意从怀里掏出一颗手榴弹与你同归于尽。你卒");
}
ShowInfo();
}
}
static void Main(string[] args)
{
//创建角色
CreateCharacter();
xinShouCun();
jiaoQu();
yeWai();
huangGong();
}
}
}