第一章 c#语法基础
一、c#概念
1、c#介绍
c#: c->c+±>c++++,java都来自于c系列,诞生于c++基础上开发的。
ms微软公司开发的,现在c#也实现了跨平台,但是起步太晚了。
c#开发最初的时候,只适合于微软的平台(xp,2000,7等),设计的程序,不仅仅是windows,还有linux、mac,unix、安卓等操作系统。
应用场景:cs系列程序(client客户端server服务端),但是跨平台不好,主要原因是微软不是一个互联网公司,是做操作系统的。
2、语法格式
变量名的使用:js的时候变量名区分大小写,c#也区分大小写,以字母、@、_等开头。
c#是强类型的语言,就是只要出错,在vs里就会报错。
二、基础数据类型
1、代码名称:namespace命名空间,class类,static静态,void不返回任何类型,main程序入口,string[]args参数。
程序里面也有一个门,不能动,就是程序的入口,参数就是门卫,你需要登记。
2、int整数,float小数(后面加F),double小数类型(c#默认小数类型),char字符类型(单字符,用单引号‘’把数据引起来),bool逻辑性(true或false),string字符串类型(多字符,用双引号把数据引起来)。
int age =18; //整数类型
float height = 1.8F; //flaot类型后需要加F
double weight =120; //c#默认小数是double类型
char flag ='Y'; //字符类型,使用单引号把数据引起来
bool ok = true; //逻辑类型,true或false
string name ="zhangsan"; //字符串类型,使用双引号把数据引起来
Console.write(“hello world!”); //不换行输出
console.writeline(“hello world!”); //换行输出
console.readkey(); //等待按键
consloe.readline(); //等待输入
三、求圆的面积
圆 的 面 积 = π ∗ r ∗ r 圆的面积=π*r*r 圆的面积=π∗r∗r
1、定义变量,并赋值;
2、获取输入的半径,并转换到double类型;
3、计算面积并输出到屏幕。
double r;
console.write("请输入圆的半径:");
r = double.parse(console.readline()); //获取用户输入的半径,并转换成double类型。
coust double PI = 3.1415926; //常量使用coust定义,常量名使用大写;
double s = PI * r * r; //计算圆的面积
console.writeline(r+"的面积是:"+s); //输出圆的面积
console.readline();
四、占位符和if求最大值
1、占位符
方便输入输出的格式排列,更好阅读,,以大括号{}包括数字,从0开始,后面连续性的跟着变量。
int num1,num2;
console.writeline("{0}+{1}={2}",num1,num2,(num1+num2));
console.writeline("{0}-{1}={2}",num1,num2,(num1-num2));
console.writeline("{0}*{1}={2}",num1,num2,(num1*num2));
console.writeline("{0}/{1}={2}",num1,num2,(num1/num2));
console.readline();
2、控制结构,求最大值
2.1 顺序结构
2.2 分支结构: if语句/switch语句
2.2.1 if语句
//3个数字求出最大值,3个变量
//1、声明变量,并赋值(自己输入)
int num1,num2,num3;
console.writeline("请输入第一个数:");
num1=int.parse(console.readline());
console.writeline("请输入第二个数:");
num2=int.parse(console.readline());
console.writeline("请输入第三个数:");
num3=int.parse(console.readline());
//2、业务判断
//================[1]===============
if(num1>num2 && num1>num3){
console.writeline("最大值为{0}",num1);
}
elseif (num2>num1 && num2>num3){
console.writeline("最大值为{0}",num2);
}
else{
console.writeline("最大值为{0}",num3);
}
console.readline();
//================[2]===============设置中间变量的思想
int max =num1;
if(max<num2)
max=num2;
if(max<num3)
max=num3;
console.writeline("最大值为{0}",max);
console.readline();
2.2.2 switch语句
//根据时间来输出上下(789)下午(141617)晚上(202122)
//================[int类型]===============
//1、定义变量,并输入赋值
int num;
console.write("请输入时间:");
num = int.parse(console.readline()); //转换为整数类型
//2、业务判断
switch(num){
case 7;
case 8;
case 9;
console.writeline("{0}点上午",num);break;
case 14;
case 16;
case 17;
console.writeline("{0}点下午",num);break;
case 20;
case 21;
case 22;
console.writeline("{0}点晚上",num);break;
default;
console.writeline("输入有问题",num);break; //c#强类型,必须有break;
}
console.readline();
string str,result;
console.writeline("请输入ABCDE(分别输入优秀、良好、中等、及格、不及格)");
str = console.readline();
//判断,switch可以判断文本类型
switch(str){
case “A”;
result="优秀";break;
case “B”;
result="良好";break;
case “C”;
result="中等";break;
case “D”;
result="及格";break;
case “E”; //或者default;
result="不及格";break;
}
console.writeline("{0}是{1}",str,result);
第二章 循环操作
一、循环结构
循环可分为:dowhile、while、for、foreach,至少掌握两个以上的循环结构。
根据循环次数可分为:固定次数的循环和不固定次数的循环。
格式如下:
1、初始化变量i
2、循环的条件(啥时候去循环,意味着有一个结束的条件)
{
3、循环的代码工作,要干的事情;
4、计数器;
}
1、while循环 先判断后循环
//输出100以内的偶数
int i=0;
while(i<=100){
if(i%2==0)
console.write(i + "\t"):
i++;
}
console.readline();
2、dowhile循环 先循环后判断,至少运行1次
//输出100以内的偶数
int i = 0;
do{
if(i%2==0)
console.write(i + "\t");
i++
}while(i<101)
3、for循环
//输入100以内的奇数
for(int i =1;i<=100;i+=2){
console.write(i+ " ");
}
console.readline();
4、foreach循环
//foreach(数据类型 变量 in 数组){}
//c#数组格式[],下标从0开始,最大值为成员数-1,下标错误会超出界限报错。
int[] arr = {1,3,5,7,9};
//=============[1]==========
for(int i=0;i<5;i++){
console.write(arr[i]+" ");
}
//=============[2]==========
foreach(int num in arr){
console.write(num+" "):
}
console.readline();
二、水仙花数
寻找100-999以内的水仙花数,何为水仙花,比如153=13+53+3^3
int gw,sw,bw; //分别代表个位,十位,百位
for(int i = 100;i<=999;i++){
gw = i % 10 //个位%10求余数
sw = i / 10 % 10; //十位分两步操作
bw = i / 100; //百位/100整除
if(i==gw*gw*gw+sw*sw*sw+bw*bw*bw)
console.writeline("{0}",i);
}
console.readline();