C#编程第一季
2023-10-28 20:09:15 0 举报
AI智能生成
关于一些初级编程
作者其他创作
大纲/内容
Ctrl+F5相当于启动
class是命名空间下控制的类
static void 是方法(各创一个类,用大括号分割)
namespace是定义命名空间(和项目空间保持一致)
console属于system
相关解释
如表达 namespace _001_开始 (不能以数字开头,不会使用中文)
namespace name{ } (要有大括号)
idea,eclipse,vscode的快捷键是Ctrl+/
每一句后面都要加分号“;”
有“ * ”表示没有保存(如Program*)一定要习惯性的保存
一些注意
相关内容
菜鸟课程可查询相关问题: ······ + 菜鸟教程
基本概念
每个关键字都有对应的作用,如果重名就不好识别其中的语法结构了
所有关键字都是小写
命名不能与关键字重名
字母
不可以以数字开头
数字
下划线
规范
int myAge;xiaomingAge;
直接看出想表达的是什么
一目了然
首个单词的首字母小写,其余单词的首字母大写
驼峰命名法
每个单词的第一个字母都大写(int EnemyUp)
如果使用到英文单词的缩写,全部使用大写(int PI HP MP)
Pascal命名规范
命名规则与规范
WriteLine是输出语句
write(不会换行,直接在同一行)
writeline(会换行)
两种write的区别
F5 开始调试
Ctrl+F5 开始执行(不调试)
两种F5的区别
箭头删除表示删前面的
Delete是删后面的
两种删除的区别
insert 实现插入模式和编辑模式的转换
输入法中的月亮形状图案可以实现全角模式和半角模式的转换(全角模式的字母更大一点)
小操作
整数 25
浮点数 3.0
字符 ‘ a ’
字符串 “ hello ”
概念一
不能重名
声明了一个变量,变量的名字是age(变量名)
创建了一个数据的容量,容器的名字是age(变量名)
容器的类型是int(变量类型),赋值
int 是整数类型
double 是小数类型
char 是字符
概念二
变量名不能以数字开头
变量名是用英文字母,数字,下划线组成
概念三
int count(计数)
double ave(平均数)
double height(身高)
int total(整数总和)
double temperature(温度)
char sex(性别)
命名不能重复,若有相似的可以在后面加上“123”
命名(不能用中文命名,要用英文,但能用拼音)
概念
操作与概念
( \" a \" ) 输出的是a的字符,即原封不动的出来
( a ) 输出a里面的值(也就是结果)
如果想知道 a 和 b 内存放的多少,可以使用输出语句“Console.WriteLine(” \");
例如:int a=3,b=8
Console.WriteLine( a+ \" + \" +b); 3+8
Console.WriteLine( \" a+b \"+a+b) a+b38
有括号时,先运算括号内的内容得出结果
Console.WriteLine( \" a+b \"+ ( a+b ) ); a+b11
当一个数字和一个字符串相加时( + ),其实是完成一个两者的组拼,无法相加
整数范围 int 有范围(上亿),容器较大;字符范围 char (几百个),容器较小
int a=97; char b=a; 这样写不行
将上列写成: int a=97; char b=(char)a;
强制类型转换(因为容器小了)
类型范围
Console.WriteLine(“c:\\\\a\\\\b\\\\c”);
Console.WriteLine(@\"c:\\a\\b\\c\");
以上两者的运行结果一样,因为有@,所以转义字符(即斜杠)不生效了
关于 “ @ ”
一些小知识
Console.WriteLine(\"{0}+{1}={2}\
Console.WriteLine(格式字符串(含替代标记),替代值0,替代值1,替代值2,······);
不能取一个不存在的值
替代值可能用不上
注意
直接写大写的字母就可以输入进去,如输入WL即可得到WriteLine
字符串格式化输出
运行时异常
编译时候的异常 通过IDE可以检查出来
通过Exception查找错误
a+1
double a=(3+8)/2.0;
double a=(3+8)*1.0/2;
double a=(3+8)/2
程序里比较运算符一次只能比较两个,要分开比较
if(18<age<30)
判断相等时要使用两个等号,即==
可以改为if(4=age)
if(age=4)
一些数学习惯导致的异常
错误调试
\ (表示转义) 运行后可换行(hello \world)
\\t(表示占四格)(he \\tllo表示he____llo)
\"\\\" \" 表示引号(在两个引号中直接表示引号不行,一定要加斜杠)
“\\\\”要用两个斜杠表示斜杠
“\\\\\\\" ” 表示 \\\"
' \\' '表示单引号
斜杠的特殊作用
复制粘贴 Ctrl+c,Ctrl+v
全选 Ctrl+a
保存代码 Ctrl+s
取消操作 Ctrl+z
剪切 Ctrl+x
复制 Ctrl+c
粘贴 Ctrl+v
复制一行代码 Ctrl+d
快捷键
上一页 PgUp
下一页 PgDn
翻页
shift可以多选多行代码,光标放开头,点shift,光标点结尾
Ctrl可以选取单独的文件
选取
基本操作
单行注释:单独的行或一个代码后面添加,使用“//”
使用 /* */ ( 在想要注释的多行部分添加)
Ctrl+Shift+/
Ctrl+k+c
多行注释快捷键
多行注释
取消注释快捷键:Ctrl+k+u
注释
表示控制台显示,写在控制台
如果想知道 a 和 b 内存放的为多少,可以使用这个输出语句
表示的是最后启动后显示的结果
Console.WriteLine(“ ”);
表示从控制台读取一组数据,返回的是字符串
读取数据,输入数据 string str=Console.ReadLine( ); Console.WriteLIne( str +\" - \");
只有读取到用户输入后,才可以输入进去
输入,再用回车键告诉它
Console.ReadLine( );
子主题
关于数据的读取
赋值例如:total=4
a=b+c 可以
x+y=z 不可以
a=a+1 可以
23=a 不可以(是把右边的赋值给左边)
“ = ”的左边一般是一个容器,它不能运算
int a; a=1; 相当于 int a=1;
旧的数据会被清空,变成新的数据,如:int a; a=1; a=2; 的输出结果是 a=2,其中的 a=1 被清空了
类型一样,所以可以多次赋值,如: int a=3,b=8;
往容器里面放东西
变量要先声明( 如 int )——再赋值——最后使用
第一次赋值称为初始化
如:int c; c=10; c=11; (变色部分即为初始化)
变量要先初始化再使用(读取)
如格式:int c;(即声明) c=10;(要为 c 赋值) Console.WriteLine( c );
char sex=‘ f ’; sex=‘ m ’;
female女性,male男性
char a=' c b '; 不可以
char a=‘ c ’; 可以
只能存放一个类型
string str=“ ”(没有括号)
要是想在字符串内表示引号,则再加个引号
字符串的声明
字符类型(声明)
类型一致(例如字符串不能赋值整数)
右边的值所需要的容器大小 <= 左边的容器
赋值要求
赋值
读取一行数据,把这行数据转换成一个整数,并且赋值给a
int c=(a+b)/2
Console.WriteLine(c);
Console.ToChar(Console.ReadLine( ));可以把字符转化成字符类型
关于用户输入
int temp=a;
b的数据转移到a里面
a的数据已经放进temp里面了
a=b; b=temp;
Console.WriteLine( a );
Console.WriteLine( b );
借助第三个变量
将a,b相加,把两者的和保存起来,再进行交换
a=a+b; b=a-b; a=a-b;
不借助第三个变量
变量交换
int a=23+23;
int b=2-10;
int c=4*23;
因为两个数都是整数,所以最后的结果也是整数,小数部分自动抹掉,存在小数即可,如下
换成小数字符 double f=45/10.0; 结果为小数
int d=45/10;
再分别使用Console.WriteLine
int e=45%10;
因为是用于整数,所以一定要用int
取模(求余)% (注意用于整数,用于小数的时候,容易出现不精确的问题 ,比如:4.3%1)
问题:设计一个算法,可以把任意一个两位数分离它的个位和十位上面的数字。比如:78,它的个位数是8,十位数是7
int num=39;(num就是数字) 将它与10求余,就可以得到它的个位数 int ge=num %10;ge就是个位的个 int shi=num/10; Console.WriteLine(\" 个位数是{0},十位数是{1}\",ge,shi) ;
= c=a+b将把a+b的值赋给c
+= c+=相当于c=c+a
-= c-=a相当于c=c-a
*= c*=a相当于c=c*a
/= c/=a相当于c=c/a
运算符
int a=0; a+=10;a=a+10; Console.WriteLine(a); a-=5; 5 a*=3; 15 a/=6; 2 a%=2; 0
运算
赋值运算符
数学运算符
int a=5; a++; 让它自身增加1 ,调动几次增加几次 a++; Console.WriteLine(a); a的值为7
int a=5;a--; 让它自身减一,如上 Console.WriteLine(a); a的值为6
a++ 先赋值再自增 a在前面,先赋值 如int a=5;int b=a++; a=5;b=6;
++a 先自增在赋值 加号在前面说明加号更重要,所以先自增 如inta=5; intb=++a; a=6;b=6
区别
单独放时作用相同,都是自身增加一
自增自减运算符可以放变量的后面,也可以放前面
自增自减运算符
满足条件=真=1
不满足条件=假=0
运算结果就是布尔类型,即true或false
就是比较运算符,用来比较两个数字的大小
== 判断左边是否等于右边
> 判断左边是否大于右边
< 判断左边是否小于右边
>= 判断左边是否大于或等于右边
<= 判断左边是否小于或等于右边
!= 这个表示“ 不等于 ”
符号与条件
例如bool a = 45<67;再使用Console.WriteLine( a );来运行结果,结果为true
关系运算符
只有两种结果,分别是true和false(即是或不是)
true代表1,false代表0
布尔类型 bool
关系运算符和布尔类型
&& 称为逻辑与运算符,如果两个操作数都不为零,则条件为真 (a&&b)为假
|| 称为逻辑或运算符,如果两个操作中有任意一个不为零,则条件为真 (a||b)为真
! 称为逻辑非运算符,用来逆转操作数的逻辑状态,如果条件为真则逻辑非运算符将使其为假 !(a&&b)为真
假设变量a为布尔值true,变量b为布尔值false,不为零表示true
a,b必须是一个布尔值,或者布尔表达式
例如 bool a(3<4)&&(9<6); 运算结果为false
int age=Convert.ToInt32(Console.ReadLine( ));
bool isYoung=age >=18 && age<=60;
Console.WriteLine( isYoung );
输入一个人的年龄,判断这个是否是青年,青年标准是18-60岁
比如加减乘除,加法和乘法在一块时,先运算乘法
先左到右,先乘除,后加减
括号是最高的优先级,括号内优先运算,括号和++--是同一级的
运算符的优先级
逻辑运算符(用来判断多个运算符)
int age=Convert.ToInt32(Console.ReadLine( ));
if(age<=16) { Console.WriteLine(\"可以进入”);
else {Console.WriteLine(\"年龄太大,不可以进入“);
Console.WriteLine(“程序结束”);
if (条件){ } else{ } 没有分号,可以不加else
判断奇数偶数 if(number@2==1);
int age=Convert.ToInt(Console.ReadLine( ));
if(age>=18&&age<=30&&age%2==1)
方法一
int age=Convert.ToInt(Console.ReadLine( ));
if(age>=18&&age<=30){Console.WriteLine(“可以参加活动”);
if(age%2==1){Console.WriteLine(“获得奖品”);}
else{Console.WriteLine(“没有获得奖品”);}
}else{Console.WriteLine(“不可以参加活动”);}
方法二
判断(18岁至30岁)是否能获得奖品
例题
if(score>=90){Console.WriteLine(“A”);}
else if(score>=70){Console.WriteLine(“B”);}
else if(score>=60){Console.WriteLine(“C”);}
else{Console.WriteLine(“0”);}
if else if
如果只有一行语句,if后的大括号可以省略,即只有int x; x=···;if()Console.WriteLine( ));else Console.WriteLine( );
if条件语句(if if else和if else if)
Switch可以做一个条件判断,来判断相等
形式: switch(number){ }
switch(number)number表示要判断的变量{ case 1:ConsoleWriteLine(“矿泉水”);break;case 2:ConsoleWriteLine(“红茶”);break; default:ConsoleWriteLine(“脉动”);break;}
switch(weekNum){case 1: case 2: case 3: ConsoleWriteLine(\"C++\"); break; case 4: case 5: case 6: case 7:ConsoleWriteLine(“Scratch\"); break; } 可以连在一起写
每一个case后面都要加上break,break代表中断default也是,default表示默认的,把它放在最后写,default可以省略不写
switch只能判断相等,且只能判断一个变量
switch只能判断是否相等,比如以week为例,只能找到对应的星期几从而判断,比较局限,而 if 语句中可以任意写,不受限制
if 适合做范围判断,switch 适合在多条件下判断是否相等
与 if 语句的区别
switch分支语句
结构 while(条件表达式){ //循环体 }
当满足条件的时候会一直执行,不满足条件的时候,跳出循环,执行后面的代码
条件表达式也是布尔表达式,需要返回一个布尔值
while (true) { Console.WriteLine(\"while循环体\");} Console.WriteLine(\"while后\");
上式为一个死循环
while ( true ){ }表示一直都true
while循环一般使用 i 来控制与判断循环执行的次数,并且需要一个增量,即 i++,自增可能在输出的前面,也可能在后面
int i=0; while ( i<10 ) { i++; Console.WriteLine(i);}
当初始值为0时,则将增量表达式放在输出的前面
分为 i 的初始值,判断条件,自增自减
一般都把 i 的值设为 1 或 0
int i= 1;
错误表示(是一个死循环)while (true){ Console.WriteLine(i}; i++;在 i 自增之前输出,i 的初始值是1,如果先自增,则第一个输出的值为2}
正确表示 while ( i<11) i<11是跳出循环的条件 {Console.WriteLine(i); i++;} Console.WriteLine(\"while后\"+i ); Console.WriteLine(\"while后\");
输出1到10
int HP=100;
while ( HP>0) { HP -=3; Console.WriteLine(\"HP\"+HP);}
打怪,血量大于零时就一直攻击
当 n 的值确定时 int i=1; int sum=0; while ( i<101) { sum=sum + i sum +=i; i++; } Console.WriteLine(sum);
int i=1; int sum=0;while ( i<n+1){ sum+=i;i++;}即当 i<n+1时就不执行了
Console.WriteLine(sum);
当 n 的值不确定时 只需要控制while循环的执行次数,n 为多少,则执行多少次,使其小于 n+1 即可
sum可以存放和 求 1+2+3+·······+n的和
while循环语句
C#编程第一季
0 条评论
下一页