作为一名初学者﹐当踏入C语言学习之旅,带着零基础的好奇,渴望深入了解其中的奥秘。
学习C语言的基本语法是编程之路的起点﹐它涵盖了诸多关键要素,如变量、常量、数据类型、运算符、表达式、以及控制结构﹐如条件语句和循环语句等。这些基础概念宛如编程的基石﹐为构建简单而实用的程序奠定了坚实的基础。变量是在程序中用于存储数据的容器﹐可随时改变其值﹐灵活性使其成为编程中不可或缺的一环。而常量则是不可改变的值﹐为程序提供了固定的参考点。理解这两者的区别和使用方法,是编程中迈出的第一步。
数据类型则规定了变量和常量所存储的数据种类﹐它们决定了数据的大小和范围﹐也决定了对这些数据进行何种操作。从整数到浮点数﹐再到字符﹐了解各种数据类型的特性﹐对于解决实际问题至关重要。在编程过程中﹐运算符和表达式是处理数据的重要工具。通过算术运算符、逻辑运算符和位运算符等﹐我们能够对数据进行各种计算和判断。表达式则是运算符的组合﹐用于生成新的值或执行特定的操作。熟练使用这些工具﹐让你的程序更富有表现力和功能性。
控制结构则赋予程序逻辑和决策的能力。条件语句,如if-else和switch ,使得程序能够根据条件来选择执行不同的代码分支。而循环语句,如for和while ,使程序可以重复执行某些代码块。掌握这些结构,可以让你的程序更加灵活和智能。
数组
1.数组定义与声明:定义数组时需要指定元素的数据类型和数组的大小。例如: int numbers[5]+表示定义一个包含5个整数元素的数组。
⒉数组元素的访问:数组的元素通过下标访问﹐下标从0开始﹐例如: numbers[0]表示数组中的第一个元素,numbers[l]表示第二个元素,依此类推。
3.数组初始化:在定义数组时,可以同时对其进行初始化,给定初始值。例如: int numbers[5] = {1,2,3,4,5}将数组元素初始化为1、2、3、4和5。
4.多维数组:C语言支持多维数组﹐比如二维数组。二维数组可以看作是一个表格﹐通过两个下标来访问元素。例如: int matrix[3][3]表示定义一个3x3的二维数组。
5.数组与函数:数组在函数参数传递中的表现略有不同。当数组作为函数参数传递时﹐实际上传递的是数组的地址﹐这样可以避免复制整个数组,节省内存。
6.数组与指针:数组与指针在某些情况下有着紧密的联系。数组名是数组第一个元素的地址﹐因此可以使用指针的方式来访问数组元素。
7.数组长度与越界︰数组的长度是固定的﹐在声明时就确定了。访问数组元素时﹐需要确保不超出数组的范围,否则可能引发未定义的行为。
8.数组在内存中的存储:数组在内存中是连续存储的,相邻元素之间的地址是连续的。这样的存储方式使得数组在寻址和访问上更加高效。
掌握C语言数组的使用﹐能够让你更加灵活地处理大量数据﹐以及进行数组的排序、搜索等操作。数组是许多算法和数据结构的基础,对于编写复杂的程序尤为重要。通过练习和实践﹐你将能够充分发挥数组的优势,编写出高效、可靠的C语言程序。
指针
1.指针的定义与声明︰指针是一个变量﹐用于存储内存地址。通过指针﹐我们可以直接访问内存中的数据。定义指针时﹐需要指定指针所指向的数据类型。例如: int *ptr+声明了一个指向整数的指针。
2.取地址运算符(&)︰通过取地址运算符& ,可以获取变量的地址并将其赋给指针。例如 : int num = 10: int *ptr = &num·将ptr指向了num的地址。
3.解引用运算符(*)︰通过解引用运算符*,可以访问指针所指向地址的值。例如:int value = *ptr+将把ptr指针所指向的整数值赋给value变量。
4.空指针和野指针﹔指向空地址的指针称为空指针,可以用NULL宏表示。指向无效地址的指针称为野指针﹐它们应该避免使用。
5.指针与数组﹔数组名可以被视为指向数组第一个元素的指针﹐因此可以使用指针的方式来访问数组元素。
6.指针与函数:可以将指针作为函数的参数传递﹐以在函数内部访问和修改原始数据。通过传递指针﹐可以避免传递大量数据﹐提高程序性能。
7.指针算术:指针支持算术运算﹐如指针加法和指针减法。这使得可以在数组中进行遍历和访问。
指针是C语言中较为复杂的概念﹐但也是编程中非常强大的工具。合理的使用指针可以提高程序性能﹐处理复杂的数据结构﹐并实现动态内存管理。但需要小心指针操作带来的潜在问题﹐如空指针引用和野指针访问。通过深入学习和实践﹐熟练地使用指针,为自己的C语言编程之路增添更多技能与能力。
在学习过程中,我对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能,使我对C语言的学习产生浓厚的兴趣。
C#是Unity操作语言最受欢迎和使用最多的一种语言。学习完了Unity的基础知识就等于自己已经买了一套房子,但是要想把房子装修好看,就必须先学习C#语言基础,打好装修基础。
1.Unity常用界面.
Scene:相当于家具
Game:摄像机拍出来的预览,玩家所看到的画面
Hierarchy(层级视图):可理解为电脑内存,内存=Hierarchy
Project:可理解为电脑硬盘,硬盘Assets~Project
Inspector:游戏组件
Console(控制台)︰快捷键Ctrl+Shift+C
2.UGUI系统
什么是Ul ( User Interface )
是指对软件的人机交互、操作逻辑、界面美观的整体设计Unity自带的UI系统UGUI各种功能展示。
3.Canvas(画布)
它是游戏中所有Ul组件的“容器”。一个场景中,可以允许多个Canvas对象的存在,还允许Canvas之间可以进行“嵌套”使用。需要注意的是,场景中的任何一个UI对象,都肯定是某个Canvas对象的“子级”。
4.素材的导入
所有素材(UI、city等)均导入Assets文件夹,即导入硬盘。
5.OUGUI系统—界面的拼接
A.创建Ul画布:
新建lmage(在Hierarchy创建)时会自动生成Canvas(画布), lmage若不在Canvas内的话,需拖入到Canvas才能看到Image。点击Canvas,在Inspector里调参数。再创建一个camera,拖入到camera render
B.设置分辨率:
常见分辨率1920*1080,1280*720
Canvas Scaler里,Ul Scale Mode选择scale withscreen size
C.画布分设置:
Canvas的渲染模式(Render Mode )选择ScreenSpace
好了,学了些基本操作,可以做点小作业了
一,VRTK抽屉和拖拽
-
创建一个抽屉
-
手柄绑定交互器
-
可以对抽屉进行拖拽操作
二.VRTK射线练习
在场景中放置一个球,
创建曲线射线和直线射线,
按键触发射线,什么按键自定,
设置曲线穿透、直线不穿透的效果,提交录屏
通过这次的学习,我收获颇多﹐感触颇深﹐在获得知识的同时,也认识到了自己水平存在的差距和不足,今后﹐我要把握住各种学习的机会,本着做一名小学生的态度,向书本学、向实践学,向身边的同学学习,通过多种途径、采取多种方法丰富自己的知识,努力锻造自己,提高自己。
对我而言,知识上的收获重要,精神上的丰收更加可喜。挫折是一份财富,经历是一份拥有。这次课设必将成为我人生旅途上一个非常美好的回忆!光阴似箭,日月如梭,转眼间两周的课设就结束了,曾在开始的时候,还是充满许多的期盼的,但在做的时候,发现遇到许多的问题,使我们困扰了,似乎时间没尽头一样。但是回想这次的成果,还是值得回味的,在课设期间,我紧张过、努力过、失望过、醒悟过、同时也进步了,总之在此期间,让我学会许多以前从来没学到的东西,同时也得到了许多的教训,获得了许多的经验,我会继续努力的,在以后的日子里,一定会做得更好。