第四十五课 switch语句基本语法
1. switch语句格式:
switch( 变量 )
{
case 1: 判断条件1;
语句;
break;
case 2: 判断条件2;
语句;
break;
case 2: 判断条件3;
语句;
break;
default:(除以上条件外)
语句;
break;
}
第四十五课 switch语句基本语法
1. switch语句格式:
switch( 变量 )
{
case 1: 判断条件1;
语句;
break;
case 2: 判断条件2;
语句;
break;
case 2: 判断条件3;
语句;
break;
default:(除以上条件外)
语句;
break;
}
第四十三课 编程题
1. 如何判断一个单字符a是不是数字
if( a >= '0' && a <= '9')
‘0’和‘9’都是字符(与数字0和就不同),指的是在阿斯克码表上,对应数字类型和字母类型的区分,意思是说,你输入的这个单字符所对应的是不是表阿斯克码表中数字范围内的。
比如:这段就要求你输入的是数字类型,出了数字类型就不行,所以就要有这个要求了。
判断小写字母a到z
if(x >= 'a' && x <= 'z')这么写更直观。
也可以写成if( x>= 97 && x<= 122)和上面的表达是一样的
第四十二课 编程题
1. 输入三个整数,按照从小到大顺序输出。
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
if(a !=b && b!=c && a!= c) {
if (a > b)
{
int temp = a;
a = b;
b = temp;
}
if (b > c)
{
int temp = b;
b = c;
c = temp;
}
if (a > b)
{
int temp = a;
a = b;
b = temp;
}
Console.WriteLine(a + " " + b + " " + c);
}
解析:总if语句中表示三个数不能相等。
例如,我们给出个字母和数字对应的表格。
a b c
4 3 1
第一个if语句以后变为
a b c
3 4 1
第二个if语句以后变为
a b c
3 1 4
第三个if语句以后变为
a b c
1 3 4
比较以后,将大的数字还给后面的字母容器承装。
2. 输入一个小数m和整数k(k为0或1);
如果k为0,则输出m保留整数部分;
如果k为1,则输出m,四舍五入保留1位小数。
Console.WriteLine("先输入一位小数");
double m = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("再输入0或1");
int k = Convert.ToInt32(Console.ReadLine());
if(k == 0)
{
int temp = (int)m;
Console.WriteLine(temp);
}else if(k == 1)
{
double sep = ((int)((m + 0.05) * 10))/10.0;
Console.WriteLine(sep);
}
注:
比如输入的小数为:3.4567
①取小数部分方法:
取一位小数时,需要百分位上的数四舍五入,那么让这个小数+0.05,如果百分位上的数不大于5,那么+0.05也不能进一位,所以相当于被四舍;百分位上的数大于5,那么+0.05就会被进上去一位,相当于被五入了。
②在除以一个数,并且想得到一位小数部分,那么就要写/10.0,将除数带上一位小数,这样结果才会带上一位小数。(别像我傻傻地写了个10上去给自己弄的怀疑人生了,看了老师继续讲才知道的。)
第四十一课 编程题
1. x-- ,x++ 只要是参加过一次运算以后就递增一次,不管是不ture还是false。
2. if( )里面只能是bool类型的。
第四十课 编程题 if语句嵌套
1. 体能测试!每个人都需要测试两组项目,请输入你的性别(m或f)和抽到的单双数号码,输出你的测试项目。
体育课测试项目表
长跑 单数 双数
男male 1000米 跳远 俯卧撑
女female 800米 跳绳 仰卧起坐
样例输入 m 3 输出1000米 跳远
样例输入 f 8 输出800米 仰卧起坐
char zimu = Convert.ToChar(Console.ReadLine());
int shuzi = Convert.ToInt32(Console.ReadLine());
if(zimu == 'm')
{
string yichuanzimu = "1000米长跑";
if (shuzi % 2 == 1)
{
yichuanzimu += " 跳远";
}
else
{
yichuanzimu += " 俯卧撑";
}
Console.WriteLine(yichuanzimu);
}
else if(zimu == 'f')
{
string gengchangdeyichuanzimu = "800米长跑";
if (shuzi % 2 == 1)
{
gengchangdeyichuanzimu += " 跳绳";
}
else
{
gengchangdeyichuanzimu += " 俯卧撑";
}
Console.WriteLine(gengchangdeyichuanzimu);
}
注:
字符串可以先装变量里一串,后面如果再想接着装一串的话就用 += “ 老板再来一串”;,最后直接输出变量,里面的串就都端上来了(确实饿了,注意“”里面的前端有空格哈,要么老板不给加串)。
2. if语句简写
if(){ }语句中,如果()内的判断只有一条语句,而{ }里面也只有一条语句,那么(){ }都可以扔掉不要。else{就不能扔掉 ; }
如果后面有多条,那么if语句就认为只有下一条是它的,其他的它都不管else也是这样(看来是师出同门啊)
\n 换行
\t
注释快捷键 Ctrl+ K+ C
Ctrl+ K+ U
using Systerm;
namespace 项目名
{
class Prpgram
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
第三十九课 编程题 if语句
1. 输入一个非零整数,判断是正数还是负数,并输出它的绝对值。
int a = Convert.ToInt32(Console.ReadLine());
if(a > 0)
{
Console.WriteLine(a);
}
else if(a < 0)
{
Console.WriteLine(a+(-a)*2);
}
注:
最后一步我想的笨拙些,可也尝试了一次()里面可以这样运算。
0减负数得正数,我的数学啊,有点硬伤了!!
2. 最大值:输入三个整数,求这个三个数中最大值的平方。
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
int max = a;
if (b > max)
{
max = b;
}
if(c > max)
{
max = c;
}
Console.WriteLine(max*max);
最后输出的是max的平方值,输出()里要写max。
注:
这里需要引用另一个变量“容器”,这样就不会乱了,容器里一直装着最大值,如果直接用a、b、c比较,麻烦不说,额~反正我是没实验出来。这让我想起来a和b的值相互调换的那题,和那个道理一样,嗯,引用一个值还是比较容易的。
3. 任意给出两个大写英文字母,比较它们的大小,规定A、B、C……Z一次从小到大排列。
Console.WriteLine("请每行输入一个大写字母");
char a = Convert.ToChar(Console.ReadLine());
char b = Convert.ToChar(Console.ReadLine());
int c = Convert.ToInt32(a);
int d = Convert.ToInt32(b);
bool e = ((c >= 63 && c <= 90) || (d >= 63 && d <= 90));
if(e == true && c > d)
{
Console.WriteLine("值大小比较:"+"{0}<{1}", d, c);
char f = (char)c;
char g = (char)d;
Console.WriteLine("按字母顺序排列比较:"+"{0}<{1}", g, f);
}
else if(e == true && c < d)
{
Console.WriteLine("{0}<{1}",c,d);
char f = (char)c;
char g = (char)d;
Console.WriteLine("{0}<{1}",f,g);
}
else if(e == false)
{
Console.WriteLine("请输入大写字母");
}
知道自己写的有点傻,再多也不会了,就学了这些。
“Unicode是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求。”
第三十七课 编程题 if语句
1. 输入平面直角坐标系中的一个坐标值,判断这个点是位于哪一个象限,原点或坐标轴上。
编者按:象限区域划分完全不对,我不知道什么是象限,去网上查了个大概,然后按照自己意愿划分的象限区域,别笑哈。
int xzhi = Convert.ToInt32(Console.ReadLine());
int yzhi = Convert.ToInt32(Console.ReadLine());
if(xzhi <0 && yzhi > 0)
{
Console.WriteLine("坐标位于第一象限 坐标为:X:{0},Y:{1}",xzhi,yzhi);
}else if(xzhi > 0 && yzhi >0)
{
Console.WriteLine("坐标位于第二象限 坐标为:X:{0},Y:{1}", xzhi, yzhi);
}else if(xzhi > 0 && yzhi < 0)
{
Console.WriteLine("坐标位于第三象限 坐标为:X:{0},Y:{1}", xzhi, yzhi);
}else if(xzhi < 0 && yzhi < 0)
{
Console.WriteLine("坐标位于第四象限 坐标为:X:{0},Y:{1}", xzhi, yzhi);
}else if(xzhi == 0 && yzhi == 0)
{
Console.WriteLine("坐标位于原点 坐标为:X:{0},Y:{1}", xzhi, yzhi);
}else if(xzhi == 0 && yzhi != 0)
{
Console.WriteLine("坐标位于Y轴上 坐标为:X:{0},Y:{1}", xzhi, yzhi);
}else if(xzhi != 0 && yzhi == 0)
{
Console.WriteLine("坐标位于X轴上 坐标为:X:{0},Y:{1}", xzhi, yzhi);
}
这里应该将判断原点放在最后,可以用else{Console.WriteLine("坐标位于原点");}这样些就方便多了。
2. 小技巧:
当写相等容易出错时
例如:
x == 0;可以写成0 == x;这样,如果写成0 = x会自动报错,因为变量不能赋值给数值(少一个=真是难找)。
3. 输入三角形的三条边a、b和c,判断是否可以组成三角形?
满足组成三角形的条件为:
任意两条边的和大于第三边,任意两边之差小于第三边。
int a = Convert.ToInt32(Console.ReadLine());
int b = Convert.ToInt32(Console.ReadLine());
int c = Convert.ToInt32(Console.ReadLine());
if(a > 0 && b > 0 && c > 0)
{
if ((a + b > c) && (b + c > a) && (a + b > c))
{
Console.WriteLine("可以组成三角形");
}
else
{
Console.WriteLine("不可以组成三角形");
}
}
else
{
Console.WriteLine("抱歉,您输入的数值要大于零");
}
加了判断各个值大于零的判断,只是练习。
第三十七课 if-else-if语句 多条件判断
1. if-else-if语句
意思是,判断这个行不行,不行就看看下有一个行不行,如果下一个还不行就再看看下下一个,哪个行就在那个地方住下(输出)。——这样好记。
2. 输入考试成绩(0-100),
如果90-100,评级为A,
如果70-89,评级为B,
如果60-69,评级为C,
如果小于60,评级为D。
根据输入的成绩判断评级。
int a = Convert.ToInt32(Console.ReadLine());
if(a >= 90)
{
Console.WriteLine("评级为:A");
}else if(a >= 70)
{
Console.WriteLine("评级为:B");
}else if(a >= 60)
{
Console.WriteLine("评级为:C");
}
else
{
Console.WriteLine("评级为:D");
}
第三十五课 if语句嵌套
商场举行活动,年龄在18岁到30岁之间可以参加活动,年龄是奇数的可以获得奖品。
int age = Convert.ToInt32(Console.ReadLine());
if(age >= 18 && age <=30)
{
Console.WriteLine("可以参加活动");
if(age % 2 == 1)
{
Console.WriteLine("恭喜获得奖品");
}
else
{
Console.WriteLine("抱歉,没有获得奖品");
}
}
else
{
Console.WriteLine("不可以参加活动");
}
第三十五课 if条件语句
1. if条件语句:
if( ){ }
2. if语句的应用:
if( ){ }
( )里面是判断条件,true或flash,其实就是bool的判断;{ }里面是满足bool条件所要执行的代码。
3. if( ){ }else{ }
else的( )内写的是if( )中判断不满足条件时的语句。
第三十二课 编程题
1. 输入一个三位数,让这个三位数倒序输出。
int a =Convert.ToInt32(Console.ReadLine());
int ge = a %10;
int shi = (a/10)%10;
int bai = a/100;
Console.WriteLine(""+bai+shi+ge);
注:小技巧
Console.WriteLine(""+bai+shi+ge);括号内在开始的地方加双引号代表输入个字符,那么后面的+号就表示拼合了,所以就可以一倒序的形式输出数字了。
2. B国每次发送的电报都是一个五位数组成的,这个五位数的十位和千位组成的两位数就是对应的电报内容,帮助B国对数据进行解密。
自己写的:
int number = Convert.ToInt32(Console.ReadLine());
int qian = (number / 1000) % 10;
int shi = (number / 10) % 10;
int a = Convert.ToInt32("" + qian + shi);
char b = (char)a;
Console.WriteLine(b);
其中的int a = Convert.ToInt32("" + qian + shi);可以写成老师那样的,int a =qian*10+shi;
3. int a = 3;
int b = a++ + a++;
Console.WriteLine(a);
Console.WriteLine(b);
输出结果为:5
7
注:(本人第一次学计算机语言,纯纯的个人理解哈,不喜欢可以略过,同时跪求大神指点)
++在后,先赋值再递增,所以a++先提取a的值为3,但大+号后面还有个a++(这时候就可是迷糊了),当前面的a值3给了后面的a,这个过程就参与了一次次运算,此时a的值变为4(a++的意思是不参与运算时a的值不变,++的意思是只要参与运算就递增,上面的过程就是一次运算,所以大+后面a的值就为4了)。
大+后面的a++也是如此,此时的值为4,本来应该结束了,可是又要参与合成b值的运算,此时a的值就变成了5(好好想想老师给我们讲的例子,int a = 3;b = a++;当问,问a与b的值个是多少?a的值为3,b的值为4)。
4. int a =3;
int b = a++ + (++a);
Console.WriteLine(b);
输出结果为:8
注:(还是小白个人理解,不喜欢可以略过哈,跪求大神指点哦)
a++中a的值为3,移动到后面赋值这个过程中就参加了一次运算,递增为了4,然后(++a)时,值就成为了5。所以,3+5=8。
第三十二课 练习和运算符的优先级
1. 各种运算符:
①数学运算符:
加+ 减- 乘* 除/ 取余%
②关系运算符(比较运算符):
> < >= <= == !=(不等于)
③逻辑运算符:
和&& 或|| 非!
2. 比较运算符要大于逻辑运算符。
例如:
bool isYoung = age>=18 && age <= 60;
比较运算符>=和<=要先运算,再运算逻辑运算符&&。
第三十课 逻辑运算符
1. 逻辑运算符也是布尔运算符bool。
&&:
称为"逻辑与"运算符,如果两个操作数都非零,则条件为真。(比较严谨)
||:
称为"逻辑或"运算符,如果两个操作数中有任意一个非零,则条件为真。(比较委婉)
!:
称为"逻辑非”运算符,用来逆转操作数的逻辑状态,如果条件为真则逻辑非运算符将使其为假。(比较叛逆)
2. 输入一个人的年龄,判断这个人是否是青年,青年标准是18-60岁。
string a = Console.ReadLine();
int b = Convert.ToInt32(a);
bool c = (b > 18) && (b < 60);
Console.WriteLine(c);
第三十课 关系运算符和布尔类型
1. 关系运算符是布尔类型,关系运算符中的比较运算符是比较两个数字的大小的。
bool变量,其中只有两个值,true和false。
bool a = true;
true表示:是的 真的 满足条件 1
bool b = false;
false表示:不是 假的 不满足条件 0
2. 符号条件:
== 判断左边是否等于右边。
> 判断左边是否大于右边。
< 判断左边是否小于右边。
>= 判断左边是否大于或等于右边。(满足
其中一个条件返回结果就为true)
<= 判断左边是否小于或等于右边。(满足
其中 一个条件返回结果就为true)
!= 判断左边是否不等于右边。
第二十八课 自增和自减运算符
1. 自增和自减运算符:
a++;
a--;
意思是a+1,a-1。
2. 运算符的使用方法:
①
int a = 4 ;
a++;
Console.WriteLine(a);
输出结果为5。
②
int a = 4 ;
++a;
Console.WriteLine(a);
输出结果为5。
注:
以上两种方法中a++与++a是有区别的,①中a的值是先表达a的值在递增+1,②中a的值是先递增+1再表达a的值。
3. 应用在其他代码里就能看出区别了:
例1:
int a = 5;
int b = a++;
Console.WriteLine(a);
Console.WriteLine(b);
输出结果分别为:a的值为5,b的值为6.
注:
不难理解,a的值被赋值为5,但到了int b = a++;中是a的值没有变化,还没有和a++被赋值到左边去,所以a是a,++是++他们还没有被一同使用,所以a的值还是5;而b的值为6,因为已经通过运算了,a与++一起运算后的结果给了b。
例2:
int a = 5;
Console.WriteLine(++a);
Console.WriteLine(a);
输出结果为:6
6
因为++a为先递增再赋值,所以先被加了1,然后再继续运算的。
例2:
int a = 5;
Console.WrietLine(a++);
Console.WriteLine(a);
输出结果为:5
6
因为a++为先运算再递增,所以先被取值,然后再继续运算加1。
4.怎么理解a++与++a呢?
要把a与++分开,如果a在前面,那么这一行先用a的值,++部分交给下个运算;如果++在前,++与a在一起运算,说明a已经递增了。(纯属于个人理解,目前我是这么理解的,如果以后有变化再加以理解,求大神们饶命)
第二十八课 练习题和赋值运算符
第二十七课 数学运算符
1. double 小数型变量
如果变量赋值没有写出小数,完全是整数,那么输出以后也完全是整数,后面的小数会被省略掉;如果变量赋值带小数部分的数字,那么输出以后也带有小数部分的数字。
注:
double f = 5/2.0;
Console.WriteLine(f);
输出结果为:2.5
其中5或2两个数字有一个些出小数,那么输出结果就带小数部分。