c语言两千字论文Word格式文档下载.docx
- 文档编号:17289349
- 上传时间:2022-11-30
- 格式:DOCX
- 页数:8
- 大小:25.23KB
c语言两千字论文Word格式文档下载.docx
《c语言两千字论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言两千字论文Word格式文档下载.docx(8页珍藏版)》请在冰豆网上搜索。
①上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。
所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决
问题的实际需要控制程序的流程,如果没有深刻地理解C语言的语句的执行过程(或流程),是不会编写程序解决这些实际问题的。
②用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。
例如,如果不知道长方形的面积公式,即使C语言学得再好也编不出求长方形的面积的程序来。
③C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。
例如,大家都看过精彩自行车杂技表演,假如,我们从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路恐怕都不行。
(2)实践调试能力
原因分析:
调试程序是一种实践性很强的事。
即使再优秀的程序员编写程序时也会犯错误的,可能是最低级的语法错误,但他能快速发现错误并改正错误,而我们C语言初学者在面对错误提示时,是不知道发生了什么错误,如何改正,这就是差别。
我个人认为可以试着按如下方法去做:
第一步、验证性练习
在这一步要求按照教材上的程序实例进行原样输入,运行一下程序
是否正确。
在这一
基本掌握C语言编程软件的使用方法
第二步、照葫芦画瓢
在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发了什么变化,分析结果变化的原因,加深所学知识点的理解。
事实上这和第一步是同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。
记忆和理解是相辅相成的,相互促进。
还可以将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。
这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。
注意:
每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,弄清发生错误的真正原因。
其次,上机调试程序时可以带一个笔记本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免再编程时犯同样的错误。
第三步、自己试做类似问题
在这一步要求不看教材,即使程序不能运行,看自己能否将其改正过来,使其能正确运行。
目的是对前两步的记忆、理解进一步强化。
对比前两步,设计一些相同的问题,试着自己编程,然后调试,再逐渐扩大,增加程序行,添加一些辅助功能等等。
(3)综合能力
可以先做小程序,然后综合各个小程序,试着做一个稍大的程序,提高自己的综合运用能力。
比如进行课程设计实训就是一种不错的选择,会对实际运用能力有较大提高,并且还
会对所学知识进行加深、巩固理解。
在实践的同时多思考问题,多看别人优秀的解题思路与方法,多看别人优秀的代码,尝试自己去实现或者模仿着去实现,让别人对你的代码多提意见,探究别人的思维过程,增强自己的思维能力,拓展视野,经常看看自己以前写的东西,有空拿出来改良改良,我想每隔一段时间,都会有意想不到的收获。
四、课程的易错点及解决办法
C语言常见错误:
C语言的最大特点是:
功能强、使用方便灵活。
C编译的程序对语法检查并不象其它高级语言那么严格,这就给编程人员留下“灵活的余地”,但还是由于这个灵活给程序的调试带来了许多不便,尤其对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误。
看着有错的程序,不知该如何改起,以下是一些C编程时常犯的错误。
1.书写标识符时,忽略了大小写字母的区别。
main(){inta=5;
printf(%d,A);
}编译程序把a和A认为是两个不同的变量名,而显示出错信息。
C认为大写字母和小写字母是两个不同的字符。
习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
2.忽略了变量的类型,进行了不合法的运算。
main(){floata,b;
printf(%d,a%b);
}%是求余运算,得到a/b的整余数。
整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。
3.将字符常量与字符串常量混淆。
charc;
c=a在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。
C规定以“\0”作字符串结束标志,它是由系统自动加上的,所以字符串“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”也作为上一行语句的一部分,这就会出现语法错误。
改错时,有时在被指出有错的一行中未发现错误,就需要看一下上一行是否漏掉了分号。
{z=x+y;
t=z/100;
printf(%f,t);
}对于复合语句来说,最后一个语句中最后的分号不能忽略不写(这是和PASCAL不同的)。
6.多加分号。
对于一个复合语句,如:
};
复合语句的花括号后不应再加分号,否则将会画蛇添足。
又如:
if(a%3==0);
I++;
本是如果3整除a,则I加1。
但由于if(a%3==0)后多加了分号,则if语句到此结束,程序将执行I++语句,不论3是否整除a,I都将自动加1。
再如:
for(I=0;
II++);
{scanf(%d,printf(%d,x);
}本意是先后输入5个数,每输入一
个数后再将它输出。
由于for()后多加了一个分号,使循环体变为空语句,此时只能输入一个数并输出它。
7.输入变量时忘记加地址运算符“”。
inta,b;
scanf(%d%d,a,b);
这是不合法的。
Scanf函数的作用是:
按照a、b在内存的地址将a、b的值存进去。
“a”指a在内存中的地址。
8.输入数据的方式与要求不符。
①scanf(%d%d,a,输入时,不能用逗号作两个数据间的分隔符,如下面输入不合法:
3,4输入数据时,在两个数据之间以一个或多个空格间隔,也可用回车键,跳格键tab。
②scanf(%d,%d,a,C规定:
如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。
下面输入是合法的:
3,4此时不用逗号而用空格或其它字符是不对的。
343:
4又如:
scanf(a=%d,b=%d,a,输入应如以下形式:
a=3,b=4
9.输入字符的格式与要求不一致。
在用“%c”格式输入字符时,“空格字符”和“转义字符”都作为有效字符输入。
scanf(%c%c%c,c1,c2,c3);
如输入abc字符“a”送给c1,字符“”送给c2,字符“b”送给c3,因为%c只要求读入一个字符,后面不需要用空格作为两个字符的间隔。
10.输入输出的数据类型与所用格式说明符不一致。
例如,a已定义为整型,b定义为实型a=3;
b=4.5;
printf(%f%d\n,a,b);
编译时不给出出错信息,但运行结果将与原意不符。
这种错误尤其需要注意。
11.输入数据时,企图规定精度。
scanf(%7.2f,这样做是不合法的,输入数据时不能规定精度。
12.switch语句中漏写break语句。
例如:
根据考试成绩的等级打印出百分制数段。
switch(grade){case’A’:
printf(85~100\ncase’B’:
printf(70~84\ncase’C’:
printf(60~69\ncase’D’:
printf(60\ndefault:
printf(error\n由于漏写了break语句,case只起标号的作用,而不起判断作用。
因此,当grade值为A时,printf函数在执行完第一个语句后接着执行第二、三、四、五个printf函数语句。
正确写法应在每个分支后再加上“break;
”。
例如case’A’:
printf(85~100\nbreak;
13.忽视了while和do-while语句在细节上的区别。
(1)main(){inta=0,I;
scanf(%d,while(I=10){a=a+I;
}printf(%d,a);
}
(2)main(){inta=0,I;
scanf(%d,do{a=a+I;
}while(I=10);
printf(%d,a);
}可以看到,当输入I的值小于或等于10时,二者得到的结果相同。
而当I10时,二者结果就不同了。
因为while循环是先判断后执行,而do-while循环是先执行后判断。
对于大于10的数while循环一次也不执行循环体,而do-while语句则要执行一次循环体。
14.定义数组时误用变量。
intn;
scanf(%d,inta[n];
数组名后用方括号括起来的是常量表达式,可以包括常量和符号常量。
即C不允许对数组的大小作动态定义。
篇二:
C语言论文
C语言程序设计课程设计报告
一、讨论阶段
二、查找资料阶段
三、编写程序阶段
四、组织制作PPT
在准备编写程序阶段,我们小组成员集中讨论程序的主题——可以启发思维的益智小游戏集合,并就主题开始发散组员思维,做好分工工作。
讨论结束后,我到图书馆借书查资料,上网搜索相关资料。
策划程序阶段,我负责到图书馆和在网上查阅相关资料,然后和组员讨论确定要编写的程序,我主要负责查找几个程序符合我们要求的程序实例,然后再由其他组员去进行运行检验,调试。
程序的编写,主要按照既定的主题,编写一个大程序把一些小程序串连起来,不断地进行检验调试,直到达到理想的效果为止。
我们一共选择了五个小程序,分别是“卖西瓜”、“打渔晒网问题”、“巧分苹果”、“魔术师的秘密”、“判断坏球”
①“卖西瓜”程序背景:
一个农户在市集上卖西瓜,他一共有1020个西瓜,第一天卖掉一半多两个,第二天卖掉剩下的一半多两个,问照此规律卖下去,该农户几天能将所有的西瓜卖完。
技术要点:
本程序X1为西瓜的总数,每天西瓜的总数都按同一规律变化即前一天西瓜数的一半再减2,用while循环来实现每天的变化,那么循环结束条件是什么呢?
这里采用西瓜的总数作为循环结束条件,编程实现。
②“打渔晒网问题”程序背景:
如果渔夫从2021年1月1日开始每天打三次鱼晒一次网,编程实现当输入2021年1月1日以后的任意一天,输出该渔夫是在打鱼还是在晒网?
本程序要求的功能主要有以下两个技术要点。
一、判断输入的两份(2021年以后包括2021年)是否是闰年,这里我们自
定义函数leap来进行判断。
该函数的核心内容就是闰年,的判断条件即能被4整除,或能被400整除。
二、如何求输入日期距2021年1月1日有多少天。
首先是判断2021年距输入的年份间有多少年,这是闰年就加多少个366有多少年是平年也同样加多少个365,其次是要将12个月每月的天数存到数组中,因为闰年2月份的天数有别于平年,故采用两个数组a和b分别储存。
当输入年份是平年,月份为的时候就在前面累加的日期的基础上继续累加储存着平年每月天数的数组的前个元素,将累加的结果加上输入的日期便求出了最终结果,闰年的算法类似。
③巧分苹果程序背景:
一农户把2520个苹果不均匀地分给6个儿子,父
亲说:
“老大,你把你分到的1/8给老二,老二把分到的1/7给老三,老三把分到的1/6给老四,老四把分到的1/5给老五,老五把分到的1/4给老六,最后问他们原来分到苹果各是多少?
要解决本程序,要分析其中的规律,得出各个人等到苹果的数量关系,列出关系式,在进行编程。
④“魔术师的秘密”程序背景:
在一次晚会上,一位魔术师掏出一叠扑克牌,取出13张黑桃,预先洗好后,把牌面朝下,对观众说“我不看牌,只是数一数就知道每张牌是什么。
”魔术师口中念1,将第一张牌翻面正好是A。
魔术师将A放到桌子上。
第二次数1,2,拿了两张牌,将第一张牌放到手中牌的下面。
将第二张牌翻开,正好是黑桃2,也将它放在桌子上。
。
第三次数1,2,3,拿了三张牌。
将前面两张牌放在手中牌的下面。
取出第三张,正好是黑桃3。
依次这样将13张牌翻出,准确无误。
现在问题是,魔术师手中的牌原始顺序是怎么样的呢?
解决本程序关键在于如何将人工推导扑克牌房子顺序的方法用计算机编程模拟出来。
魔术师的秘密,解决本程序关键在于如何将人工推导扑克牌房子顺序的方法用计算机编程模拟出来。
⑤“判断坏球”程序背景:
现在有8只外表、颜色、大小均相同的小球,这8只球中有一个是坏球,但不知这个坏球是中还是轻,给出一天平,要求进行三次称重称出坏球,并知道其实轻还是重。
判断坏球要分析:
第一次称重,将1~4号球放在天平的左端,将5~8号球放在天平的右端,此时进行判断,这时判断结果有两种情况。
进行第二次称重时,同样也分三中情况。
比较分析两次称重左右边较重的一边。
当不是上述两种情况则说明坏球在3,7,8中,按照上述第三种称重方法便可判断出坏球机器轻重。
组织制作PPT,将制作程序的过程,点点滴滴制作成
PPT,现场讲解我
篇三:
计12-1雷峰津12101020214
猜数字游戏报告
C语言是一种计算机程序设计语言。
它既有高级语言的特点,又具有汇编语言的特点。
它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。
因此,它的应用范围广泛。
C语言是结构式语言。
而结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。
这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
C语言在很多方面都可以用,不仅仅是在软件开发上,各类科研都是需要用到C语言的。
我所学的机器硬件课程中也有关于C语言的具体应用,通过与相关的机器语言转化可以控制硬件系统。
C语言发展如此迅速,而且成为最受欢迎的语言之一,主要因为它具有强大的功能。
许多著名的系统软件,如DBASEⅢPLUS、DBASEⅣ都是由C语言编写的。
用C语言加上一些汇编语言子程序,就更能显示C语言的优势了,像PC-DOS、WORDSTAR等就是用这种方法编写的。
本程序就是设计一个猜数字游戏的程序,这个程序凸显了c语言中Random()函数的好处,通过系统不断给游戏者的提示,你可以猜出正确的数字。
充分体现了程序的随机性,而不是在程序中事先给出,更具有游戏性。
猜数字游戏虽然规则很简单,但通过这个游戏却可以考验人的严谨和耐心。
没有足够的耐心和严谨的态度是无法完成这个游戏的。
能很好的锻炼我们的耐性。
猜数游戏是一个非常流行的益智类游戏,它不仅能娱乐,还能在娱乐中锻炼人的反应能力、逻辑思维能力,是一款寓教于乐的小游戏。
其原理是对于随机给出的一个三位数,各位上的数字不重复,从0到9,输入三位数,按1或2提示进行猜数,其中1代表你本次猜对了相应的数字,但是位置不正确,2代表你本次猜对了数字并且位置也正确。
本次设计主要运用
了循环、数组、随机数函数等,随机数的产生与存储,两个数的比较,以及对比较结果的判断。
如果你玩过猜数字你应该知道,这个游戏是随机给出三位0至9(包括0和9)之间的数字,然后让你猜是什么数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案。
最终通过难度和时间来得出积分以分出胜负。
本次游戏设计主要运用了循环、数组、随机数等语句。
开始运用了随机数的出现,实现了随机的3位数出现,而且运用了For循环和While循环、Break语句,实现了数字重复出现。
我设计此款游戏的大概轮廓主要分三步。
第一步,随机数的产生。
我们可以借助c提供的Random()函数来产生一个三位随机数,每一位都不相同,产生的随机数用数组保存起来。
第二步,拆分数字。
将三位不同的数进行拆分,每一位都与用户输入的数字进行比较,如果错误系统给出提示错误,继续猜数,如果用户猜对了其中的一位,标记出这一位数的相关信息,其中包括数字和位置都是否正确,以便准确猜出正确的三位数字。
第三步,退出。
如果用户猜错,系统会提示错误,并且继续猜数,直到猜对为止。
如果用户猜对了这三位数,系统会告诉用户获得胜利,并且再结果显示5秒后返回到程序编辑窗口。
这个游戏的主要操作分三步。
第一步,系统随机产生一位不重复的N(N为3)位数字。
第二步,游戏者输入所猜的不重复数字,并按回车提交。
提交的数据数应与N的大小一致,当数据位数不是N位时,系统返回错误信息。
第三步,系统将提交的数与它自动产生的数进行比较,输出结果有这么几种情况一种情况是数字的某一位正确返回“1”,另一种情况是数字正确但位置不正确。
系统返回“2”,以上两种情况都没有(也就是用户输入的数顺序和数字都不对)返回“0”最后,通过提示输入的数字正确相应位置也正确,系统返回“youwin!
猜数字游戏的设计看似简单,却需要能对C语言知识进行灵活应用。
尤其是循环语句和数组要进行大量的应用。
首先,C语言课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识,再次,我在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料,通过自己钻研,当然,
通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在C语言编程这方面有一个大的发展。
通过这个游戏的设计,我对C语言这门课程有了更深一步的了解。
它是计算机程序设计的重要理论技术基础,在我们计算机专业的学习中占据着十分重要的地位。
同时也使我知道,要学好这门课程,仅学习书本上的知识是不够的,还要有较强的实践能力。
因为我们学习知识就是为了实践。
而只有多实践,多编写程序,才能更好的理解与掌握书本上的东西。
运用C语言中的算法思想编写一个通讯录管理系统。
通过完成本课题,进一步熟悉C语言的基本知识,并掌握数据结构的一些基本算法思想,掌握C语言的文件操作(包括从磁盘读入和向磁盘写入内容),进一步熟悉指针的用法,数组的建立运用和函数的调用等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 千字 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)