十一、异常
指语法上并没有任何错误,只不过在程序运行的期间,由于某些原因出现了问题,使程序不能再正常的运行。可以理解为游戏bug。
十二、接受用户的输入
用Console.ReadLine()来接受用户的输入,下面用案例来表示。
Console.WriteLine("请输入你的姓名:"); //想要接受你输入的姓名 //接受用户在控制台的输入:例如:11,3.14,男,张三,所以用string string name = Console.ReadLine(); Console.WriteLine("您的姓名是:{0}", name); Console.ReadKey();
//题目4.问用户喜欢吃什么水果,例如用户输入“苹果”,你需要回复“这么巧啊,我也喜欢吃苹果” Console.WriteLine("美女,你喜欢吃什么水果"); string fruit = Console.ReadLine(); Console.WriteLine("好巧啊,我也喜欢吃{0}", fruit); Console.ReadKey();
//题目5:请用户输入姓名,性别和年龄,当用户输入结束后,显示“xx您好,您是xx生,您的年龄是xx” Console.WriteLine("请输入您的姓名:"); string name = Console.ReadLine(); Console.WriteLine("请输入您的性别:"); string sex = Console.ReadLine(); Console.WriteLine("请输入您的年龄:"); string age = Console.ReadLine(); Console.WriteLine("{0}您好,您是{1}生,您的年龄是{2}岁", name, sex, age); Console.ReadKey();
十三、转义符
转义符指的就是一个’'+一个特殊的字符,组成了一个具有特殊意义的字符。
\n:表示换行
":表示一个英文半角的双引号
\t:表示一个tab键的空格
\b:表示一个退格键,放到字符串的两边没有效果。
\:表示一个\
//表示换行 Console.WriteLine("今天天气好晴朗,\n处处好风光。"); Console.WriteLine("\n"); //表示一个英文半角的双引号 Console.WriteLine("输入一\"\"个英文半角的双引号"); Console.WriteLine("\n"); //表示一个tab键的空格 Console.WriteLine("今天天气好晴朗,\t处处好风光。"); Console.WriteLine("\n"); //表示一个退格键,放到字符串的两边没有效果。 Console.WriteLine("\b梅西作为世界公认的第三任球王、历史第一人兼现役独一档时代超巨,也是历史上最全能的足球运动员,他年纪上来同样没有改变全能打法,所以整体表现非常出色。\b"); Console.WriteLine("\n"); //表示一个\ Console.WriteLine("经过了9个比赛日的争夺之后,\\本届世界杯小组赛前2轮比赛已经全部结束。在2轮小组赛过后,著名大数据分析网站FIveThirtyEight更新了本届世界杯的夺冠概率。\\巴西队仍旧处于领先位置,已经确定小组出线的3支球队均排在了前4位,梅西率领的阿根廷排名第5。");
注意:
\r\n:windows操作系统不认识\n,只认识\r\n
//windows操作系统不认识\n,只认识\r\n string str = "今天天气好晴朗,\r\n处处好风光。"; System.IO.File.WriteAllText(@"G:\Demo\C#.txt", str); Console.WriteLine("写入成功!"); Console.ReadKey();
运行截图:
@符号
1、取消\在字符串中的转义作用,使其单纯的表示为一个’’
2、将字符串按照编辑的原格式输出
//@取消\在字符串中的转义作用,使其单纯的表示为一个'\' string path = @"C:\系统"; Console.WriteLine(path); Console.WriteLine("\n"); //@将字符串按照编辑的原格式输出 Console.WriteLine(@"今天天气好晴朗, 处处好风光。"); Console.ReadKey();
十四、算数运算符
加 | 减 | 乘 | 除 | 模 |
+ | - | * | / | % |
优先级:
先乘除,后加减,有括号先算括号里的,相同级别的从左至右运算 int a=((1+5)+3)*2
注意:
小括号可以无限制的套用,但一定要成对出现.
/*题目6:计算半径为5的圆的面积和周长并打印出来.(pi为3.14)面积:pi*r*r; Perimeter(周长)*/ //等号两边的类型要保持一致 double r = 5; double area = 3.14 * r * r;//面积有小数,用double类型 double perimeter = 2 * 3.14 * r; Console.WriteLine("半径为5的圆的面积是{0},周长是{1}",area ,perimeter); Console.ReadKey();
/*题目7:某商店T恤(T-shirt)的价格为35元/件,裤子(trousers)的价格为120元/条.小明在该店买了3件T恤和2条裤子,请计算并显示小明应该付多少钱?*/ double T_shirt = 35; double trousers = 120; double totalMoney = 3 * T_shirt + 2 * trousers; Console.WriteLine("小明应该付{0}元", totalMoney); /*打8.8折后呢?*/ double realMoney = 0.88 * totalMoney; Console.WriteLine("打8.8折后小明应该付{0}元", realMoney); Console.ReadKey();
十五、类型转换
隐式类型转换:
我们要求等号两遍参与运算的操作数的类型必须一致,如果不一致,满足下列条件会发生
自动类型转换,或者称之为隐式类型转换。
两种类型兼容
例如:int 和 double 兼容(都是数字类型)
目标类型大于源类型
例如:double > int 小的转大的
int number = 10; double d = number;//自动类型转换 隐式类型转换 Console.WriteLine(d); Console.ReadKey();
显示类型转换:
1、两种类型相兼容 int–double
2、大的转成小的 double----int
语法:
(待转换的类型)要转换的值;
double d = 303.6; //double-int 强制类型转换/显示类型转换 int n = (int)d; Console.WriteLine(n); Console.ReadKey();
总结:
自动类型转换:int---->double
显示类型转换:double—>int
int n1 = 10; int n2 = 3; double a = n1/n2;//结果为3 double b = n1*1.0 / n2;//结果为3.33333333333 Console.WriteLine("a为{0},b为{1}",a,b); Console.WriteLine("{0:0.00}",b);//保留两位小数 Console.ReadKey();
总结
提示:这里对文章进行总结:用两道题目和一个思维导图展示。
/*题目8:编程实现计算几天(如46天)是几周零几天*/ int week = 46 / 7; int day = 46 % 7; Console.WriteLine("46天是{0}周零{1}天",week,day); Console.ReadKey();
/*题目9:编程实现107653秒是几天几小时几分钟几秒?*/ int num = 107653; //求出天数,一天是86400秒 int day = num / 86400; //求完天数剩余秒数 int secs=num % 86400; //求小时数 int hours = secs / 3600; //求小时数剩余的秒数 secs = secs % 3600; //求分钟数 int min = secs / 60; //求分钟数剩余的秒数 secs = secs % 60; Console.WriteLine("{0}秒是{1}天{2}小时{3}分钟{4}秒",num,day,hours,min,secs); Console.ReadKey();