欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > 实训c心得体会

实训c心得体会

时间:2014-03-25 14:21

C语言实训总结

在初学C语言的一个学期后,我们进行了C语言实训阶段,尝试自己编写一个比较复杂的程序系统。

在为期两周的时间中,我们同组的同学共同的感受是:C语言实训和平时上课所接触的程序是有很大不同的,所经受的考验和克服的困难是平时所无法比拟的。

好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。

在这里,我作为其中的参与者,自然感触良多。

刚开始接触到C的时候,我已经学过一些有关VB的内容,这个在算法和思维上稍微有点帮助。

回想本学期的学习,首先,最基本的,是C的数据格式,让我们知道整数,浮点数以及字符常量在C中的运用。

然后,在学会了数据转化,以及熟练的可以对各种数据处理之后,我开始进行有关数据结构,像数组,结构体等的学习,因为有的东西从现有的知识来看都是非常简单的,还没有联系到指针等等一些复杂的概念。

可是,仅仅学会这些是远远不够的,C语言中,还有很多更加经典、重要、实用的知识。

说说函数。

虽说很多程序语言都有函数这一内容,但我觉得C语言的函数是最有魅力的了。

学习函数的方法是比较简单的,只有两个字“牢记”,即:牢记函数的功能,牢记函数的用途以及如何输入输出。

函数从本质上讲是一段通用程序,用它可以帮助我们节约很多编程的时间,学习C语言的“高人”都说,一个聪明的编程者在编写程序前往往总是先找自己所编写的程序中有多少是可以用函数来代替的。

比如,大家可以作一个比较字符串的实验,用C语言中的strcmp()函数只要一句话,而自己编写的话,30句都很难实现,可想而知函数的实用和快捷。

在我们C语言实训的代码中,函数更是得到了充分的应用,可以说,实训题目的复杂代码,就是用无数个函数的调用和嵌套积累出来的。

要注意的是,有的同学刚刚开始的时候,都是被一些大的程序激励的,所以当开始的时候看到繁琐的数据转化和简单的算法,都觉得很无聊,都想自己做几个自己满意的程序来看看,虽然这种想法很好,但是,我们说,没有基础,纯粹是搬照一些现成设计方法,是不足取的。

要知道,程序设计讲究的是个人的思维的,假如刚开始就被一些现成的思想束缚住,以后就会觉得很无趣。

  我们知道,指针其实是C语言的灵魂,许多的数据结构在我们学到这里之前都可以说是精通了。

所以我们的任务就是,让数据结构在指针中运行。

当然,刚刚开始接触到这些新的东西,是一件非常痛苦的事情,所以我们一定要用非常形象的思维去看待指针,不能太固化。

所以,新的东西,比如结构体在指针中的表现方法,数组及多维数组在结构体中的运用,都一点一点的加了进来,同时丰满了我们对原来C的数据机构,数据表示的理解。

当我们完成了这三步的学习,我们已经可以自豪的说,我们的基础都扎实了,可以进一步的学习有关算法,设计概念等等深层次的东西了。

  但是,指针,结构体,这些太抽象的东西,在学习C语言的时候我们就有点“似懂非懂”,可是在眼下的C语言实训中,像这么重要的C语言知识,一定要达到能熟练掌握,实际运用的程度。

在实训的大程序中,结构体在指针中的表现方法,数组及在结构体中的运用等具体的技术环节,都得到了体现,不会指针,我们的工作是没法展开的。

所以,在实训期间,大家在巩固基本知识的基础上,逐块攻克实训课题,克服了困难,自信心得到了提高。

最后,谈谈我们组的程序软件。

商店商品管理系统,是一个比较利于应用,解决实际问题,方便实际管理的程序。

设计代码比较复杂,结构比较严谨。

在程序编写的1周左右的时间里,组员们遇到了上述的困难,包括程序设计构思,甚至是指针等某些知识点的欠缺,导致的工作中出现的困难。

但是,当大家一起团结协作,解决了这些困难之后,发现自己也可以编写复杂的、应用性的程序了,更发现自己对C语言这门学科的兴趣也提高了。

