下载此文档

C语言知识点.doc


文档分类:IT计算机 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
该【C语言知识点 】是由【莫比乌斯】上传分享,文档一共【17】页,该文档可以免费在线阅读,需要了解更多关于【C语言知识点 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。新建的脚本如下所示:
usingUnityEngine;//unity引擎的命名空间
;
publicclassTest:MonoBehaviour{
//Start进行初始化,只运行一次
voidStart(){

}

//Updateiscalledonceperframe每运行一帧,调用一次
voidUpdate(){

}
}
所有的程序语句,都由;号结尾
using命名空间;
什么是命名空间呢。一个命名空间会封装很多基本、常用的操作指令
只有引入命名空间,才能使用对应的操作指令
,HashTable,SortedList(目前完全用不到)
UnityEngineunity引擎的命名空间其中包含了所有Unity引擎自己常用的操作指令
类的概念
publicclass类名{}
public公有private私有
在private之后声明的东西(这个东西可以是类,也可以是变量)只允许在本类中使用
public之后声明的东西则无限制
注意:如果不用public和private声明,则默认是private
publicclass类名:父类名{}
这样声明的类,继承了父类所有的特性
MonoBehaviour的特性:
只要这个类里有Start这个函数,那么刚运行游戏的时候,调用一次Start
只要这个类里有Update这个函数,那么每一帧调用一次Update
注意:每一个能作为Gameobject组件的脚本,都必须继承于MonoBehaviour类
类和对象的关系:
对象的共性抽象为类
类的实例化,就是对象
放入Gameobject里的脚本,其实是脚本中类生成的对象
C#中的注释
什么是注释?对我们写的程序进行解释,注释是给人看的。
注释的方法
第一种:单行注释,到本行结束
第二种:多行注释/*开始,*/结束,之间的都为注释
快捷键:ctr+alt+c注释或取消注释(一行多行都可以)
文档注释:
在方法上面输入///,则MonoDevelop会自动生成如下注释
///<summary>//摘要、概要
///自己要写的方法注释
///</summary>
///<paramname="num1">参数1注释</param>
///<paramname="num2">参数2注释</param>
下面的一对指令,可以折叠一对代码
#regionxxx
#endregion
如果不生效,点击菜单Tool>Options>TextEditor>General>CodeFolding复选框都勾上即可
对象
对象是一种特殊的变量
对象声明的方法
先定义,后赋值:类对象名称
Vector3position;
position=newVector3(,,);
注意:所有对象在第一次赋值的时候,必须用new来创建新空间
定义时赋值:类对象名称=值;
Vector3position=newVector3(,,);
如果一次要声明多个相同类的对象,可以用逗号分隔
Vectore3p1,p2,p3;
Vector3三维向量,可以用来表示位置、旋转、缩放,也可以用来表示方向
Vector3是一个类,这个类有3个重要的成员变量x,y,z为float类型
Rect矩形框对象,用来表示一个screen中的矩形框
Rect有4个重要的成员变量x,y,width,height为int类型
X:矩形框左上角的x坐标
Y矩形框左上角的y坐标
Width:矩形框的宽度
Height:矩形框的高度
变量
计算机用内存储存数据
内存和数据的关系,就像旅馆和客人的关系一样
创建(声明)一个变量和旅馆类似
旅馆:
开房间
入住
C#:
声明:数据类型变量名;例如:intnumber;//开一个能放数字的空间
赋值:变量名=值;例如:number=3;//把3放进去
内存用于储存正在运行的程序数据
内存有个特点,断电后,里面数据丢失
一保存,就从内存中转移一份到外存中
变量,代表着一块内存空间,我们可以通过变量名向内存存/取数据
有了变量名,就不需要我们记忆复杂的内存地址
整数的数据类型叫int35-10范围:-2,147,483,648~2,147,483,647(U3D默认整数类型)
long长整型
-+-(U3D默认小数类型)
-+-,占的内存空间大,运算时间长
布尔型bool只有两个值truefalse占用空间最小
注意:在C#中,直接写一个有小数点的数字,这个数字是double类型
在一个小数后面加一个f/F,就是告诉编译器这个数字是float类型
字符型char‘A’‘b’‘男’只能存一个字符,并且这个字符要用单引号引起来
字符串型string“Helloworld”“大家好。”把0个或一个或多个字符连起来。字符串要求用双引号引起来
变量声明的方法
数据类型变量名称
intage;
age=18;
定义时赋值:数据类型变量名称=值;
Intage=18;
如果一次要声明多个相同类型的变量,可以用逗号分隔
stringzsName,lsName,wwName;
intweight=65,age=80;
变量的命名规范:
必须以“字母”、_或@开头(不能以数字开头)
后面可以跟任意“字母”、数字、下划线
注意:C#大小写敏感。不要与系统的关键字重复
Camel(骆驼)命名法
首个单词的首字母小写,其余单词首字母大写
比如:studentName,zsAge,name
Pascal命名法
每个单词的第一个字母都大写
比如:SystemVersion
如果使用英文单词的缩写,全部用大写
变量设为公有,只能在函数外声明,函数内的变量都为私有
变量的作用域,在该变量所在的大括号内
赋值运算符号和赋值表达式
赋值符号”=”
a=a+1;这里的等号是赋值运算符,不是数学意义上的相等
变量可以被赋值,一旦给一个变量赋新值,那么变量中的旧值就不存在了
intage=10;
age=20;
print(age);
输出为20
+号在C#中有两个意义:
数学的加法运算
字符串的连接
注意:+号左右两边都是数字,是数字相加的意思
只要有一个是字符串,就是连接的意思
print语句与字符串
Print(xxx);在控制台输出一句话
占位符
stringmsg=(字符串,变量1,变量2,变量3…);中,第一个变量/字符串中可以使用占位符
占位符由{数字}组成,数字由0开始编号
第1个占位符:{0},
第2个占位符:{1},
第3个占位符:{2},

