ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:96.29KB ,
资源ID:6874007      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6874007.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c程序设计心得体会.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c程序设计心得体会.docx

1、c程序设计心得体会c程序设计心得体会D计制作系统软件。同时,c语言是一种较为通用的编程软件,在目前的软件行业中使用也是十分的广泛。虽然c语言是面向dos编程的,但它是计算机的底层编程工具之一。由c语言编写的程序,它的代码质量和运行速度仅次于汇编语言编写的程序,c语言具有简单易学和可移植性好等特点,同时又具有汇编语言的特点,具有较强的生命力和广泛的应用前景。 二、为什么要学习c语言程序设计? 随着计算机技术的深入发展,特别是微机的普及,越来越多的人在学习计算机知识以满足社会发展和自身的需要。 c语言不仅为计算机专业人员所使用和喜爱,近年来,许多计算机应用人员也开始喜爱和使用c语言。实践证明,它是

2、一种很好的程序设计语言。 三、在学习过程中所遇到的困难、及原因分析. (1)原因分析: 上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果没有深刻地理解c语言的语句的执行过程(或流程),是不会编写程序解决这些实际问题的。 用c语言编程解决实际问题,所需要的不仅仅是c语言的编程知识,还需要相关的专业知识。例如,如果 不知道长方形的面积公式,即使c语言学得再好也编不出求长方形的面积的程序来。 c语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好

3、c语言的。例如,大家都看过精彩自行车杂技表演,假如,我们从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路恐怕都不行。 (2)实践调试能力 原因分析:调试程序是一种实践性很强的事。即使再优秀的程序员编写程序时也会犯错误的,可能是最低级的语法错误,但他能快速发现错误并改正错误,而我们c语言初学者在面对错误提示时,是不知道发生了什么错误,如何改正,这就是差别。我个人认为可以试着按如下方法去做: 第一步、验证性练习 在这一步要求按照教材上的程序实例进行原样输入,运行一下程序 是否正确。在这一 基本掌握c语言编程软件的使用方法 第二步、照葫芦画瓢 在第一步输入的c程序的基

4、础上进行试验性的修改,运行一下程序看一看程序结果发了什么变化,分析结果变化的原因,加深所学知识点的理解。事实上这和第一步是同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。 还可以将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习c语言程序发生错误的原因和修改错误的能力。 注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,弄清发生错误的真正原因 。其次,上机调试程序时可以带一个笔记本,记下英文错误提示信息和解决该错误问题

5、的方法,积累程序调试经验,避免再编程时犯同样的错误。 第三步、自己试做类似问题 在这一步要求不看教材,即使程序不能运行,看自己能否将其改正过来,使其能正确运行。目的是对前两步的记忆、理解进一步强化。对比前两步,设计一些相同的问题,试着自己编程,然后调试,再逐渐扩大,增加程序行,添加一些辅助功能等等。 (3)综合能力 可以先做小程序,然后综合各个小程序,试着做一个稍大的程序,提高自己的综合运用能力。比如进行课程设计实训就是一种不错的选择,会对实际运用能力有较大提高,并且还会对所学知识进行加深、巩固理解。在实践的同时多思考问题,多看别人优秀的解题思路与方法,多看别人优秀的代码,尝试自己去实现或者模

6、仿着去实现,让别人对你的代码多提意见,探究别人的思维过程,增强自己的思维能力,拓展视野,经常看看自己以前写的东西,有空拿出来改良改良,我想每隔一段时间,都会有意想不到的收获。 四、课程的易错点及解决办法 c语言常见错误: c语言的最大特点是:功能强、使用方便灵活。c编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学c语言的人来说,经常会出一些连自己都不知道错在哪里的错误。看着有错的程序,不知该如何改起,以下是一些c编程时常犯的错误。 1.书写标识符时,忽略了大小写字母的区别。main() int a=5;

