zy1
控制臺程序
新建控制臺應(yīng)用程序名字命名為:helloworld
static void Main(string[] args)//主函數(shù)
{
Console.WriteLine("Hello World!");
//類型 函數(shù)名 參數(shù)
}
zy2
二進制八進制十六進制轉(zhuǎn)換為十進制
Convert.ToInt32("110011",2)伴逸;
原數(shù) 基數(shù)
將非十進制的數(shù)轉(zhuǎn)為十進制的數(shù)
要想將八進制玫霎,十六進制轉(zhuǎn)換為十進制,只需要將基數(shù)改為8和16
Convert.ToInt32("567",8)滤愕;
Convert.ToInt32("1F2A",16);
十進制轉(zhuǎn)化為八進制和十六進制還有二進制
Convert.ToString(89,2)
原數(shù) 基數(shù)
要想將八進制线椰,十六進制轉(zhuǎn)換為十進制舰罚,只需要將基數(shù)改為8和16
每個電子開關(guān)成為1bit,簡稱位
8個位組成一個字節(jié)(Byte)
1B=8b
1個字節(jié)可以表示0到255的所有整數(shù)方援,共256個數(shù)
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個字節(jié)欢揖,共32位陶耍,最后一位表示正負
整型是以補碼表示的。正數(shù)的補碼是他本身她混,求負數(shù)補碼的方式
(1)將該數(shù)的絕對值表示成二進制形式
(2)按位取反(0變1烈钞,1變0)
(3)再加1
short型
對于較小的整數(shù)可以用short型
short型占2個字節(jié)泊碑,最高位表示正負號,后面的15位表示數(shù)值大小
long型
占8字節(jié)毯欣,最高位表示正負號馒过,后面63位表示數(shù)值大小
無符號型
ushort,uint酗钞,ulong
內(nèi)存溢出
short a,b,c;
a=32767;
b=(short)(a+1);
b=(int)(a+1);
Console.WriteLine(b);
實數(shù)類型變量
類型 字節(jié)數(shù) 取值范圍 有效數(shù)字 備注
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;//只有七位有效數(shù)字腹忽,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);
//數(shù)字的讀取
//根據(jù)園的半徑求面積
double r,s;
Console.Write("r=");
r=Convert.ToDouble(Console.ReadLine());//string類型
s=3.14rr;
Console.WriteLine("s="+s);
//Convert.ToInt32();
zy6
ASCII編碼
//把一個字符轉(zhuǎn)化為整數(shù),得到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);
轉(zhuǎn)義字符
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
變量命名規(guī)則
變量的第一個字符必須是字母葫录,下劃線,漢字或者@
其后的字符串可以是字母數(shù)字下劃線或者漢字
變量區(qū)分大小寫
駝峰式方式命名
常量
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;//舍去小數(shù)部分
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類中的常用函數(shù)
Pow 乘方
Sqrt 開放
Exp e的次方
Abs 絕對值
Log 對數(shù)
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
-+
=
/+
%=
優(yōu)先級 運算符 說明
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
隱士轉(zhuǎn)換
short s=25489;
int n;
n=s;//隱式轉(zhuǎn)換
Console.WriteLine(n);
int i=12;
float r=10.0f;
r=i;
Console.WriteLine(r,i);
任何整形都能隱式轉(zhuǎn)換為任何浮點類型
整型轉(zhuǎn)換為浮點型在某些情況下精度不夠準確
顯式轉(zhuǎn)換
int n=25489;
short s=(short)n;//顯示轉(zhuǎn)換
Console.WriteLine(s);//25489
double pi=3.14;
int n=(int)pi;
Console.WriteLine(n);
int n=8226589;
short s=(short)n;//顯示轉(zhuǎn)換
Console.WriteLine(s);//-30947 只截取后16位
int n=8226589;
short s=checked((short)n);//顯示轉(zhuǎ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
關(guān)系運算符
運算符 優(yōu)先級
> 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;
}
}
//打印奇數(shù)
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;
}