当然,我们编写的商店商品管理系统,还存在很多疏漏和不合理之处。

比如,程序复杂冗长,如果时间充裕,我们将在不改变程序运行结果的基础上,简化程序,使每一句更加精辟,总体上更加简化。

另外,在程序的外观上,我们由于时间问题,没有做更多的修饰,运行起来显得比较死板、枯燥乏味。

如果增添一些色彩和其他效果,我们的程序也许会更加完美。

以上就是我的C语言实训个人总结

c语言实训心得3000字

C语言实践心会在这个星期里,在专业老师的带领下进行c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理

跪求C语言实训的心得体会(关于这两道题的)尽可能的详细谢谢

0.。

分。

为什么要做。

什么是筛法啊。

但是可以这么做。

第一题。

main(){int i[9]={1,2,3,4,5,7,8,9};int k.t,s;scanf(%d,&k);for(t=0;t<9;t++)if(i[t]>k) break; \\\/*查找那个数的位置*\\\/for(s=7;s!=t;s--)i[s+1]=i[s]; \\\/*从倒数第二个数开始,每个数都往后移一个,注意倒数第二个数是9并不是8*\\\/ \\\/*直到前面找到的那位置为止*\\\/i[t]=k; \\\/*把这个数插入那位置中*\\\/ for(s=0;s<9;s++)printf(%d,i[s]);} \\\/*输出数组*\\\/第二题。

什么是筛法啊。

我靠。

但是这么可以做。

main(){int t,s;for(t=2;t<=30;t++) {for(s=2;s

大一第一学期C语言实训心得500字左右,急 急 急,在线等

楼主在这中间加减点东西,就可以用过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。

C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。

比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。

还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。

通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。

其实只要理清了思路,把基础知识掌握了,然后有条不紊的分析,一步一步理解,C语言还是很有意思的课程。

自己亲自动手编写程序让我增加了对C语言程序开发环境的了解,在上课的时候老师就讲,学习C语言最重要的是学习C语言的逻辑思维,不管以后从事什么行业,学习C语言都对自己的职业很有帮助,如果是从事编程工程工作的话,就更有帮助了,即使以后的编程工作可能不用C语言,但是拥有扎实的C语言基础是对工作很有用的。

当初在初步接触C语言的时候,看着一堆“奇形怪状”的符号,觉得甚是无聊,通过这次实训,摆脱了那种似懂非懂的状态

感谢学校安排这次实训和老师的耐心讲解,让我学到了很多知识,在实训过程中,同学之间的相互探讨,老师的循循善诱,最终让我们达到了举一反三的效果,在学知识的同时,也增加了同学老师之间的感情。

希望以后还会有更多类似的实训课程,在有限的大学时间内学到更多的实用技能,为以后的工作打下一个良好的基础

C语言实训心得

源程序:#include stdio.h \\\/*I\\\/O函数*\\\/#include stdlib.h \\\/*其它说明*\\\/#include string.h \\\/*字符串函数*\\\/#include conio.h \\\/*屏幕操作函数*\\\/#include mem.h \\\/*内存操作函数*\\\/#include ctype.h \\\/*字符操作函数*\\\/#include alloc.h \\\/*动态地址分配函数*\\\/#include dos.h#define N 4 \\\/*定义常数*\\\/typedef struct z1 \\\/*定义数据结构*\\\/{ char no[12]; char name[20]; int score[N]; float sum; float average; int order; struct z1 *next;}STUDENT;\\\/*以下是函数原型*\\\/STUDENT *init(); \\\/*初始化函数*\\\/STUDENT *create(); \\\/*创建链表*\\\/STUDENT *delete(STUDENT *h); \\\/*删除记录*\\\/void print(STUDENT *h); \\\/* 显示所有记录*\\\/void lookup(STUDENT *h); \\\/*查找*\\\/void save(STUDENT *h); \\\/*保存*\\\/STUDENT *load(); \\\/*读入记录*\\\/void computer(STUDENT *h); \\\/*计算总分和均分*\\\/STUDENT *Modify(STUDENT *h); \\\/*修改记录*\\\/void append(); \\\/*追加记录*\\\/STUDENT *sort(STUDENT *h); \\\/*按总分排序*\\\/STUDENT *index(STUDENT *h); \\\/*按学号排序*\\\/int menu_select(); \\\/*菜单函数*\\\/\\\/******主函数开始*******\\\/main(){ int i; STUDENT *head; \\\/*链表定义头指针*\\\/ printf(\\\ \\\ \\\ \\\ \\\ \\\ \\\ \\\ \\\ ); printf( * * ******* * ***** ***** * * ******* \\\ ); printf( * * * * * * * ** * * * \\\ ); printf( * * * * ******* * * * * * *** * ******* \\\ ); printf( * * * * * * * * * * * * * \\\ ); printf( * * ******* ******* ***** * *** * * * ******* \\\ ); printf(\\\ ); printf(\\\ ); printf(\\\ ); sleep(2); head=init(); \\\/*初始化链表*\\\/ clrscr(); \\\/*清屏*\\\/ for(;;) \\\/*无限循环*\\\/ { switch(menu_select()) \\\/*调用主菜单函数,返回值整数作开关语句的条件*\\\/ { \\\/*值不同,执行的函数不同,break 不能省略*\\\/ case 0:head=init();break; \\\/*执行初始化*\\\/ case 1:head=create();break; \\\/*创建链表*\\\/ case 2:print(head);break; \\\/*显示全部记录*\\\/ case 3:head=delete(head);break; \\\/*删除记录*\\\/ case 4:lookup(head);break; \\\/*按名字查找记录*\\\/ case 5:save(head);break; \\\/*保存文件*\\\/ case 6:head=load(); break; \\\/*读文件*\\\/ case 7:computer(head);break; \\\/*计算总分和均分*\\\/ case 8:head=Modify(head); break; \\\/*修改记录,一般会插在表尾*\\\/ case 9:head=sort(head);break; \\\/*按部分排序*\\\/ case 10:append();break; \\\/*追加记录*\\\/ case 11:head=index(head);break; \\\/*按学号排序*\\\/ case 12: exit(0); \\\/*如菜单返回值为14程序结束*\\\/ } }}\\\/*菜单函数,返回值为整数*\\\/menu_select(){ char *menu[]={***************MENU***************, \\\/*定义菜单字符串数组*\\\/ 00. init list, \\\/*初始化*\\\/ 01. Enter list, \\\/*输入记录*\\\/ 02. print list , \\\/*显示单链表中所有记录*\\\/ 03. Delete a record from list, \\\/*从表中删除记录*\\\/ 04. Search record on name, \\\/*按照姓名查找记录*\\\/ 05. Save the file, \\\/*将单链表中记录保存到文件中*\\\/ 06. Load the file, \\\/*从文件中读入记录*\\\/ 07. compute the score, \\\/*计算所有学生的总分和均分*\\\/ 08. Modify an information , \\\/*修改某学号的信息*\\\/ 09. sort to make new file, \\\/*排序*\\\/ 10. append record to file, \\\/*追加记录到文件中*\\\/ 11. index on nomber, \\\/*按学号排序*\\\/ 12. Quit}; \\\/*退出*\\\/ char s[3]; \\\/*以字符形式保存选择号*\\\/ int c,i; \\\/*定义整形变量*\\\/ gotoxy(1,1); \\\/*移动光标*\\\/ textcolor(YELLOW); \\\/*设置文本显示颜色为黄色*\\\/ textbackground(BLUE); \\\/*设置背景颜色为蓝色*\\\/ gotoxy(10,2); \\\/*移动光标*\\\/ putch(0xc9); \\\/*输出左上角边框┏*\\\/ for(i=1;i<44;i++) putch(0xcd); \\\/*输出上边框水平线*\\\/ putch(0xbb); \\\/*输出右上角边框 ┓*\\\/ for(i=3;i<20;i++) { gotoxy(10,i);putch(0xba); \\\/*输出左垂直线*\\\/ gotoxy(54,i);putch(0xba); } \\\/*输出右垂直线*\\\/ gotoxy(10,20);putch(0xc8); \\\/*输出左上角边框┗*\\\/ for(i=1;i<44;i++) putch(0xcd); \\\/*输出下边框水平线*\\\/ putch(0xbc); \\\/*输出右下角边框┛*\\\/ window(11,3,53,19); \\\/* 制作显示菜单的窗口,大小根据菜单条数设计*\\\/ clrscr(); \\\/*清屏*\\\/ for(i=0;i<16;i++) \\\/*输出主菜单数组*\\\/ { gotoxy(10,i+1); cprintf(%s,menu[i]); } textbackground(BLACK); \\\/*设置背景颜色为黑色*\\\/ window(1,1,80,25); \\\/*恢复原窗口大小*\\\/ gotoxy(10,21); \\\/*移动光标*\\\/ do{printf(\\\ make by wenwei);

printf(\\\ Enter you choice(0~13):); \\\/*在菜单窗口外显示提示信息*\\\/

scanf(%s,s); \\\/*输入选择项*\\\/

c=atoi(s); \\\/*将输入的字符串转化为整形数*\\\/

}while(c<0||c>14); \\\/*选择项不在0~14之间重输*\\\/ return c; \\\/*返回选择项,主程序根据该数调用相应的函数*\\\/}STUDENT *init(){ clrscr(); return NULL;}\\\/*创建链表*\\\/STUDENT *create(){ int i; int s; STUDENT *h=NULL,*info; \\\/* STUDENT指向结构体的指针*\\\/ clrscr(); for(;;) { info=(STUDENT *)malloc(sizeof(STUDENT)); \\\/*申请空间*\\\/ if(!info) \\\/*如果指针info为空*\\\/ { printf(\\\ out of memory); \\\/*输出内存溢出*\\\/ return NULL; \\\/*返回空指针*\\\/ } inputs(enter no:,info->no,11); \\\/*输入学号并校验*\\\/ if(info->no[0]=='@') { clrscr();break; } \\\/*如果学号首字符为@则结束输入,清屏后返回*\\\/ inputs(enter name:,info->name,15); \\\/*输入姓名,并进行校验*\\\/ printf(please input %d score \\\ ,N); \\\/*提示开始输入成绩*\\\/ s=0; \\\/*计算每个学生的总分,初值为0*\\\/ for(i=0;iscore[i]); \\\/*输入成绩*\\\/ if(info->score[i]>100||info->score[i]<0) \\\/*确保成绩在0~100之间*\\\/ printf(bad data,repeat input\\\ ); \\\/*出错提示信息*\\\/ }while(info->score[i]>100||info->score[i]<0); s=s+info->score[i]; \\\/*累加各门课程成绩*\\\/ } info->sum=s; \\\/*将总分保存*\\\/ info->average=(float)s\\\/N; \\\/*求出平均值*\\\/ info->order=0; \\\/*未排序前此值为0*\\\/ info->next=h; \\\/*将头结点做为新输入结点的后继结点*\\\/ h=info; \\\/*新输入结点为新的头结点*\\\/ clrscr(); } return(h); \\\/*返回头指针*\\\/}\\\/*输入字符串,并进行长度验证*\\\/inputs(char *prompt, char *s, int count){ char p[255]; do{ printf(prompt); \\\/*显示提示信息*\\\/ scanf(%s,p); \\\/*输入字符串*\\\/ if(strlen(p)>count)printf(\\\ too long! \\\ ); \\\/*进行长度校验,超过count值重输入*\\\/ }while(strlen(p)>count); strcpy(s,p); \\\/*将输入的字符串拷贝到字符串s中*\\\/}\\\/*输出链表中结点信息*\\\/void print(STUDENT *h){ int i=0; \\\/* 统计记录条数*\\\/ STUDENT *p; \\\/*移动指针*\\\/ clrscr(); \\\/*清屏*\\\/ p=h; \\\/*初值为头指针*\\\/ printf(\\\ \\\ \\\ *********************************STUDENT************************************\\\ ); printf(|rec|nO | name | sc1| sc2| sc3| sc4| sum | ave |order|\\\ ); printf(|---|----------|---------------|----|----|----|----|--------|--------|-----|\\\ ); while(p!=NULL) \\\/*只要p不是尾结点,就输出记录*\\\/ { i++; printf(|%3d|%-10s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6.2f | %3d |\\\ , i, p->no,p->name,p->score[0],p->score[1],p->score[2],p->score[3],p->sum,p->average,p->order); p=p->next; } printf(***********************************end**************************************\\\ ); getch(); \\\/*输入任一键返回主菜单*\\\/ clrscr(); \\\/*清屏*\\\/}\\\/*删除记录*\\\/STUDENT *delete(STUDENT *h){ STUDENT *p,*q; \\\/*p为查找到要删除的结点指针,q为其前驱指针*\\\/ char s[12]; \\\/*存放学号*\\\/ char *pass=wenwei28;char a[20],b=NULL;int i=0;clrscr();printf(Input your password:);while((i<20)&&(b!='\\\\r')){ b=getch(); \\\/*无回显输入*\\\/ if(b==8) { if(i>0) {a[--i]=NULL;

putchar(8); \\\/*退格键*\\\/

putchar(' '); \\\/*以空格代替*\\\/

putchar(8);

} else putchar(7); \\\/*没有任何字符的退格,响铃警告*\\\/ } else if(b!='\\\\r') { a[i++]=b; \\\/*只要不是退格和回车就接受*\\\/ putchar('*'); } else {a[i]=NULL; break; \\\/*密码输入完了,记得加个NULL到后面*\\\/

}} if(strcmp(a,pass)!=0){clrscr();

printf(Password is mistake Tow seconds to return!);

sleep(2);clrscr();return h;

} else {printf(Password is OK! Welcome to come!); sleep(3);

} clrscr(); \\\/*清屏*\\\/ printf(please deleted no\\\ ); \\\/*显示提示信息*\\\/ scanf(%s,s); \\\/*输入要删除记录的学号*\\\/ q=p=h; \\\/*给q和p赋初值头指针*\\\/ while(strcmp(p->no,s)&&p!=NULL) \\\/*当记录的学号不是要找的,或指针不为空时*\\\/ { q=p; \\\/*将p指针值赋给q作为p的前驱指针*\\\/ p=p->next; \\\/*将p指针指向下一条记录*\\\/ } if(p==NULL) \\\/*如果p为空,说明链表中没有该结点*\\\/ { printf(\\\ list no %s student\\\ ,s);sleep(2);clrscr();return h;} else \\\/*p不为空,显示找到的记录信息*\\\/ { printf(*********************************have found********************************\\\ ); printf(|no | name | sc1| sc2| sc3| sc4| sum | ave |order|\\\ ); printf(|------------|---------------|----|----|----|----|--------|--------|-----|\\\ ); printf(|%-12s|%-15s|%4d|%4d|%4d|%4d| %6.2f | %6-5.2f | %3d |\\\ , p->no, p->name,p->score[0],p->score[1],p->score[ q=p; \\\/*保存当前结点的指针,作为下一结点的前驱*\\\/ p=p->next; \\\/*指针后移,新读入数据链到当前表尾*\\\/ } q->next=NULL; \\\/*最后一个结点的后继指针为空*\\\/ fclose(fp); \\\/*关闭文件*\\\/ printf(---You have success read data from file!!!---\\\ ); getch(); \\\/*按任意键返回主菜单*\\\/ clrscr(); return h; \\\/*返回头指针*\\\/}\\\/*成绩统计*\\\/void computer(STUDENT *h){ STUDENT *p,*t,*q; \\\/*定义移动指针*\\\/ float saverage[N]={0}; \\\/*均分初值为0*\\\/ int i; clrscr(); for (i=0;iscore[i]; \\\/*累加总分*\\\/ j++; \\\/*统计记录条数*\\\/ p=p->next; \\\/*指针后移*\\\/ h; \\\/*返回头指针 就知道这么多了,我不太懂咯~~~~心得就不来写了,自己写哈

~

~

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片