7、printf(%d,a);编译程序把a和a认为是两个不同的变量名,而显示出错信息。c认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。 2.忽略了变量的类型,进行了不合法的运算。main()float a,b; printf(%d,a%b);%是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。 3.将字符常量与字符串常量混淆。char c;c=a;在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。c规定以“0”作字符串结束标志,它是

8、由系统自动加上的,所以字符串“a”实际上包含两个字符:a和0,而把它赋给一个字符变量是不行的。 4.忽略了“=”与“=”的区别。在许多高级语言中,用“=”符号作为关系运算符“等于”。如在basic程序中可以写if (a=3) then ?但c语言中,“=”是赋值运算符,“=”是关系运算符。如:if (a=3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。 5.忘记加分号。分号是c语句中不可缺少的一部分,语句末尾必须有分号。a=1b=2编译时,编译程序在“a=1”后面没发现分号,就把下一行“b=2”也作为上一行语句的一部分

9、,这就会出现语法错误。改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。 z=x+y;t=z/100;printf(%f,t);对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和pascal不同的)。 6.多加分号。对于一个复合语句,如: z=x+y;t=z/100;printf(%f,t);复合语句的花括号后不应再加分号,否则将会画蛇添足。又如:if (a%3=0);i+;本是如果3整除a,则i加1。但由于if (a%3=0)后多加了分号,则if语句到此结束,程序将执行i+语句,不论3是否整除a,i都将自动加1。再如:for (i=0;i5;i+);s

10、canf(%d,x);printf(%d,x);本意是先后输入5个数,每输入一个数后再将它输出。由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个数并输出它。 7.输入变量时忘记加地址运算符“”。int a,b;scanf(%d%d,a,b); 这是不合法的。scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去。“a”指a在内存中的地址。 8.输入数据的方式与要求不符。scanf(%d%d,a,b);输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:3,4?输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。scanf(%d,%d,

11、a,b);c规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。下面输入是合法的:3,4?此时不用逗号而用空格或其它字符是不对的。3 4? 3:4?又如:scanf(a=%d,b=%d,a,b);输入应如以下形式:a=3,b=4? 9.输入字符的格式与要求不一致。在用“%c”格式输入字符时,“空格字符”和“转义字符”都作为有效字符输入。scanf(%c%c%c,c1,c2,c3);如输入a b c?字符“a”送给c1,字符“ ”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。 10.输入输出的数据

12、类型与所用格式说明符不一致。例如,a已定义为整型,b定义为实型a=3;b=4.5;printf(%f%dn,a,b);编译时不给出出错信息,但运行结果将与原意不符。这种错误尤其需要注意。 11.输入数据时,企图规定精度。scanf(%7.2f,a);这样做是不合法的,输入数据时不能规定精度。 12.switch语句中漏写break语句。例如:根据考试成绩的等级打印出百分制数段。switch(grade) case a:printf(85100n);case b:printf(7084n);case c:printf(6069n);case d:printf(60n);default:print

13、f(errorn);由于漏写了break语句,case只起标号的作用,而不起判断作用。因此,当grade值为a时,printf函数在执行完第一个语句后接着执行第二、三、四、五个printf函数语句。正确写法应在每个分支后再加上“break;”。例如case a:printf(85100n);break; 13.忽视了while和do-while语句在细节上的区别。 (1)main()int a=0,i;scanf(%d,i);while(i=10)a=a+i;i+;printf(%d,a);(2)main()int a=0,i;scanf(%d,i);doa=a+i;i+;while(i=10

14、);printf(%d,a);可以看到,当输入i的值小于或等于10时,二者得到的结果相同。而当i10时,二者结果就不同了。因为while循环是先判断后执行,而do-while循环是先执行后判断。对于大于10的数while循环一次也不执行循环体,而do-while语句则要执行一次循环体。 14.定义数组时误用变量。int n; scanf(%d,n);int an;数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。即c不允许对数组的大小作动态定义。【篇三:c语言编程课程设计心得】 河南城建学院 c语言程序设计课程设计报告 适用专业 工程管理专业 课程名称 指导教师 设计人:05140

