曾瑛C#教程笔记1

zy1
控制台程序
新建控制台应用程序名字命名为:helloworld
static void Main(string[] args)//主函数
{
Console.WriteLine("Hello World!");
//类型 函数名 参数
}
zy2
二进制八进制十六进制转换为十进制
Convert.ToInt32("110011",2);
原数 基数
将非十进制的数转为十进制的数
要想将八进制,十六进制转换为十进制,只需要将基数改为8和16
Convert.ToInt32("567",8);
Convert.ToInt32("1F2A",16);
十进制转化为八进制和十六进制还有二进制
Convert.ToString(89,2)
原数 基数
要想将八进制,十六进制转换为十进制,只需要将基数改为8和16
每个电子开关成为1bit,简称位
8个位组成一个字节(Byte)
1B=8b
1个字节可以表示0到255的所有整数,共256个数
zy3
整形变量
求变量a,b的和
int a=7;
int b=2;
int sum;
sum=a+b;
Console.WriteLine("{0}+{1}={2}",a,b,sum);
zy4
int类型变量取值范围
int占4个字节,共32位,最后一位表示正负
整型是以补码表示的。正数的补码是他本身,求负数补码的方式
(1)将该数的绝对值表示成二进制形式
(2)按位取反(0变1,1变0)
(3)再加1
short型
对于较小的整数可以用short型
short型占2个字节,最高位表示正负号,后面的15位表示数值大小
long型
占8字节,最高位表示正负号,后面63位表示数值大小
无符号型
ushort,uint,ulong
内存溢出
short a,b,c;
a=32767;
b=(short)(a+1);
b=(int)(a+1);
Console.WriteLine(b);
实数类型变量
类型 字节数 取值范围 有效数字 备注
float 4 1.510^-45~3.410^38 7位 单精度实型
double 8 5.010^-324~1.710^308 15/16位 双精度实型
decimal 16 1.010^-28~7.910^28 28位 金融货币
float x=3.14159265358979f;//只有七位有效数字,3.141593
double y=3.14159265358979;
Console.WriteLine("x={0},y={1}",x,y);
小明有44444.14元,小娟有66666.51元,他们共有多少钱
float balanceofming=44444.14f;
float balanceofjuan=66666.51f;
float total=balanceofming+balanceofjuan;
Console.WriteLine(total);
decimal balanceofming=44444.14m;
decimal balanceofjuan=66666.51m;
decimal total=balanceofming+balanceofjuan;
Console.WriteLine(total);
zy5
字符
'a','b'
字符串
"string","字符串"
char mys;
mys='x';//这里是单引号
Console.WriteLine(mys);
mys='2';
Console.WriteLine(mys);
mys='#'
Console.WriteLine(mys);
string mystring;
mystring="How do you do";
Console.WriteLine(mystring);
mystring="I am fine";
Console.WriteLine(mystring);
字符串输出
Console.WriteLine()//自动换行
Console.WriteLine()//不换行
字符串输入
Console.Read()//一个字符的读取
Console.ReadLine()//用来读取一条字符串
//小程序
Console.WriteLine("请输入您的姓名:");
string name=Console.ReadLine();
Console.WriteLine("您的姓名为:"+name);
//读取字符
Console.WriteLine("请输入一个字符串:");
int ch=Console.Read();//输入一个字符,返回的一个整型的ASCII编码
Console.WriteLine("ASCII编码为:"+ch);
char tt=Convert.ToChar(ch);
Console.WriteLine("你输入的字符串为:"+tt);
//数字的读取
//根据园的半径求面积
double r,s;
Console.Write("r=");
r=Convert.ToDouble(Console.ReadLine());//string类型
s=3.14rr;
Console.WriteLine("s="+s);
//Convert.ToInt32();
zy6
ASCII编码
//把一个字符转化为整数,得到ASCII编码
int code=(int)('A');
Console.WriteLine(code);
char ch=(char)(65);
Console.WriteLine(ch);
//用十六进制输出
Console.WriteLine("\u0047\u006f\u006f\u0064\u0021");//Good!
Unicode编码
Console.WriteLine("\u5c0f\u56ed\u9999\u5f84\u72ec\u5f98\u5f8a");//小园香径独徘徊
char tt="玉";
int code10=(int)tt;
string code16=Convert.ToString(code10,16);
Console.WriteLine("{0}的Unicode编码为:{1}",tt,code16);
转义字符
Console.WriteLine("What is your name?\nMy name is Jack");
Console.WriteLine("c:\Windows\fonts");
Console.WriteLine("小明说:"我哥他三姑"");
@控制符
Console.WriteLine(@"c:\Windows\fonts");
+运算符
字符串连接的作用
//连接字符串
float pi=3.14;
Console.WriteLine("圆周率是:"+pi);
zy7
变量命名规则
变量的第一个字符必须是字母,下划线,汉字或者@
其后的字符串可以是字母数字下划线或者汉字
变量区分大小写
驼峰式方式命名
常量
const double pi=3.1415;//常量
double r=7;
double area=pirr;
double zhouchang=2pir;
zy8
//北京奥运会的开幕日期2008.8.8,那么这天是周几?
// y-年 m-月 d-日
int y=2008;
int m=8;
int d=8;
//以下是基姆拉尔森公式
int week=(d+2m+3(m+1)/5+y+y/4-y/100+y/400+1)%7;
Console.WriteLine("2008.8.8是星期:"+week);

