从0开始学习C#第二天
今天有点小忙,一会儿抽出时间来学习。先要去见个客户,回来写个方案,下面继续学习。
今天的学习目标
zy10
1、理解掌握数据类型的隐式转换。
2、理解掌握数据类型的显式转换。
3、掌握字符串和数值间的转换方法。
short a=22222; //short[-32768--+32767] int 型包含short unshort[0--+65535]
int n; //short 占2个字节16位 int 型4个字节32位
n = a; //隐式转换 short型可以转换成int
Console.WriteLine("n={0}",a);

zy11
1、通过一个程序体验一下流程控制。(不需要完全理解这个程序)
2、理解算法的概念。
3、理解程序的顺序结构。
//基姆拉尔森公式的BUG,每年的1月,2月被让为13月和14月
int y, m, d;
Console.WriteLine("请输入年月日");
y = Convert.ToInt32(Console.ReadLine());
m = Convert.ToInt32(Console.ReadLine());
d = Convert.ToInt32(Console.ReadLine());
if (m == 1 || m == 2) {
m += 12;
--y;
}
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;
string weekstring = "";
switch (week)
{
case 0:
weekstring = "星期天";
break;
case 1:
weekstring = "星期一";
break;
case 2:
weekstring = "星期二";
break;
case 3:
weekstring = "星期三";
break;
case 4:
weekstring = "星期四";
break;
case 5:
weekstring = "星期五";
break;
case 6:
weekstring = "星期六";
break;
}
Console.WriteLine(weekstring);
}
//已知三角形的三条边a,b,c 求面积
//海伦公式
double a, b, c, p,s;
Console.WriteLine("三角形的三条边");
a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());
c = Convert.ToDouble(Console.ReadLine());
p = (a + b + c) / 2;
s = Math.Sqrt(p*(p-a)*(p-b)*(p-c));
Console.WriteLine("三角形的面积为:{0}",s);
zy12
1、认识关系运算符,并理解掌握逻辑表达式。
2、认识三种逻辑运算符&& (且) ||(或) !(非)。
3、总结多种运算符的优先级。
4、掌握布尔变量的定义和使用。
//布尔值运算
bool isFFFF;
isFFFF = (4!=0);
Console.WriteLine(isFFFF);
isFFFF = false;
Console.WriteLine(isFFFF);
zy13
1、认识选择结构,掌握最常用的if else选择流程控制的程序编写方法。
2、掌握单分支if选择流程控制的程序编写方法。
3、掌握多分支if else if else ……选择流程控制的程序编写方法。
4、掌握嵌套选择结构流程控制的程序编写方法。
5、能够会用流程图设计选择结构。
//求分支函数的值
double a;
a = Convert.ToDouble(Console.ReadLine());
if (a > 0)
{
a++;
}
else {
if (a == 0) { a = 0; }
else
{
a--;
}
}
Console.WriteLine(a);
zy14
1、掌握多分支选择结构switch语句编程方法。
2、掌握switch语句编程的遍历过程。
3、掌握条件表达式?:选择结构。
4、通过深化练习,继续跟踪变量的变化过程。
//计算哪年的年月日是当年的第几天,原理:先计算当年的剩余天数,然后用365-剩余的天数
int y, m, d;
Console.WriteLine("请输入年月日");
y = Convert.ToInt32(Console.ReadLine());
m = Convert.ToInt32(Console.ReadLine());
d = Convert.ToInt32(Console.ReadLine());
int total = 365;//平年
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) //total = (y % 4 == 0 && y % 100 != 0 || y % 400 == 0) ? (total - 29) : (total - 28);条件选择也一样
{
total = 366;
}
switch (m) {
case 1: total -= 31; goto case 2;
case 2:
if (y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
{
total -= 29;
}
else {
total -= 28;
}
goto case 3;
case 3: total -= 31;goto case 4;
case 4: total -= 30;goto case 5;
case 5: total -= 31;goto case 6;
case 6: total -= 30;goto case 7;
case 7: total -= 31;goto case 8;
case 8: total -= 31;goto case 9;
case 9: total -= 30;goto case 10;
case 10: total -= 31;goto case 11;
case 11: total -= 30; goto case 12;
case 12: total -= 31; break;
}
Console.WriteLine("{0}年{1}月{2}日是第{3}天", y, m, d, total+d);
zy15
1、掌握循环结构的算法,并理解循环结构中的变量变化过程。
2、掌握while循环语句的编程过程。
3、理解什么是死循环。
//计算1+100;
double sum;
int i = 1;
sum = 0;
while (i <= 100) {
sum += i;
i++;
}
Console.WriteLine(sum);
zy16
1、掌握do-while循环语句的编程过程。并知道do-while和while的区别。
2、掌握for循环语句的编程过程。
3、掌握break语句和continue语句的用法。并知两者用法上的区别。
4、通过一个程序练习,学习掌握循环嵌套。
//求1+2+3+...i<2013
int i = 0;
int sum=0;
do
{
i++;
sum =sum+i;
} while (sum< 2005);
Console.WriteLine(i);
zy17
1、掌握枚举类型的定义和使用。
2、掌握结构体的定义和使用。
enum WeekDays { Sunday, Monday,Tuesday,Wednesday,Thuresday,Friday,Saturday };
namespace first_
{
class first
{
static void Main(string[] args)
{
//用for 语句的阶层n!=1!+2!+3!....N!
//百元买百鸡 每只公鸡5,每只母鸡3,3只小鸡1元。问100元买100只鸡,几个公,几只母,几只小?
//练习一下勾股定理:a*a+b*b=c*c
//enum枚举 在类的外面,或者在函数的外面定义
WeekDays today;
today = WeekDays.Saturday;
if (today == WeekDays.Saturday || today == WeekDays.Sunday) { Console.WriteLine("I love weekday"); }
}
}
}
//enum枚举 在类的外面,或者在函数的外面定义
WeekDays today;
today = (WeekDays)3;
Console.WriteLine(today);
WeekDays today1;
today1 = WeekDays.Friday;
Console.WriteLine((int)today1);
//用for 语句来做一下枚举类型的循环 可以参与运算
WeekDays today2;
for (today2 = WeekDays.Sunday; today2 <= WeekDays.Saturday; today2++) { Console.WriteLine(today2); }
struct student
{//结构体
public int number;
public string name;
public string sex;
}
namespace first_
{
class first
{
static void Main(string[] args)
{
student root;
root.number = 001;
root.name = "root";
root.sex = "男";
student pro;
pro.number = 002;
pro.name = "pro";
pro.sex = "女";
Console.WriteLine("姓名:" + root.name);
Console.WriteLine("性别:" + root.sex);
Console.WriteLine("姓名:" + pro.name);
Console.WriteLine("性别:" + pro.sex);
}
}
}
zy18
1、掌握一维数组的定义和使用。
2、掌握Length属性的用法。
3、掌握foreach循环语句在数组中的使用。
//一维数组
int []scors = { 123, 111, 134, 123, 111 };
int i = 0;
int sum1 = 0;
for (i = 0; i < scors.Length; i++)
{
Console.WriteLine(scors[i]);
sum1 += scors[i];
}
Console.WriteLine(sum1);
//一维数组foreach 的使用
string[] fridname = { "1","2","3","4", "5" };
foreach (string name in fridname)
{
Console.WriteLine(name);
}
zy19
1、掌握二维数组的定义和使用,由此推到多维数组。
2、掌握二维数组的for循环及foreach循环。
3、掌握可变数组的定义和使用。
4、掌握foreach循环语句在可变数组中的使用。
//多维数组
int [,]Matrix=new int[3,3]{{1,2,3},{4,5,6},{7,8,9}};
int sum = 0;
for (int i=0;i<3;i++)
{
for (int j=0;j<3;j++)
{
Console.WriteLine(Matrix[i,j]+"");
sum+=Matrix[i,j];
}
}
Console.WriteLine("sum={0}",sum);
//多维数组foreach
int [,]Matrix=new int[3,3]{{1,2,3},{4,5,6},{7,8,9}};
int sum = 0;
foreach (int nmuber in Matrix) {
sum += nmuber;
Console.WriteLine(nmuber);
}
Console.WriteLine("sum={0}", sum);
//可变数组
int[][] aArray = new int[2][]; int[][] aArray = new int[2][]{new int [3]{1,2,3},new int [4]{4,5,6,7}};
aArray[0]=new int [3]{1,2,3};
aArray[1] = new int[4] { 4, 5, 6 ,7};
foreach (int element in aArray[0])
{
Console.Write(element);
}
foreach (int element in aArray[1])
{
Console.Write(element);
}
zy20
1、理解函数的概念,并知道使用函数的好处。
2、掌握如何定义和使用函数,并知道函数是如何运行的。
3、掌握返回语句return的用法。
static string Weekdata(int y, int m, int d)
{
if (m==1||m==2)
{
m += 12;
y--;
}
int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400 + 1) % 7;
string weekstring = "";
switch (week)
{
case 0:
weekstring = "星期天";
break;
case 1:
weekstring = "星期一";
break;
case 2:
weekstring = "星期二";
break;
case 3:
weekstring = "星期三";
break;
case 4:
weekstring = "星期四";
break;
case 5:
weekstring = "星期五";
break;
case 6:
weekstring = "星期六";
break;
}
return weekstring; //返回结果
}
static void Main(string[] args)
{
string weekday = Weekdata(2013,10,29);
Console.WriteLine(weekday);
}

浙公网安备 33010602011771号