例如:
publicstringmyName="张三";
publicintage=28;
publicintsalary=5000;
//Usethisforinitialization
voidStart(){
stringmsg=("我叫{0},今年{1}岁了,我的工资是{2}元。",myName,age,salary);
print(msg);

}
一行程序可以回车键分成多行,但是不能把字符串或变量名从中间分开
字符串中的转义
问:能不能在字符串中输出双引号(英文的)?
在屏幕上显示:C#用的字符串用””号包起来。
stringmsg="C#用的字符串用\"\"号包起来。";
print(msg);
什么是转义字符:”\”加一个字符,组成转义字符,一般用于表示一些特殊符号
转义字符是一个字符
什么时候用?当我们需要在字符串中输入一些特殊字符的时候。比如:半角引号,换行,退格,就需要使用转义字符。
常用的转义字符:
\n换行
\b退格
\ttab键制表符多个空格,具有行与行的对其功能
\\表示一个\
\”表示引号
@在字符串前面,表示不转义
字符串中如果有\,不再理解为转义
字符串可以换行
如果字符串前面加了@符号,在字符串上用两个双引号代表一个双引号
快捷键
Tab制表shift+tab反制表
U3d组件
Gameobject对象中默认包含了
transform组件
Transform组件中包含position(坐标位置)rotation(旋转)scale(缩放)三个Vector3的对象
如何获取到这三个对象呢?
Position:Vector3v1=;
Rotation:Vector3v2=;
Scale: Vector3v3=;

=newVector3(0,0,0);//给自己设置位置
print();//显示自己位置
(x,y,z);//平移位置
获得别的Gameobject的坐标
1创建一个Gameo类的成员变量
publicGameObjectother;//成员变量
2在U3d视图的属性面板中给成员变量赋值(注意赋值方式)
3在函数里输出它的position值
print();//写在函数中
U3D的GUI(图形用户界面)
GUI的显示都在voidOnGUI(){}中完成
类似print(输出字符串);
GUI中显示一句话的命令:(矩形框,输出字符串);
(矩形框,输出字符串);
(矩形框,输出字符串);
OnGUI函数每帧运行一次
(矩形框,输出字符串);
当用户点击按钮的时候返回true。
创建一个单次按下按钮。用户点击按钮事件立即触发。
GUI文本输入

用法:
userName=(newRect(10,30,90,25),userName);//注意userName是同一个字符串

用法:
passWord=(newRect(10,30,90,25),passWord,’*’);//输入的所有字符都以*显示
Application
加载场景(关卡)

