《2023年大学生实习日记_大学生实习日记10篇_7.docx》由会员分享,可在线阅读,更多相关《2023年大学生实习日记_大学生实习日记10篇_7.docx(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023年大学生实习日记_大学生实习日记10篇 大学生实习日记由我整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“大学生实习日记10篇”。 辽宁工程技术大学 实习日记 教学单位 软件学院 专 业 软件工程(嵌入式)班 级 软件08-1班 学生姓名 刘伟 学 号 0820230124 指导教师 崔丽群 辽宁工程技术大学软件学院 2023年2月18日 我在北京亚嵌公司实习,和我一起的有20个同学,我们在亚嵌的老师的带领下参观了亚嵌公司,了解到了亚嵌的师资力量和他们的教学内容与方式,看了我们的教室,老师给我们介绍了在未来的一个月内应该学习的内容。 开始上课的第一天,我们首先从linux操作系统
2、的基本操作学起,学习的内容包括linux的基本的命令,在linux终端下创建、修改、复制和删除目录或文件等基本的命令,还有在局域网内电脑之间能够利用ftp等传输文件,安装vim编辑器作为C语言的编译工具,学习一些很基础的linux命令,以及相关方面的知识。 在学习linux基础知识的几天里,我们学会了很多,期间也会遇到一些困难,出现一些小问题,通过同学之间之间的相互帮助都解决了。 2023年2月19日 今天,我们开始学习C语言,这一天的学习任务分为4个部分,第一、学习程序的基本概念。(1、程序和编程语言,2、自然语言和形式语言,3、程序的调试,4、第一个程序(Hello world); 第二、
3、学习常量、变量和表达式。在这一节里,我学习了常量与变量,以及赋值和表达式,还有字符类型与字符编码。 第三、学习简单函数。在简单函数这一节里我学了一些数学函数,自定义函数,形参和实参,以及全局变量、局部变量和作用域。 第四、学习了分支语句,至于分支语句就是if语句,if/else语句和switch语句等,最后,在上晚自习的时候做一些老师布置得作业,由于刚刚学习一些简单的知识,所以,很快就完成了老师留的作业,然后在教室看书复习一下明天将要讲的知识。 2023年2月20日 今天学习的内容比较多,忙了一整天。 首先,学习了第5节深入理解函数,在这一节中学习了return语句以及递归的相关介绍。然后学习
4、了循环语句,循环语句在C语言中的地位很重要,老师要求我们课上认真听,下课要多加练习,帮助和加强记忆。循环语句中的相关内容有while语句、do/while语句、for语句,以及break、continue和goto语句,不过goto语句不常用,还有循环嵌套,循环嵌套比较复杂,也容易出错,所以在学习这一小节的时候特别的仔细地听,不放过每个细节,其实主要是自己的思维要明确,要了解每一个循环语句的意思和用法。 循环语句的用途非常常见,也是一些问题必须的解决办法,所以循环很重要,在晚上的时候老师仍然给我们留了5道关于循环的编程题让我们练习,通过练习就能复习了上课所学的内容。 2023年2月21日 这一
5、次,我们开始学习结构体和数组。 一上课的时候,老师就给我们比较了结构体和数组的区别。首先从数组讲起,数组的基本概念,数组的应用实例,在数组这一节里还引进了字符串,又简单学习了多维数组,数组是连续存储的,它的每一个元素的数据类型都相同,虽然看起来简便,但是如果要求存储的数据比较多,要是定义一个有上万,或者上百万个元素的数组,很可能内存当中没有那么大的连续的存储空间,有可能会导致程序出现段错误,所以数组既有优点又有缺点。 下午的时候老师给我们讲了结构体,结构体可以用于构造链表,可以避免内存上没有较多的连续的存储空间而出现错误,结构体中的每个变量可以是不同的类型,结构体也有很多的用途,这一天学了很多
6、。 晚上照旧,我们都在教室里上自习,做一些老师留的练习。 2023年2月22日 今天,我们学习编码风格和gdb。 编码风格: (1)缩进和空白:必要的缩进和空白可以使程序美观。(2)注释:让一些代码继续留在程序里而不影响程序的运行。 (3)标识符命名:对一些具有特定意义的变量有一些特定的字母或者单词命名。 (4)函数:函数的命名和格式要规范。gdb: (1)单步执行和跟踪函数调用。(2)断点。(3)观察点。(4)段错误。 今天所学习的内容主要是在多练习,将vim的有关操作练得熟悉了,而且能够为写程序时代码的换行、复制、以及删除等操作带来很大的方便,从而间接的提高了编写代码的速率。Gdb调试是检
7、验程序错误的很好的工具,如果程序出现了段错误很可能会导致很长时间查不出是那段代码出问题,但是如果用gdb很快的就能够查处错误,所以今天学习的知识主要是将vim的操作以及gdb相关操作练熟了,对以后的学习会有很大的帮助。 2023年2月25日 今天开始学习数据结构了。 上午的时候,学习了排序和查找。排序和查找这一章学习了算法的概念,插入排序,算法的时间复杂度分析,归并排序,线性查找和折半查找,排序和查找是数据结构的很重要的内容,排序有很多种,像冒泡法是最常见的一种排序,选择法也是排序中的一种,但是选择法相较之下不是很稳定。 下午的时候学习了栈与队列。数据结构的概念,堆栈,深度优先搜索,队列与广度
8、优先搜索和环形队列。栈与队列的用途很广,有很多问题的解决都要用到栈与队列,在这章的学习中,遇到了很多困难,但是经过多看书,多练习解决了遇到的困难,也从中学习到很多。 晚上,老师为我们留了作业,关于排序的,做起来很明显比前面的要难了一些,不过都认真的完成了。 2023年2月26日 今天学习了第二大章,C语言本质。 1、学习了计算机中数的表示:(1)为什么计算机用二进制计数(2)不同进制之间的换算(3)整数的加减法(有符号和无符号数)(4)浮点数。 数据类型详解: 2、数据类型详解:(1)整形(2)浮点数(3)类型转换(油赋值产生的类型转换;强制类型转黄;编译器如何处理类型转换)。 3、运算符详解
9、:(1)位运算(按位与、或、异或、取反运算;移位运算;掩码;异或运算的一些特性)(2)其它运算符(复合赋值运算符;条件运算符;逗号运算符;sizeof运算符与typedef类型声明)(3)运算符总结。 4、计算机体系结构基础:(1)内存与地址(2)CPU(3)设备(4)MMU(5)Memory Hierarchy。 这一张,老师留了很多练习,数据类型转换、位运算以及进制之间的转换的程序,整整做了三四个小时才完成了老师留的人物,也算收获不少,这块的知识需要理解,并且知道怎么使用,对以后的学习内容都有影响,是很关键的内容。 2023年2月27日 今天该学习昨天剩下的部分,学习的内容是: 1、x86
10、汇编程序基础:(1)最简单的汇编程序(2)x86的寄存器(3)第二个汇编程序(4)寻址方式(5)ELF文件(目标文件和可执行文件)。 2、汇编与C之间的关系:(1)函数调用(2)main函数和启动例程(3)变量的存储布局(4)结构体和联合体(5)C内联汇编(6)volatile限定符。 3、链接详解:(1)多目标文件的链接(2)定义和声明(extern和static关键字;头文件;定义和声明的详细规则)。(3)静态库(4)共享库(编译、链接、运行;动态链接的过程;共享库的命名惯例)(5)虚拟内存管理。 4、预处理:(1)预处理的步骤(2)宏定义(函数式宏定义,内联函数,#、#运算符和可变参数,
11、宏展开的步骤)(3)条件预处理指示(4)其它预处理特性。 晚上,老师在教室带领我们做留的作业,有不会的可以问老师。 2023年2月28日 今天学习上午makefile基础: (1)基本规则(2)隐含规则和模式规则(3)变量(4)自动处理头文件的依赖关系(5)常用的make命令行选项。 指针:(1)指针的基本概念(2)指针类型的参数和返回值(3)指针与数组(4)指针与const限定符(5)指针与结构体(6)指向指针的指针与指针数组(7)指向数组的指针与多维数组(8)函数类型和函数指针类型(9)不完全类型和复杂声明 C标准库:(1)字符串操作函数(初始化字符串,取字符串的长度,拷贝字符串,连接字符
12、串,比较字符串,搜索字符串,分割字符串)(2)标准I/O库函数(3)数值字符串转换函数(4)分配内存的函数。 下午,老师给我们讲了一些上午没讲完的知识,然后领着我们练习了一会。接下来老师给我们讲了一些关于工作面试相关的问题。 老师在下课的时候为我们安排了一个小的项目,就是做五子棋,实现五子棋的基本功能。 2023年2月29日 老师今天让我们做昨天给我们的第一个小项目,就是五子棋,我们先开始做的时候觉的挺难,但是经过老师的指导,我在上午的时间就差不多完成了五子棋的基本功能,只不过可惜的是没有实现人机对战的功能。我编写的五子棋程序在是先定义一个15*15的各个元素值皆为0的二位数组作为棋盘,输入是
13、通过键盘来实现的,在命令行上输入二位数组的横和纵坐标并且每一次的输入都在终端上刷新一遍棋盘,我的五子棋判断函数是用if语句实现的,总体上还是不错的。 通过今天的这个五子棋项目让我对之前学习的C语言有了一个更好的复习,并且有了很大的收获,程序出错不断的调试,修改,反反复复的修改使我长了很多经验。 2023年3月1日 在本次实习中我们要用到虚拟机,虚拟机对我们来说并不陌生。虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。我们使用的VMware Workstation 允许操作系统(OS)和应用程序(Application)在一台虚拟机内部运行。虚拟机是独立
14、运行主机操作系统的离散环境。在 VMware Workstation 中,用户可以在一个窗口中加载一台虚拟机,它可以运行自己的操作系统和应用程序。可以在运行于桌面上的多台虚拟机之间切换,用户通过一个网络共享虚拟机(例如一个公司局域网),挂起和恢复虚拟机以及退出虚拟机。 2023年3月2日 我们要做的是电子相框,所以我对电子相框做了一些了解。电子相框,又称数码相框,指能够不借助电脑可以在LCD面板上显示数码照片的一款电子产品,还能够将照片显示到电视机上。还可接U盘、SD卡、MMC卡,除播放图片外,还可播放MP3、内置左右双喇叭、边播放图片边听MP3、看手机AVI格式电影、DAT格式或MPEG格式
15、或MPG格式电影(VCD文件)、VOB格式电影(DVD文件)(其它不支持的格式可以软件转换)、输出音频视频到电视机或音响。 2023年3月3日 今天我们开始做数码相框,这是最难的项目,也是我们最后的一个项目。这个项目要用到我们所学到的所有的知识点。刚开始的时候,老师给我们展示了一下例子,老师说这个例子是老师再秦皇岛带的同学写的一个程序。我们看了以后感觉挺羡慕的,然后老师给我们讲解了做这个数码相框需要用到哪些知识点,需要有炫酷的幻灯片、可以高亮显示的文字、还有背景音乐。我们就要学习结束。还有三个知识点没有讲到。鼠标的移动,图形的显示,还有一个是字体。这三部分学完了之后我们就可以自己动手完成这个项
16、目了。今天老师就是给我们讲这三个知识点。首先是鼠标的移动。鼠标是如何在屏幕上移动的、当鼠标移动到屏幕的边缘的时候我们怎么让它不移动了、以及当你移动的时候如何让以前那个鼠标的图像消除。鼠标的协议数据格式总共占3个字节,第一个字节是鼠标的按键信息,第二个字节是用来控制鼠标的横向移动信息,第三个字节是用来控制鼠标纵向移动信息。按键信息就是左键、右键、中键,然后老师让我们一起看了看老师给我们发的压缩包中的鼠标的文件设备。 2023年3月4日 讲课初始,老师让我们自己看了FrameBuffer的相关知识。FrameBuffer中文名为帧缓冲驱动,是出现在 2.2.xx 内核当中的一种驱动程序接口。Lin
17、ux是工作在保护模式下,所以用户态进程是无法象DOS那样使用显卡BIOS里提供的中断调用来实现直接写屏,Linux抽象出FrameBuffer这个设备来供用户态进程实现直接写屏。Framebuffer机制模仿显卡的功能,将显卡硬件结构抽象掉,可以通过Framebuffer的读写直接对显存进行操作。用户可以将Framebuffer看成是显示内存的一个映像,将其映射到进程地址空间之后,就可以直接进行读写操作,而写操作可以立即反应在屏幕上。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机制等等具体细节,这些都是由Framebuffer设备驱动来完成的。 2023年3月5日 #includ
18、e #include #include #include #include int main() int fp=0;struct fb_var_screeninfo vinfo;struct fb_fix_screeninfo finfo;fp = open(“/dev/fb0”,O_RDWR); if(fp printf(“Error : Can not open framebuffer devicen”); exit(1); if(ioctl(fp,FBIOGET_FSCREENINFO,&finfo) printf(“Error reading fixed informationn”);
19、 exit(2); if(ioctl(fp,FBIOGET_VSCREENINFO,&vinfo) printf(“Error reading variable informationn”); exit(3); printf(“The mem is :%dn”,finfo.smem_len);printf(“The line_length is :%dn”,finfo.line_length);printf(“The xres is :%dn”,vinfo.xres);printf(“The yres is :%dn”,vinfo.yres);printf(“bits_per_pixel is
20、 :%dn”,vinfo.bits_per_pixel);close(fp); 在fb_fix_screeninfo中有 _u32 smem_len 是这个/dev/fb0的大小,也就是内存大小。 _u32 line_length 是屏幕上一行的点在内存中占有的空间,不是一行上的点数。在fb_var_screeninfo 中有 _u32 xres,_u32 yres 是x和y方向的分辨率,就是两个方向上的点数。_u32 bits_per_pixel 是每一点占有的内存空间。 2023年3月6日 今天老师教我们如何制作幻灯片的特效,特效就是如何让这个图片从上到下显示,从左到右、还有从中间开始向两
21、边展开。还有一些其他的样式让我们去写。刚开始的时候我们是看老师的演示,接着我们就看了一下如何实现的幻灯片的代码,简单的效果从左到右。是用到了两个循环。当我们去动手做的时候,会遇到了一些问题。图片的出现的时间长短是用的sleep函数,数值越大展示出来一张图片的时间就会越长。我们要做的效果就是以一种效果显示出了一张图片之后,当下一张图片要展示出来的时候,我们要用另一个效果来显示它。如何从一个图片跳到另一个图片这就需要一个函数来实现,当前的图片播放完了之后,利用函数来打开另一个图片,这些图片放在一个库中,还要连接这些库。这些问题都是我们一起研究和探讨的结果。 2023年3月7日 昨天学的是幻灯片的播
22、放,今天我们要学习在幻灯片中加入字体,同时让鼠标移动到字体上的时候,还要让字体高亮显示出来。当鼠标移动到字体的时候,字体自定义的区域是多大才能让鼠标移动到字体上的时候高亮起来。还有如何定位鼠标的初始位置。当我们在控制台的模式下,实现了把图片显示出来了之后,还要让字体在图片上显示出来,在开始的时候老师一步一步的教我们,我们会了;然后老师说如何让这个字体从左向右来移动,关键点是刷新这个图片就可以让字体来移动,但是如何让字体移动呢,还有就是老师给我们讲了三基色红绿蓝,这三种颜色可以按照不同的比例搭配成不同的颜色,这个可以分为16位,24位,和32位的当然位数越高显示的颜色就会越接近自然的颜色,同时不
23、失真。这又是难到我们的一个知识点,经过一下午的努力,最后还是把这个问题解决了。 2023年3月8日 前几天老师已经把我们需要的知识点已经全部讲完了。今天我们开始做数码相框这个项目,老师说不要急着编写代码,因为刚刚开始上来就编写的代码都是一些垃圾代码,因为刚开始编写的时候,我们总是需要改很多的。到了最后我们还是没有编好。首先我们要先进行头脑风暴,就是每一个小组进行探讨,集思广益。把编写这个程序的相关知识点都说出来写在纸上,然后每一个人负责不同的模块,每一个模块用来实现哪一部分的功能,然后我们再画出每一个模块的流程图,刚开始的时候有一个总的程序的流程图,然后再在每一个模块中如何具体的实现也写在纸上
24、,然后我们就开始分工合作。有不会的地方我们有的时候会停下来一起探讨。不能解决的问题,还会问问别的组。彼此之间互相帮助,共同进步。 2023年3月9日 今天,数码相框成功的完成了,对我们的工作做一下总结,数码相框是用来浏览图片和照片的工具,我们的数码相框所表现出的功能涉及到了对图片读取,存储,预览以及播放的操作,而图片播放功能可以采取不同的特效来进行图像展示;对于音乐的研究则是表现在歌曲列表显示、播放、暂停和歌曲的切换功能上;其它功能也可以添加到数码相框中,例如视频播放,小游戏等功能。本次数码相框的设计是基于linux系统而实现的,整个数码相框全部是由C语言编程实现的,用到了文件的I/O操作、鼠
25、标的驱动事件、madlib库、framebuffer库,总的路线就是总分总的模式,首先,初步实现数码相框的基本功能,这一步所实现的功能很简陋,只是为以后的详细设计定了一个简单的框架,然后,对每一个模块进行详细的设计,这一过程会对程序进行详细地修改来达到预期目标,最后,对数码相框整体功能进行测试,通过调试程序来完成对程序的检测,完善程序存在的不足之处,最终完整地实现数码相框的功能。 2023年3月10日 今天是郭老师教我们c+的知识点,主要是有new和delete函数与malloc和free函数的区别,在很多的c+的实现中,new和molloc函数在使用不同的堆分配内存,因此malloc函数的内
26、存必须用free释放而不能用delete,new的内存必须用delete释放而不能free。还讲到了什么叫封装,什么叫做类,以及什么叫对象。所谓的类就是:类就是相同的数据和相同方法的一组对象的集合。除此之外还讲到类的定义用到cla关键字,在cla中的成员默认的情况下是private的,但是在struct中的成员默认的情况下是public的。所以这两个有很大的区别。深拷贝与浅拷贝的区别。这是面试的时候经常考到的问题。还有The big three,所谓的The big three就是构造函数,析构函数还有赋值函数。这三个函数是很重要的函数。所以在用c+语言编写东西的时候,如果我们忘了这三个重要的函数,系统就会自动的给添加这个函数,各个函数的使用还有很大的区别。 大学生实习日记