C语言课程设计实习报告
班级:082092班
姓名:高璐
学号:20091004164
指导老师:康晓军
2010-12
题目一、两个大数相乘问题
题目描述: 要求输入两个相对较大的正整数,能够通过程序计算出其结果。
设计思路: 两个相对较大的数是不能够用LONG INT类型存储的,因为LONG型数据的数据范围也并不是很大,于是就需要采用其他的存储结构。这里选择用数组存储一个大数,数组的初始空间可以定义到如200或300个单元,每个单元存储一位数据,如图:
这样理论上,比如数组定义为100,就可以存储100个数字的整数,应该是满足足够大的条件了。而结果的存储也需要考虑空间的问题,所以需要一个更大的数组。
在解决了存储问题后,需要来实现乘法运算的过程,必须要把这个数组中的每一位数字单独来进行乘法运算,比如可以用一个数字和另外一个数组中的每一位去相乘,从而得到乘法运算中一行的数字,再将每一行数字错位相加。这就是乘法运算的过程。
运行效果截图:
附源程序如下:
#include<stdio.h>
#include<string.h>
#define MAX 10005
int main()
{int i,j,t,s;
char a[101],b[101],tem[105]={0},sum[MAX]={0};
int lena,lenb,flag,m=0;
{flag=0;
scanf("%s%s",a,b);
lena=strlen(a);
lenb=strlen(b);
for(j=lenb-1;j>=0;j--)
{for(t=lena,i=lena-1;i>=0;i--,t--)
for(t=lena;t>=1;t--)
for(s=lena+lenb-flag,t=lena;t>=0;t--,s--)
for(t=lena;t>=0;t--)
for(s=lena+lenb;s>=1;s--)
sum[lena+lenb+1]='\0';
for(s=0;s<=lena+lenb;s++)
for(s=0;s<lena+lenb;s++)
printf("%s * %s = %s\n",a,b,sum);
for(s=lena+lenb+1;s>=0;s--)
sum[s]=0;}
return 0;}
题目二、学生信息管理系统设计
题目描述: 学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。试设计一学生信息管理系统,使之能提供以下功能:
系统以文本菜单方式工作,
学生信息录入功能(学生信息最好用文件保存)---输入
学生信息浏览功能---输出
查询、排序功能---算法
按学号查询
按姓名查询
学生信息的删除与修改(可选项)
设计思路: 可以将这个系统的设计分为8个模块,数据输入,查询、排序,修改数据,增
的函数是void menu()/界面操作系统,根据菜单编号的选择可分别进行:学生信息的读入,学生信息的查询,学生信息的修改,学生信息的增加,学生信息的删除,当前信息的显示,学生信息的保存,及退出系统。
在进行学生信息的录入时,需要对学生的信息进行保存,所以还需要另建一个文档"student.dat"用来存储数据信息,以备以后的读取修改删除等使用。
查询学生信息时,可以按程序所提示的菜单编号进行查询方式选择,可按学号,按姓名进行查询,由数组的比较来判断是否已找到所查的信息,查到就输出所有信息,否则输出不存在。排序时,先引入strcmp函数比较大小,然后在做交换。
修改信息时,先对要修改的学生信息进行查询,然后再可以按程序所提示的菜单编号进
行修改方式选择,由strcpy来进行数组信息的修改。
增加学生信息时,先确定所添加的人输入学号后进行是否重复的判断,无重复的情况下然后再根据姓名,年龄,性别,出生年月,地址,电话,E-mail的顺序进行添加,一个录完了以后再循环一次进行下一个的记录,只到记录完毕。
删除学生信息时,先由数组比较strcmp找到要删除的学生的所有信息,用后面的整体前移一位覆盖前一个的方式删除所选中的信息。
显示学生信息时,用一个for循环,一次显示出所有学生的信息。
保存当前学生信息时,运用文件指针,在之前建立的文档中,以只写的方式记录到文档中,完毕以后关闭文档,完成学生信息的保存。
等到想实现的功能实现以后,关闭退出此系统。
运行效果截图:
附源程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUFLEN 80 /* 缓冲区最大字符数 */
#define LEN 20 /* 学号和姓名最大字符数,实际请更改 */ #define N 200 /* 最大学生人数,实际请更改*/
struct record
{ }stu[N];
int k=1,n,m; /* 定义全局变量 */
int readfile();/* 函数声明 */
int seek();
int modify();
int insert();
int del();
int display();
int save();
int menu();
int menu()/* 界面 */
scanf("%d",&num);
switch(num)
{ case 1:readfile();break;
case 2:seek();break;
case 3:sort();break;
case 4:modify();break;
case 5:insert();break;
case 6:del();break;
case 7:display();break;
case 8:save();break;
case 9:k=0;break;
default:printf("请在1-9之间选择\n"); }
int main()
{ while(k)
menu();
system("pause");
return 0; }
int readfile()/* 建立信息 */
int seek()
int sort()/*按学号排序*/
int modify() /*修改信息*/
int insert()
int del()
int display()
int save()
题目三、职工信息管理系统设计
题目描述: 职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:
系统以菜单方式工作?
职工信息录入功能(职工信息用文件保存)--输入?
职工信息浏览功能 --输出?
查询和排序功能:(至少一种查询方式) --算法?
? 按工资查询
? 按学历查询等
职工信息删除、修改功能(任选项)
?设计思路:同上题。
运行效果截图:
附源程序如下:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUFLEN 80 /* 缓冲区最大字符数 */
#define LEN 20 /* 职工号和姓名最大字符数,实际请更改 */ #define N 200 /* 最大职工人数,实际请更改*/
struct record
{ }sta[N];
int k=1,n,m; /* 定义全局变量 */
int readfile();/* 函数声明 */
int seek();
int modify();
int insert();
int del();
int display();
int save();
int menu();
int menu()/* 界面 */
scanf("%d",&num);
switch(num)
{case 1:readfile();break;
case 2:seek();break;
case 3:sort();break;
case 4:modify();break;
case 5:insert();break;
case 6:del();break;
case 7:display();break;
case 8:save();break;
case 9:k=0;break;
default:printf("请在1-9之间选择\n"); }
int main()
{ while(k)
menu();
system("pause");
return 0; }
int readfile()/* 建立信息 */
int seek()
int sort()/*按职工号排序*/
int modify() /*修改信息*/
int insert()
int del()
int display()
int save()
题目四、画组合图形问题
题目描述:在屏幕上用各种颜色画出简单的点、直线、圆、椭圆、矩形、填充圆、填充矩形等图形,然后自由构图,通过编程实现一副简单图画(要求有一定意义)或动画。
设计思路: C语言中有图形库函数<graphics.h>,包含此头文件可调用其中的图形函数,如画点函数、画线函数等。
运行效果截图:
附源程序如下:
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
main()
{int x=360,y=160,driver=VGA,mode=VGAHI;
int num=20,i;
int top,bottom;
initgraph(&driver,&mode,"");
top=y-30;
bottom=y-30;
for(i=0;i<num;i++)
{ellipse(250,250,0,360,top,bottom);
top-=5;
bottom+=5;}
getch();}
题目五、购房排队程序
题目描述: 假定文本文件a1.txt中的内容是我校南望山庄二期购房报名名单,其中职称0为博导、教授,1为正教授,2为副教授,3为讲师,4为助教。请编程完成排名顺序。排队原则为首先按照职称排序,职称高者排前面,如职称一样的情况下按工龄排,工龄一样的情
况下按年龄排,以此类推。将排序后的名单存入另外一个文本文件中,假设为a2.txt。另假定此次房源只有200套,请将前200名存入a3.txt文件中。
设计思路:
首先运用结构体,将老师的姓名、职称、工作年龄和年龄放在结构体中。调用主函数,其中包括读入数据、给数据整理排序和保存数据。
在建立信息时,和一个文本文件建立联系,以便读入数据。
在整理排序时,先按职称排序,再按工龄,最后按年龄排序。其中用到for循环和if语句等以实现比较和交换。
最后,在一个文本文档中保存已排好序的数据。
运行效果截图:
附源程序如下:
#include<stdio.h>
#include<stdlib.h>
#define BUFLEN 80 /* 缓冲区最大字符数 */
#define N 5
struct teacher
{}house[N];
int main()
{int readfile();
int sort();
int save();}
int readfile()/* 建立信息 */
int sort()
{
int i,j,k;
struct teacher temp;
for(i=0;i<N-1;i++)
if(k!=i)
{temp=house[i];
house[i]=house[k];
house[k]=temp; }} //按职称排序
for(i=0;house[i].title=0;i++) //按工龄排序 for(i=0;house[i].title=1;i++)
{k=i;
for(j=i+1;house[j].title=1;j++)
if(house[k].workyear<house[j].workyear)
k=j;
if(k!=i)
{temp=house[i];
house[i]=house[k];
house[k]=temp; }}
for(i=0;house[i].title=2;i++)
for(i=0;house[i].title=3;i++)
for(;house[i].title=4;i++)
{
k=i;
for(j=i+1;house[j].title=0;j++)
if(house[k].workyear<house[j].workyear)
k=j;
if(k!=i)
{
temp=house[i];
house[i]=house[k];
house[k]=temp;
}
} //按年龄排序
int save()
{int i;
FILE *fp;
fp=fopen("a2.txt","w");
for(i=0;i<200;i++)
fprintf
fclose(fp);}
第二篇:C语言课程实习报告
新疆农业职业技术学院
《 C语言程序设计 》
教学实习报告
部门:信息技术学院
专业: 计算机应用
班级: 09高职应用班
姓名: 聂宇
指导教师: 徐玉莲
1
《C语言程序设计》教学实习报告
09高职应用班 聂宇
一、实习时间:20xx年6月21日—20xx年6月25日
二、实习地点:第一微机室
三、实习目的:
1、熟悉我们自己所用的计算机的C语言开发环境,并且能够熟练掌握,达到错误能找到原因并且加以改正。
2、加深对课本理论知识的理解,进一步掌握书中重点、难点实例,锻炼自己的编写程序能力和实际应用能力。
3、上机调试程序的过程中,发现错误,解决错误,保证程序的正确运行,运行结果与给定结果完全相同。
4、学会用书中基本知识解决实际中的一些问题,将书本所学的内容与实际操作相结合,掌握把实际问题转变为C语言描述的算法的方法,明确思路。将自身的不足与缺陷改掉,养成良好编辑风格
5、培养我们的主观能动性、沟通、表达能力和团队合作意识,为我们以后的发展打下基础。
四、实习内容及方法:
在本次实习中,我们采用了由浅及深、由易到难的实习方法,而且也是按照书本的教学进程内容进行的,同时采取了实际应用与理论相结合的方法,在机房里面实习,一边理解,思考做题的思路与解法,另一边就可以马上进行上机实际操作。这对于我们加深对C语言的理解、操作以及动手能力都有了很大的帮助与提高。
实训的内容主要分为了七个版块:
第一版块:
1、Turbo C运行环境。
了解TC的基本环境,熟悉常用菜单项和快捷键:在这一小节中,需要熟练的掌握并应用Turbo C的运行环境,和基本配置。Turbo C是在计算机上广泛使用的一个C语言开发环境,它具有方便、直观、易用的界面和丰富的函数库。它把程序的编辑、编译、连接和运行等操作去不都集中在一个界面上进行,使用非常方便。并且Turbo C不需要特别安装,只需要将其拷贝到硬盘上就可以使用了。 为了方便管理用户的程序文件和维Turbo C2.0的运行环境,客户应在机子 2
上建立自己的工作目录,一边用来存放自己所需要开发的源程序文件。下面就是建立怎样自己文件夹,在空白区域内输入自己所建立的文件夹路径即可。
2、C程序的编辑、编译、连接和运行过程。
掌握C程序的运行步骤,初步了解C程序的特点。在Turbo C的运行中,快捷键使用非常方便,只需Ctrl+菜单栏中菜单名的首字母即可。
上面是一个程序编译与链接的截屏。第一个Compile to OBJ将源程序编译为OBJ文件,Make EXE file 编译连接一次进行,Link EXE file将OBJ文件连接为EXE文件。
3、VC6.0环境的熟悉,自己按照软件并在软件中能够调试简单的C语言程序。
第二版块:
1、C语言数据类型:整型、实型、字符型。
C语言的函数类型非常丰富,除了这几类以外,还有实型、数组、指针、结构体等,在这一小节中,主要了解关于数据类型的定义、用法以及他们的存储类型,一边与以后灵活运用。
C语言中还有常量与变量之分,常量是在程序执行过程中其值不变的量。二且在C语言中常量不需要类型说明就可以直接使用,常量的类型是由常量的本身隐含决定的。
2、运算符及表达式。
在C语言中,预算符非常丰富运算灵活,常用的有以下几个:
(1)算术运算符:+、-、*、/、%(取余)及++(自增)、--(自减)。
3
(在这里需要注意的是:“/”运算符,在C语言中两边都是整数的话,运算结果只取整数部分;“%”他的两边都必须是整数才可以运行;“**、--”运用这个运算符时要注意“先用后加(减)、先加(减)后用”的问题)
(2)赋值运算符:=及复合赋值运算符(+=、-=、*=、/=、%=等)。
(在这里需要注意的是“=、==”的区别,要明确用法及所用的地方,“=”它的作用是赋值,“==”它的作用是判断相等)
(3)逗号运算符:,(对于逗号表达式索要注意的是要明确它所用的地方以及在使用时所要注意的细节)。
了解三种运算符的优先级,掌握三种运算符及相应表达式的应用(详见附录)。
第三版块:在这一节里,我们实习了C语言的三大结构:
1、顺序结构:
2、选择结构:if??else,switch语句。
在这里许啊哟我们学习的很多,因为只要是程序,就脱离不了这个三大结构的范畴。在这个学习里我编写了
(1)、输入某年某月某日,判断这一天是这一年的第几天?。
(2)、给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。
(3)、某市不同车牌的出租车3公里的起步价和计费分别为:夏利7元,3公里以外,2.1元/公里;富康8元,3公里以外,2.4元/公里;桑塔纳9元,3公里以外,2.7元/公里。编程:从键盘输入乘车的车型及行车公里数,输出应付工资。
源程序减附录;
经过这几个程序的练习,让我聊股的掌握了选择语句的用法以及精髓,同是这个用法和技巧已经深深的可在了我的脑海里,还有同过这些个程序的编写,让我对以前有的丝丝而非的地放完全通透理解,获益匪浅。
循环结构:while、do-while、for
在循环这一节里,我们主要做了以下程序:
(1)、求200-300之间所有素数,每5个换行。
(2)、猜数字游戏。规则为:输入一个0-10之间的数字,有5次猜测机会。如果输入0-4之间的数字,提示“太小了”;如果输入5-7之间的数字,提示“接近了”;如果输入9-15之间的数字,提示“太大了”;如果输入8,提示“correct!”;如果次数超过5次,提示“没有机会了,退出!”。
(3)、打印输出如下图形:(“◇”菱形)
4
(4)、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
提示:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。
(5)、打印输出九九乘法表。
我以前就对循环这一节里的内容就理解的比较好,现在做这些题很顺利的就做下去了,但在做的同是也会出现以写小的问题,但这个让我也更深一步的理解了循环语句的用法、思路以及其中的精华。
总的对这一节来说,使自己更神一步的理解了选择、过程中需要注意的一些细节问题。
第四版块:
1、一、二维数组的定义、引用及初始化。初始化:
一维数组:初始化赋值的一般形式为: static 式]={值,值??值}; 其中static表示是静态存储类型,态存储数组和外部存储数组才可作初始化赋值二维数组:
a.可以只对部分元素赋初值,未赋初值的元素自动取b.如对全部元素赋初值,则第一维的长度可以不给出。2、一、二维数组的应用。
在一维数组的应用中,要与循环嵌套使用,用,但是在这里,嵌套还要是循环的嵌套,因为只有这样使用才可以使程序更加简洁、简便。就像第五题:有一个班4个学生,(1)求每一门课程的平均分; (2)求每一个学生的平均分;
思路:定义一个二维数组,用二重循环输入这个数组,然后进行相加,在求平均直,最后在用二重循环进行输出。
循环的用法以及在使用类型说明符 数组名[常量表达 C语言规定只有静0值。 门课。编程实现如下功能:
在这里,进行了求平均值的过
5
二维数组要与也要与循环嵌套使5程。这里进行了二重循环输出。
第五版块:
1、函数的定义和调用
函数可分为库函数和用户定义函数两种。
(1)库函数
库函数只不需要用户自己定义的,只需要在用的时候将其调用出来用就可以了,非常方便,并且C语言有这丰富的函数库。
(2)用户定义函数
用户自己定义的函数,是属于一个自定义范畴,自己定义的函数不仅要在程序中定义函数本身, 而且在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。
2、函数参数和函数值
(1)无 参函数
函数定义、函数说明及函数调用中均不带参数。 主调函数和被调函数之间不进行参数传送。 此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。
(2)有参函数
也称 为带参函数。在函数定义及函数说明时都有参数, 称为形式参数(简称为形参)。在函数调用时也必须给出参数, 称为实际参数(简称为实参)。 进行函数调用时,主调函数将把实参的值传送给形参,供被调函数使用。
(1)有返回值函数
此类函数被调用执行完后将向调用者返回一个执行结果, 称为函数返回值。由用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的类型。
(2)无返回值函数
此类函数用于完成某项特定的处理任务, 执行完成后不向调用者返回函数值。这类函数类似于其它语言的过程。 由于函数无须返回值,用户在定义此类函数时可指定它的返回为“空类型”, 空类 型符的类型说明为“void”。
2、函数的嵌套调用和递归调用
C语言中不允许作嵌套的函数定义。因此各函数之间是平行的,不存在上一级函数和下一级函数的问题。 但是C语言允许在一个函数的定义中出现对另一个函数的调用。 这样就出现了函数的嵌套调用。即在被调函数中又调用其它函数。
这以小节内容经过几个练习题的联系,让我掌握到了其中的主要部分,对此也比较的明确。
6
4、局部变量和全局变量及变量的存储类别
局部变量:局部变量也称为内部变量。局部变量是在函数内作定义说明的。其作用域仅限于函数内, 离开该函数后再使用这种变量是非法的。
全局变量:全局变量也称为外部变量,它是在函数外部定义的变量。 它不属于哪一个函数,它属于一个源程序文件。其作用域是整个源程序。在函数中使用全局变量,一般应作全局变量说明。 只有在函数内经过说明的全局变量才能使用。全局变量的说明符为extern。 但在一个函数之前定义的全局变量,在该函数内使用可不再加以说明。
在C语言中,对变量的存储类型说明有以下四种:auto 自动变量 register 寄存器变量 extern 外部变量 static 静态变量
在局部变量中所定义的变量,只能在该函数中使用,在函数编辑时,预处理命令下定义的变量属于全局变量,在每个函数中都可以使用,传递参数时,不用传递全局变量。
在这里,我主要说的是第二个练习题,它的思想是一个加密算法。思路是:现编写一个主程序,实现函数调用,在子函数中实现加密算法并且输出。是将接收的值设置为一个全局变量。就像下面的这个例子:在这里,将所输入的值进行分解成个、十、百、千位,分别进行加密算法。
加上与第四位对调,第三位与第二位对调。在最后输出结果。 第六版块:
1、指针、指针变量的概念
指针的基本概念 在计算机中,所有的数据都是存放在存储器中的。存储器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,绍。为了正确地访问这些内存单元, 必须为每个内存单元编上号。存单元的编号即可准确地找到该内存单元。内存单元的编号也叫做地址。 并且在使用函数在输入
除以8以后的余数,在将第一位 一般把 在第二章中已有详细的介 根据一个内
既然
7
在这里进行加密算法,每位上的数6
根据内存单元的编号或地址就可以找到所需的内存单元,所以通常也把这个地址称为指针。“指针变量”是指取值为地址的变量
2、数组的指针
一个数组是由连续的一块内存单元组成的。 数组名就是这块连续内存单元的首地址。一个数组也是由各个数组元素(下标变量) 组成的。每个数组元素按其类型不同占有几个连续的内存单元。 一个数组元素的首地址也是指它所占有的几个内存单元的首地址。 一个指针变量既可以指向一个数组,也可以指向一个数组元素, 可把数组名或第一个元素的地址赋予它。如要使指针变量指向第i个元素可以把i元素的首地址赋予它或把数组名加
3、指向字符串的指针 返回指针的函数
(1)、 字符串指针变量本身是一个变量,
串本身是存放在以该首地址为首的一块连续的内存空间中并以‘
结束。字符数组是由于若干个数组元素组成的,它可用来存放整个字符串。
(2)、 对字符数组作初始化赋值,必须采用外部类型或静态类型,
串指针变量则无此限制;
(3)、对字符串指针方式 char *ps="C Language";
ps="C Language";而对数组方式:static char st[]={"C Language"}
char st[20]; st={"C Language"};而只能对字符数组的各元素逐个赋值。
3、指针数组及指向指针的指针
指针数组的说明与使用一个数组的元素值为指针则是指针数组。
是一组有序的指针的集合。 指针数组的所有元素都必须是具有相同存储类型和指向相同数据类型的指针变量。
指针数组说明的一般形式为: 类型说明符
在指针这一小节,主要是用指针实现:输入
数对换,把最大的数与最后一个数对换。写3个函数:输入
个数。
在这里进行函数的调用,一个输入函数,一个
操作函数,一个输出函数。
i赋予它。 而字符\0’作为串的 而对字符可以写为: char *ps; 不能写为: 指针数组*数组名[数组长度] 10个整数,将其中最小的数与第一个10个数;进行处理;输出10 8 用于存放字符串的首地址。在这里用数组实现了输入。
在这里用指针实现了
将最小的数与第一个数对换,
把最大的数与最后一个数对
换。
在最后进行输出。
第七版块:
实训七属于一个综合类型的题目,他要求的比较高,必须在自己王权理解通透了课本知识以后才有可能理解这道题,并且进行修改完善。主要这道题本身是在VC环境下运行的,将其移植到Turbo C环境下运行,这其中牵扯到一些语法不同,在Turbo C中不可以运行,要进行慢慢调试。经过不懈的努力、修改,终于将其成功的在Turbo C环境下可以正常运行了。(详见附录)
五、结论
收获
我的收获:在本次实习中,我学到了很多实际有用的东西,而且基本上都是在课本上学不到的,并且也在实习中梳理了自己对C语言这门课程所学的所有内容,让自己对C这门课程有了更进一步的认识,有了一个良好的基础,为自己的以后打下了坚实基础。从开头到现在,所有的内容实习完了,上机实验是学习程序设计语言必不可少的实践环节,在 C语言灵活、简洁中,更需要通过编程的实践来真正掌握它。
历时4天的《C语言程序设计》已经结束了,在这几天编程的过程中感触颇多,实训编程的同时暴露出了许多我自身存在的问题,同时也对自身有了很大的提高。
首先,对我以前做题做事非常马虎的毛病有了很大的改进,通过在这几天编程的过程中的锻炼,我现在做题比以前仔细多了,会小心翼翼地去看每一个地方,会仔细地检查程序的每一个字母、标点,以及每个可能出错的地方,更会特别仔细,生怕自己一不小心搞错了,而导致整个程序都无法运行。
其次,在编程的过程当中弥补了我许多知识上的缺陷,弄清楚了我不懂的地方和似是而非的地方,使我及时补上了欠缺,为自己以后的人生道路打下了良好基础,同时也让我对每一件事都有了一个好的心态去对待它,更让自己在编写程序的过程中每时每刻都处于充足的状态。
9
再次,通过几天综合实训编程使我的知识形成了一个完整的框架结构,而不再是零散的知识个体,使我在使用时更加的方便,更加灵活,以前有好多题目要写十行八行的,还有些地方弄得不是太懂,现在只需要五六行就可以搞定,而且还对于思路特别清晰、明确。
第四,在实习结束后,我对做完的习题检查比再是一切的走马观花,而是仔细核对、认真检查,和以前相比明显改善了好多,以前自己对于检查程序总是没有耐心,不好好检查,有问题总是找老师,相对于实习之后来说,有了很大的改善,自己不但可以坐下来耐心检查,还能够自己将程序调试成功,这对于现在的我来说是一个明显的进步。
第五,通过实习改变了我做题时心烦气燥的习惯,现在做题可以平和静气的完成。
第六,通过实习我的自制能力更强了,基本完全可以控制自己,避免外界的干扰,安心地完成自己的工作。
第七,在学习过程中,由于天气炎热,心里烦躁,同时也是每天都盯着频幕看,脑袋都看大了,但是我却一直坚持了下来,这对于我来说,也是一个非常好的习惯。这同时也是我的一个收获。
第八,实训过程中,充分发挥团队协作精神,共同进步,帮助同学顺利完成实训课程,有困难一起解决,同时也使我在他们身上学到了很多东西。
总之,通过实习使我自身的知识体系得到巩固、提高以及使团队工作的能力得到锻炼。
不足
我的不足:
首先,我的第一个,同时也是一个最大的缺点,自己对于理论知识掌握的还不是很通透,理解的不够彻底,对于一些问题似似而非,给自己编写程序的过程中带来了很大的麻烦。
其次,我不能够精心的去完成每一个程序,对于每个程序而言,都是马马虎虎,只要运行结果是对的,那就可以了。虽然我自己也知道这样是不好的,但是自己就是不愿意去改,在经过实习之后虽然有所改善,但在我看来,改进的不是很大。
第三,自己做题时还有些马虎,一些小的细节在编写程序过程中不注意,只有在编译连接是才可以发现、对其进行修改,对于一些小程序还不能实现一次就可以完成编译连接。
第四,做题时自己不能心平气和的去做。
第五,自己的子宅里不够强,不能持之以恒的坐在自己的座位上编写程序, 10
歇一会就要起来转转。
六、致谢
在此,我仅代表我自己,对老师您致以崇高的敬意和深深的感谢,没有您,就没有我那么多的收获,您不辞辛苦,在这炎热天气里,放弃您的休息时间来为我们辅导,在辅导过程中,您更是尽心尽力,从来没有少过一节课,更没有过迟到早退,对我们是全程陪同,在我们实习中随时出现问题,随时解决。只要发现问题,您从来没有说是不管过,从来没有烦躁过,对我们提出的问题,也是耐心解决,一边不懂,接着再讲一边,脸庞流下的汗水,您却从来没有在意过。对我们泥更是不计报酬的为我们服务,让我们有一个好的学习环境,不用为自己遇到问题而烦恼,在这里我想对您说一声:老师,您辛苦了!请接受您的学子的深深谢意与感激。
在这里,也对学校表示由衷的谢意,感谢学校为我们提供了良好的实习环境,让我们在这炎热的天气里,能够舒爽的坐在教室里实习,而不用操心任何问题,在这里,对我们学校表示谢意。
此致
敬礼
11
附录
1级优先级 左结合
() 圆括号 [] 下标运算符
-> 指向结构体成员运算符 . 结构体成员运算符
| 按位或运算符
11级优先级 左结合
&& 逻辑与运算符
12级优先级 左结合
|| 逻辑或运算符
2级优先级 右结合
! 逻辑非运算符 ~ 按位取反运算符 ++ 自增运算符 -- 自减运算符 - 负号运算符
(类型) 类型转换运算符 * 指针运算符 & 地址与运算符 sizeof 长度运算符
13级优先级 右结合
? : 条件运算符
14级优先级 右结合
=+ =- =* =/ =% = >= < <=
&= ^= |= 全为赋值运算符
15级优先级 左结合
, 逗号运算符
3级优先级 左结合
* 乘法运算符 / 除法运算符 % 取余运算符
4级优先级 左结合
+ 加法运算符 - 减法运算符
5级优先级 左结合
<< 左移运算符 >> 右移运算符
6级优先级 左结合
<、<=、>、>= 关系运算符
7级优先级 左结合
== 等于运算符 != 不等于运算符
8级优先级 左结合
& 按位与运算符
9级优先级 左结合
^ 按位异或运算符
10级优先级 左结合
12