/
%取余
int n=5/2;//舍去小数部分
Console.WriteLine(n);
double y=10/3;//y=3
double z=10.0/3;//z=3.33333333333
int a=9,b=2;
Console.WriteLine(a%b);//1
double x,y;
Console.WriteLine("x=");
x=Convert.ToDouble(Console.ReadLine());
y=xxx+3xx-24x+30;
Console.WriteLine("y="+y);
Math类中的常用函数
Pow 乘方
Sqrt 开放
Exp e的次方
Abs 绝对值
Log 对数
Sin Math.PI/3 pi/3
Cos Math.PI/3
Tan Math.PI/3
zy9
int myAge=22;
Console.WriteLine(myAge);
myAge++;
Console.WriteLine(myAge);
int apples=10;
apples--;
Console.WriteLine("还剩{0}个苹果",apples);
int day=12;
int today=day++;//先使用后自增
Console.WriteLine("day={0},today={1}",day,today);//13 12
int day=12;
int today=++day;//先自增后使用
Console.WriteLine("day={0},today={1}",day,today);//13 13
+=
a+=100// a=a+100
a+=100+3//a=a+100+3
-+
=
/+
%=
优先级 运算符 说明
1 () (a+b)
8
2 后置++ -- a++
3 前置++ -- ++a
4 ,/,% 乘,除,取余
5 +,- 加,减
6 =,
=,/=,+=,-=,%= 赋值
int a=1,b=2;
a=a
++b+b;
Console.WriteLine("{0},{1}",a,b);
zy10
隐士转换
short s=25489;
int n;
n=s;//隐式转换
Console.WriteLine(n);
int i=12;
float r=10.0f;
r=i;
Console.WriteLine(r,i);
任何整形都能隐式转换为任何浮点类型
整型转换为浮点型在某些情况下精度不够准确
显式转换

int n=25489;
short s=(short)n;//显示转换
Console.WriteLine(s);//25489
double pi=3.14;
int n=(int)pi;
Console.WriteLine(n);
int n=8226589;
short s=(short)n;//显示转换
Console.WriteLine(s);//-30947 只截取后16位
int n=8226589;
short s=checked((short)n);//显示转换检查
Console.WriteLine(s);//-30947 只截取后16位

string str="3.14";
double pi=Convert.ToDouble(str);//总是进行溢出检查
double r=10;
double s=pirr;
Console.WriteLine(s);
zy11
int y,m,d;
Consle.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+2m+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;
default:break;
}
Console.WriteLine(weekString);
zy12
关系运算符
运算符 优先级
> 1
< 1
<= 1
>= 1
== 2
!= 2
(15+8)>=10;//true
(12%2)==0;//true
(10/4)==3;//false
&& 与 and
|| 或 or
! 非 not
Bool isEven;//布尔类型
zy13
if else
zy14
switch
Console.WriteLine("请输入大写的A,B,C,D:");
char qrade=Convert.ToChar(Console.Read());
switch(qrade){
case 'A':Console.WriteLine("85-100");break;
case 'B':Console.WriteLine("70-84");break;
case 'C':Console.WriteLine("60-69");break;
case 'D':Console.WriteLine("<60");break;
default: Console.WriteLine("输入有误");break;
}
switch语句遍历
Console.WriteLine("请输入年月日:");
int y,m,d;
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=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-=31;goto case 12;
case 12:total-=31;goto default;
default:total+=d;break;
}
Console.WriteLine("{0},{1},{2}是当年的第{3}天",y,m,d,total);
三目运算
y=(x>0)?(x+2):(xx);
真 假
Console.WriteLine("请输入一个大写字母");
char ch=Convert.ToChar(Console.Read());
ch=(char.IsUpper(ch))?char.ToLower(ch):ch;
Console.WriteLine(ch);
zy15
zy16
do-while/while
//求使1+2+.....n>2005
int n=1;
int sum=0;
do{
sum=sum+n;
n++;
}while(sum<=2005);
Console.WriteLine(n);
for语句
int sum=0;
for(int i=1;i<=100;i++){
sum=sum+i;
}
int n=Convert.ToInt32(Console.ReadLine());
long cc=1;
for (int i=1;i<=n;i++){
cc
=i;
}
Console.WriteLine(cc);
break/continue
for(int i=123;i<10000;i++ ){
if((i%76==0)&&(i%123==0)){
Console.WriteLine(i);
break;
}
}
//打印奇数
for(int n=1;n<=10;n++){
if(n%2==0){
continue;
}
Console.Write(n+"\n");
}
百钱白鸡
int x=0,y,z=0;
while(x<100){
y=0;
while(y<100){
z=100-x-y;
if(5x+3y+z/3==100){
Console.WriteLine("x={0},y={1},z={2}",x,y,z);
}
y=y+1;
}
x=x+1;
}

你可能感兴趣的:(曾瑛C#教程笔记1)