15、9112 王田 2010年6月 一、设计目的和要求 1. 通过课程设计全面掌握c语言程序设计关键知识点,掌握c语言中数组、指针、结构体、文件等方面的基本知识。 2. 通过课程设计了解并掌握c语言程序设计的方法,熟悉c程序设计的开发环境及c程序的调试过程。 3. 培养查阅参考资料、手册的自学能力,通过独立思考深入钻研有关问题,学会自己分析、解决问题的方法。 二、内容与设计思想 1、系统功能描述 (1)编译时,主菜单为如下: (2)各项功能:0、输入记录:将所要记录的人的信息输入。 1、显示记录:将所输入的记录一一显示。 2、按姓名查找:从所记录中输入姓名查找其信息。 3、按电话号码查找:输入学生

16、的号码查找其信息。 4、插入记录:在所记录中插入需要记录的人的信息。 5、按姓名排序:对已有的记录按姓名第一个字母的 ascii码大小排列,并一一显示。6、删除记录:从记录中删除某学生的信息。 7、记录保存文件:对输入的学生的信息进行保存。 8、退出程序。 2、总体设计思想 运用所学知识编写一个简单的学生通讯录管理系统的程序,使它具有以下的功能:输入学生的学号,姓名,班级,电话号码,地址,显示学生记录,增加学生记录,按照学生姓名进行排序,删除学生记录,查找学生记录,保存学生记录。其主要结构用如下图示表示: 三、程序具体分析及操作时问题。 1、程序具体分析。 (1)文件名的使用:include

17、称为文件包含命令,被包含的文件通常是由系统提供的,其扩展名为.h .stdio为standard input output的缩写,意为“标准输入输出”. 代码中只要有用到printf scanf 等函数,头文件就要写 #includestdio.h 这个在代码中必不可少的,因为编写代码就是为了输出结果 ;用到像getch()这种键盘输入函数的话,就需要用到#include conio.h ;用到系统标准输出函数的话,就用到#include stdlib.h;用到字符数组就要用#inciudestring.h。 (2)指针使用:如file *fp、定义1个文件型指针变量,指针变量名字分别叫fp,

18、定义后fp是指向file类型结构体的指针。 可以使他指向某个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。 ? 指针是地址变量:它的值有两种:其一是地址,其二是内容。不同的表达方式可以取不同的值。 ? 指针是可以运算的,它的运算法则与变量是一致的。 (3)结构体:如struct linklist 定义结构体为linklist 。当结构体成员为指针的时候,每当给这个成员赋值之前必须先为这个结构体成员分配一个内存空间。 (4)字符数组的比较:如strcmp(studenti.name,name)=0 ,strcmp(studenti.phone,phone)=0,strcmp(

19、studenti.phone,phone)=null 都是用来比较输入的与原有的,当相等时即为0. (5)实现文件的打开和输入:除有scanf和printf以外还涉及到其他的,如fp=fopen(student.bin,wb)=null用fopen()函数来实现打开文件;fwrite(studenti,sizeof(struct record),1,fp)!=1 fwrite用于二进制的文件输入输出也用于读写记录 这里的记录是指一串固定长度的字节。 (6)c语言中的一些结构。如for (j=i;jnum-1;j+)对for语句正确分析,实现自增自减,并执行下一语句,实现变量的循环;switch

20、(menu_select() case 0:adduser();break; case 1:list();break; case 2:search();break; case 3:display();break; case 4:add();break; case 5:listbyname();break; case 6:dele();break; case 7:save();break; case 8:exit(0); 用来实现多分支选择语句;if语句的嵌套及与else连用;do.while的使用如do printf(n enter you choice(08):); scanf(%s,s); a=atoi(s);

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1