LoadLevel(index:int)
LoadLevel(name:string)
算数运算符及算术表达式
算数运算符:+、-、*、/、%(取模求余)是二元运算符
要求: 只有数字类的变量可以进行这些运算符操作
参与运算的两个操作数的类型必须相同并且经过运算后的结果也与操作数的类型相同
算数表达式:由算数运算符连接起来的式子比如1+1a-b(a、b变量前面已经声明并赋值)
优先级:先乘除,后加减,有括号的先算括号里的。相同级别的从左向右计算。
小括号可以无限套用,但一定要成对出现
知道某学生三门课的成绩80、90、
算数运算符:++、--(一元运算符)
++自加一,分前加和后加
--自减一,分前减和后减
一元运算符++/--比二元的+、-优先级高
intage=18;
intsum=age++-10;
上面代码age是后加,所以在语句运算时,age++取age原值参与运算,所以sum的值为8
intage=18;
intsum=++age-10;
上面代码age是前加,所以在语句运算时,++age先运算,所以sum的值为9
总之,不管++age还是age++,经过运算后,age的值都进行了+1运算。
intage=18;
intsum=age++-10;
在逻辑上相当于
intage=18;
intsum=age-10;
age=age+1;
intage=18;
intsum=++age-10;
在逻辑上相当于
intage=18;
age=age+1;
intsum=age-10;
复合运算符
+= age=age+3;相当与age+=3;
-= age=age-3;相当与age-=3;
*= age=age*3;相当与age*=3;
/= age=age/3;相当与age/=3;
%= age=age%3;相当与age%=3;
关系运算符
在C#中,有6个运算符,用于比较两个实物之间的关系
>
<
==//比较是否相等
!= //比较是否不相等
>=
<=
关系表达式:由关系运算符连接起来的式子
大象的重量(1500)>老鼠的重量(3)
兔子的寿命(3)>乌龟的寿命(1000)
39<18
String类型只能进行是否相等的判断
什么是bool(布尔)类型
关系表达式的运算结果为bool类型,bool类型只有两个值,一个是true,一个是false。
如果关系运算表达式成立,则这个表达式的值为true,否则为false。
例子:在计算机中描述张三(20岁)比李四(18岁)小,的结果
逻辑运算符
&&(与)||(或)!(非)
逻辑与运算:(二元)
boolanswer=表达式1&&表达式2
两个表达式要求都能解成bool类型。一般情况下都是关系表达式。
整个逻辑运算的结果也是bool类型
与运算,当两个表达式都为true是结果才为true
表达式1
表达式2
逻辑与结果
true
true
true
true
false
false
false
true
false
false
false
false
逻辑或运算:(二元)
boolanswer=表达式1||表达式2
或运算,当两个表达式有一个为true是结果就为true
表达式1
表达式2
逻辑与结果
true
true
true
true
false
True
false
true
True
false
false
false
例子:火车站规定一个人身高>=120cm或者体重>=50kg,就必须买票。写程序需要买票时输出true,否则输出false。
inthight=130,weight=60;
boolresult=hight>=120||weight>=50;
print(result);
逻辑非(一元运算符)
用法:!(布尔类型的表达式)
作用:
如果布尔类型表达式为true,加!后,整个式子结果为false。
如果布尔类型表达式为false,加!后,整个式子结果为true。
表达式
!表达式
True
False
False
True
下面式子的解读
5+3>4+2==true;
8>6==true;
true==true;
true;
与或的短路
inta=10;
intb=5;
boolresult=++a>5||++b>1;
print(a);
print(b);
结果a为11,b为5
类型自动转换规则
参与运算(算数运算和赋值运算)的操作结果类型必须一致。当不一致时,满足下面条件,系统自动完成类型转换:

比如int和float兼容
结果类型大于原类型
float>int
,如果一个操作数为float,则整个表达式提升为float型
自动转换中,转换是不会丢失精度的。常见的就是参与运算的两个操作数,一个int,一个float,那么int会自动转换为float
类型强制转换
,商店为了结算方便,只收整数部分的钱,,现在只收166,应该如何做呢
语法:(数据类型名)待转换的值;
比如:intb=(int);
注意:强制类型转换,数据类型一定要兼容
下面的转换是错误的,因为强制类型转换要求待转换的类型和目标类型都为数字
//inta=(int)”33”;
字符串强制转换int:
stringa="123";
intb=(a);
字符串强制转换float:
stringa="";
floatb=(a);
C#中异常捕获用“try-catch”来完成
try
{
//有可能出错的代码
}
catch

C语言知识点 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人莫比乌斯
  • 文件大小63 KB
  • 时间2022-10-26
最近更新